Commit Graph

36 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
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
30c38b554a Add symlinks that were missed out from r12500 due to last-minute SVN
snafus.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12501
2012-04-12 17:35:15 +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
ddd692389a Change this file to be a symlink to the identical version
in the 32-bit equivalent directory
(none/tests/ppc32/test_isa_2_06_part1.c).  Bug #277199.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11909
2011-07-24 14:35:58 +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
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
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
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
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
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
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
5705548dab Add test for tw and td instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6796
2007-09-01 23:16:49 +00:00
Julian Seward
3235d88de8 Add a test for vex ppc64 code generation bug fixed by vex r1739
(When generating 64-bit code, ensure that any addresses used in 4 or 8
byte loads or stores of the form reg+imm have the lowest 2 bits of imm
set to zero, so that they can safely be used in ld/ldu/lda/std/stdu
instructions.)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6645
2007-03-12 02:10:23 +00:00
Julian Seward
b04ec6cb28 Update expected output following r6447 (Test lvxl and stvxl.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@6453
2006-12-28 06:52:27 +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
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
1e0aac8d52 Check lsw/stsw insns in 64-bit mode.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5599
2006-01-28 17:08:23 +00:00
Julian Seward
32f134b8c1 Somewhat rehash the biarch-build machinery so as to (1) formalise the
distinction between primary and secondary build targets, and (2) make
it independent of the default behaviour of gcc (iow, what gcc does
when you specify neither -m32 nor -m64).

As a result, an out-of-the-box build on ppc64-linux now builds a
system which is basically for 64-bit PowerPC, but also has the ability
to run 32-bit ppc-linux binaries (exactly the same arrangement as you
get when building on amd64-linux).

There are various twists and turns.  multiple-architectures.txt is
updated all the gory details.

This will break amd64 builds until such time as
<tool>/tests/{amd64,x86}/Makefile.am are fixed up (shortly).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5493
2006-01-04 01:20:28 +00:00
Cerion Armour-Brown
c78dccc555 Add ppc64 int,fp,vmx regtest: jm-insns
(test code is a symlink to ppc32/jm-insns.c)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5488
2006-01-03 14:08:26 +00:00
Julian Seward
f75620d58a Add directories missed in r5250 (ppc64 first checkin).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5251
2005-11-29 13:53:48 +00:00