Commit Graph

83 Commits

Author SHA1 Message Date
Philippe Waroquiers
831cddf0a1 fix 303127 Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions
The frsqrte and vrefp instructions produce an approximate result.
According to the ISA document for the POWER processor, the result will
vary in its precision for different processor implementations.  This patch
fixes the masks to be applied to the results to remove the variability
in the results.  The expected output files are also updated to reflect the
change in the result given the new masking of the result.

patch from Carl Love <cel@us.ibm.com>



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12720
2012-07-06 22:52:09 +00:00
Philippe Waroquiers
2254b8ab60 fix 303116 - Add support for the POWER instruction popcntb (Valgrind side)
patch from carll@us.ibm.com


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12719
2012-07-06 21:59:03 +00:00
Philippe Waroquiers
4160fb96ff fix 302918 Enable testing of the vmaddfp and vnsubfp instructions in the testsuite
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12718
2012-07-06 21:42:14 +00:00
Bart Van Assche
8235b63124 Fix compiler warnings for ppc test cases. Patch from Carl Love (carll@us.ibm.com). See also #302205.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12663
2012-06-23 11:04:01 +00:00
Julian Seward
ccf880a48c POWER Processor decimal FP support, part 5. (Valgrind side). Bug #299694.
(Carl Love, carll@us.ibm.com and Maynard Johnson, maynardj@us.ibm.com)

This patch adds support for Power Decimal Floating Point (DFP) . This
is the fifth patch set in the series of five to add the DFP
instruction support to Valgrind.  Adds support for the ddedpd,
ddedpdq, denbcd, denbcdq, dtstsf, and dtstsfq instructions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12603
2012-06-02 23:48:06 +00:00
Julian Seward
52df50db1b Add DFP test cases that accidentally missed in r12546.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12547
2012-05-01 19:51:07 +00:00
Julian Seward
6e0e5e15c5 Test cases for POWER Power Decimal Floating Point (DFP) test class,
test group and test exponent instructions dtstdc, dtstdcq, dtstdg,
dtstdgq, dtstex and dtstexq.  Bug #298862.  (Carl Love,
carll@us.ibm.com and Maynard Johnson, maynardj@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12546
2012-04-29 20:20:16 +00:00
Julian Seward
72eb6b7a7e POWER Processor decimal floating point instruction support, part 3 --
test cases.  (Carl Love, carll@us.ibm.com).  Bug 298080.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12541
2012-04-23 11:22:05 +00:00
Julian Seward
9c1af9b09a POWER Processor decimal floating point instruction support: part 2
(bug #297497) (Carl Love, carll@us.ibm.com) (Valgrind side, mostly
tests)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12500
2012-04-12 17:28:57 +00:00
Julian Seward
d2ca761361 Initial support for POWER Processor decimal floating point
instruction support -- VEX side changes.  See #295221.

This patch adds test cases.  Also adds some minor Memcheck
instrumentation tweaks necessitated by the IR changes.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12476
2012-04-02 10:22:05 +00:00
Philippe Waroquiers
c523185b76 fix 286270 VG_(env_remove_valgrind_env_stuff)
rev 12001 has introduced a regression in VG_(env_remove_valgrind_env_stuff):
to avoid modifying a possibly read-only env string, the string is duplicated,
and the copy is modified. However, mash_env_column modifies the string
"in-place". The modified string was not put back in the env (and could not,
because the src string is only partially copied).

This means that the valgrind preload strings were not cleaned up and
when a 32 bit executable execs a 64 bits (or vice versa: 64 bit execs 32 bits),
LD_PRELOAD contains both the 32 bits and 64 bits versions of Valgrind
vgpreload.... => ld.so then gives an error msg, as it can't preload either
the 32 or the 64 bits version.


The patch fixes this by duplicating the whole env string, and passing
to mash_colon_env a pointer to the correct offset in the whole env string.
The duplicated string is replacing the original entry in envp.

This patch adds two regression tests : none/tests/allexec32 and 
none/tests/allexec64. On a bi-arch valgrind, these will be 32bits and 64 bits
executables, exec-ing each other. On a single arch, one will be a symlink
to the other (to avoid different .exp files, and still test exec).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12287
2011-12-11 16:29:43 +00:00
Julian Seward
f297abe29d Add support for IBM Power ISA 2.06 -- stage 3 -- Test cases.
Bug 279994 comment 2).
(Maynard Johnson, maynardj@us.ibm.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12007
2011-09-05 12:15:16 +00:00
Julian Seward
e1e9809117 Add support for IBM Power ISA 2.06 -- stage 2 (testcases).
Bug 276784.  (Maynard Johnson, maynardj@us.ibm.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11908
2011-07-24 14:20:11 +00:00
Julian Seward
b852d4ed5a Enable testing of fres{.} and frsqrt{.} instructions. Fixes #275308.
Based on a patch by Maynard Johnson <maynardj@us.ibm.com>.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11857
2011-07-05 10:20:44 +00:00
Julian Seward
62c800bccb Fix bogus asm constraints in jm-insns.c. Fixes #263919.
(Maynard Johnson, maynardj@us.ibm.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11712
2011-04-27 11:33:44 +00:00
Julian Seward
63eda9ca5a Add alternative expected output cases for more recent glibcs (eg,
2.12), which print a minus sign for NaNs.  Fixes #262989.
(Maynard Johnson, maynardj@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11711
2011-04-27 11:11:22 +00:00
Julian Seward
3a444148fd Fix a bunch of printf format-string warnings when compiling this "-m64".
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11710
2011-04-27 08:09:37 +00:00
Julian Seward
8dd8315914 Add support for IBM Power ISA 2.06 -- stage 1. Valgrind-side changes
and test cases. Bug #267630 and followup fix #270794.
(Maynard Johnson, maynardj@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11697
2011-04-15 11:57:05 +00:00
Julian Seward
d880862194 Fix broken inline assembly preventing compilation on RHEL6.
Fixes #256703.  (Jakub Jelinek, jakub@redhat.com)


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11670
2011-03-28 09:12:55 +00:00
Bart Van Assche
6888d60d53 none/tests/ppc*/jm-insns.c: Minor simplification.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11425
2010-10-11 07:04:07 +00:00
Bart Van Assche
e6ad90d0da ppc/jm-insns.c: Use proper integer types.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11401
2010-10-06 16:13:17 +00:00
Bart Van Assche
3dac272dff Made power6_bcmp testcases pass - patch from Maynard Johnson. Closes #250777.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11359
2010-09-18 08:10:28 +00:00
Bart Van Assche
235c2a8df3 PowerPC, Altivec: avoid using typedefs in combination with the vector keyword.
Patch by Maynard Johnson (see also #247526).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11358
2010-09-14 15:33:00 +00:00
Julian Seward
73edb48d85 Add missing (empty) stdout.exp files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11350
2010-09-10 13:56:53 +00:00
Julian Seward
9287d802b4 Add tests for new PowerISA_2.05 instructions available on Power6 CPUs.
(Maynard Johnson, maynardj@us.ibm.com and Pete Eberlein, eberlein@us.ibm.com)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11338
2010-09-03 23:49:33 +00:00
Julian Seward
0e2859069e Followup to r11333: rename HAVE_ALTIVEC back to HAS_ALTIVEC, since the
symbol is used in more places than those addressed by r11333.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11335
2010-09-03 14:36:50 +00:00
Julian Seward
d48f01beea Un-break feature detection for Altivec, so that the Altivec tests
get built properly.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11333
2010-09-03 14:02:22 +00:00
Nicholas Nethercote
b05a2a18d7 This commit merges the BUILD_TWEAKS branch onto the trunk. It has the
following improvements:

- Arch/OS/platform-specific files are now included/excluded via the
  preprocessor, rather than via the build system.  This is more consistent
  (we use the pre-processor for small arch/OS/platform-specific chunks
  within files) and makes the build system much simpler, as the sources for
  all programs are the same on all platforms.

- Vast amounts of cut+paste Makefile.am code has been factored out.  If a
  new platform is implemented, you need to add 11 extra Makefile.am lines.
  Previously it was over 100 lines.

- Vex has been autotoolised.  Dependency checking now works in Vex (no more
  incomplete builds).  Parallel builds now also work.  --with-vex no longer
  works;  it's little use and a pain to support.  VEX/Makefile is still in
  the Vex repository and gets overwritten at configure-time;  it should
  probably be renamed Makefile-gcc to avoid possible problems, such as
  accidentally committing a generated Makefile.  There's a bunch of hacky
  copying to deal with the fact that autotools don't handle same-named files
  in different directories.  Julian plans to rename the files to avoid this
  problem.

- Various small Makefile.am things have been made more standard automake
  style, eg. the use of pkginclude/pkglib prefixes instead of rolling our
  own.

- The existing five top-level Makefile.am include files have been
  consolidated into three.

- Most Makefile.am files now are structured more clearly, with comment
  headers separating sections, declarations relating to the same things next
  to each other, better spacing and layout, etc.

- Removed the unused exp-ptrcheck/tests/x86 directory.

- Renamed some XML files.

- Factored out some duplicated dSYM handling code.

- Split auxprogs/ into auxprogs/ and mpi/, which allowed the resulting
  Makefile.am files to be much more standard.

- Cleaned up m_coredump by merging a bunch of files that had been
  overzealously separated.

The net result is 630 fewer lines of Makefile.am code, or 897 if you exclude
the added Makefile.vex.am, or 997 once the hacky file copying for Vex is
removed.  And the build system is much simpler.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10364
2009-06-24 00:37:09 +00:00
Nicholas Nethercote
32bd1a00c2 Merge r9610 (AM_CCASFLAGS tweaks for test Makefiles) from the DARWIN branch.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9611
2009-04-24 20:17:07 +00:00
Nicholas Nethercote
e91540cc58 Merged r9596 (build system tweaks, minus the Darwin bits) from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9598
2009-04-24 04:12:28 +00:00
Nicholas Nethercote
f3f801ed48 Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9537
2009-04-15 03:12:43 +00:00
Nicholas Nethercote
c8d150dbaa Various build system clean-ups and simplifications:
- Created Makefile.tool-tests.am, put standard AM_CFLAGS et al for tests in
  it.
- A number of tests are shared between Helgrind and DRD.  They used to be
  built in both directories.  Now they are only built in helgrind/tests/,
  and the DRD .vgtest files just point to the executable in helgrind/tests/.
  Most of these (about 30) had the source files in helgrind/tests/;  I moved
  the three that were in drd/tests/ into helgrind/tests/ for consistency.
- Fixed rwlock_test, which was failing to run due to a wrong name in the
  .vgtest file.
- Removed remnants of unused 'hello' test for Memcheck.
- Avoided redundant flag specification in various places, esp.
  memcheck/tests/Makefile.am.
- Removed unnecessary _AIX guards in some Linux-only tests.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9202
2009-02-19 09:52:05 +00:00
Julian Seward
335992d8fc Merge all remaining changes from branches/PTRCHECK. These are some
relatively minor extensions to m_debuginfo, a major overhaul of
m_debuginfo/readdwarf3.c to get its space usage under control, and
changes throughout the system to enable heap-use profiling.

The majority of the merged changes were committed into
branches/PTRCHECK as the following revs: 8591 8595 8598 8599 8601 and
8161.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8621
2008-09-18 18:12:50 +00:00
Bart Van Assche
c1a3645bf9 #define HAS_ALTIVEC is now fetched from config.h instead of from Makefile.am.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8128
2008-05-25 16:43:15 +00:00
Julian Seward
e637050b55 Add test for tw instruction.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6797
2007-09-01 23:22:39 +00:00
Julian Seward
d3f2db6a1e Add regtest for bug129390 (altivec cache hint insns)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6450
2006-12-28 00:16:51 +00:00
Julian Seward
422b2114e1 Test lvxl and stvxl.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6447
2006-12-27 21:22:18 +00:00
Julian Seward
a4ea1c55ae Add regtest for #139050.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6446
2006-12-27 18:40:47 +00:00
Julian Seward
e9b8a2cd36 64-bit followup to r6404: fix and simplify the inline assembly, so it
works right when compiled by gcc-4.1.0.  Also add a new flag, -A, to
test all available instructions.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6405
2006-12-16 14:25:04 +00:00
Julian Seward
6a8ac7c1e9 Fix and simplify the inline assembly, so it works right when compiled
by gcc-4.1.0.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6404
2006-12-16 05:00:38 +00:00
Julian Seward
af6f018e5e A a test for the 'mcrfs' insn.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6173
2006-10-04 18:01:05 +00:00
Julian Seward
93ee683509 Tests for 16/32 bit byte reversed loads and stores.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5887
2006-05-08 12:08:49 +00:00
Julian Seward
e890d00574 Build fixes for gcc-3.3.3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5858
2006-04-19 09:30:33 +00:00
Julian Seward
99fc969469 Regression test cases for FP rounding modes on ppc32 and ppc64.
(Dave Nomura).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5853
2006-04-16 00:13:22 +00:00
Julian Seward
090c5bd0e4 Work around lameness in older ppc assemblers.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5757
2006-03-12 16:47:10 +00:00
Julian Seward
b57adab44f A simple test of m{f,t}ocrf.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5705
2006-03-01 22:36:49 +00:00
Julian Seward
707bc50061 Add regression tests for the twi and tdi instructions, and also for
consequent SIGTRAP handling.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5618
2006-02-07 20:58:12 +00:00
Julian Seward
f553d268a7 Regtest for a double -> unsigned int conversion that xlc generates
inline, which requires observing rounding modes properly for fadd.
 


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5612
2006-02-06 04:20:51 +00:00
Julian Seward
b63b719779 Bring these tests into operation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5602
2006-01-29 18:18:18 +00:00
Julian Seward
bb023d7227 Add test cases for soem FX (general-purpose) and GX (graphics) optional insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5601
2006-01-29 17:08:58 +00:00