Commit Graph

36 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
857aaf871f Added fp regtest
- needed some hackery to get around VEX's loss of accuracy.

------------------------------
Added test for fsqrt (fp square root)

Enabled stfs(u)(x) (fp single-precision stores)
 - VEX implementation not great: ends up rounding twice, losing
accuracy, but is good enough for this test's small fp argument array.

Changed fp arg setup
 - no denormals (for VEX inaccuracy)

All fp tests
 - don't print CR, XER flags, as VEX doesn't set them.

3 arg fp arith tests (fp 'multiply and add' etc)
 - no 'special' fp vals (for VEX inaccuracy)
 - zap lo byte (for VEX inaccuracy)

fctiw, fctiwz (fp convert to int)
 - zap high 32bits of result (is undefined)




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5344
2005-12-14 22:24:45 +00:00
Cerion Armour-Brown
8cbc827d9f Changed jm_insns.c usage to use one of flags 'i|f|a' to run int|fp|av insns respectively.
Removed integer test insns for jm-vmx.vgtest - already tested in jm-int.vgtest



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5343
2005-12-14 17:59:35 +00:00
Julian Seward
0a8fac913f Fix build system bug causing omission of some ppc32 test files from
the tarball.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5230
2005-11-23 03:42:57 +00:00
Julian Seward
ef709a53fc Another Altivec test program.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5078
2005-11-11 02:35:41 +00:00
Julian Seward
3dbed54455 Add instruction-set tests for ppc32 (integer, FP, altivec).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5075
2005-11-10 19:33:56 +00:00
Nicholas Nethercote
de82f7dc42 Remove unnecessary filter_* files for ppc32.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4630
2005-09-13 00:49:49 +00:00
Julian Seward
3fd2054ee1 Add a test for {l,st}sw{s,i}. At the moment only works when the program is
compiled -O due to inline assembly problems, and so it fails in a standard
'make regtest'.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4613
2005-09-09 11:33:25 +00:00
Cerion Armour-Brown
d5f7c8aed3 Finally, valgrind on ppc32.
Plenty still to do, but simple programs like ls seem to run ok

Thanks, Paul, for having your ppc port of valgrind 2.4 to work from!




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3969
2005-06-20 15:51:07 +00:00