350 Commits

Author SHA1 Message Date
Julian Seward
f9a9e03c7a Merge in function wrapping support from the FNWRAP branch. That
branch hereby becomes inactive.  This currently breaks everything
except x86; fixes for amd64/ppc32 to follow.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5520
2006-01-12 12:32:32 +00:00
Julian Seward
dd3b4bf6f2 amd64-linux adjustments as a followup to r5493.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5494
2006-01-04 02:55:03 +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
Cerion Armour-Brown
b32e339da9 Update ppc32 jm-insns regtest to test ppc64 insns, if built with -m64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5487
2006-01-03 12:55:40 +00:00
Cerion Armour-Brown
20be45ceb6 regtest none::ppc32
- More cleanup
 - Fixed rlwimi test - init r_dst to zero.
 - Fixed load/store tests - print change in updated base reg, not actual value.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5486
2006-01-03 11:47:38 +00:00
Cerion Armour-Brown
13850c9bb3 Tidy up ppc32 jm-insns test some more.
In particular, hide the function pointer setup stuff, for the test loops, in init_function()



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5428
2005-12-24 12:55:48 +00:00
Cerion Armour-Brown
6f80dd0391 Tidied up jm-insns.c test a little.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5417
2005-12-23 01:16:16 +00:00
Nicholas Nethercote
3866282110 Remove all remaining profiling gunk.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5388
2005-12-19 22:48:39 +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
Donna Robinson
9888e86b06 Tidying up stuff re generating manpage from *.xml docs
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5277
2005-12-03 23:02:33 +00:00
Cerion Armour-Brown
ec8b19bd6a Added explanation of insn patching used in ppc32 test jm-insns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5272
2005-12-02 19:30:27 +00:00
Cerion Armour-Brown
3d699706f0 Added tests for ppc32 floating point load/stores
- not yet set to run in automated test.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5267
2005-12-02 15:55:27 +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
Julian Seward
8ba9a34088 Add framework for ppc64 support. Apologies in advance for the
inevitable breakage to other platforms.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5250
2005-11-29 13:05:56 +00:00
Cerion Armour-Brown
578d3fb039 Stop gcc4 complaints re ppc32 test - Moved all declarations in front of statements.
Based on patch from Yao Qi <qiyaoltc@cn.ibm.com>.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5247
2005-11-29 11:08:33 +00:00
Nicholas Nethercote
7dd31f0c6f Disable 'yield' -- it fails so often that it's useless.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5241
2005-11-27 19:11:34 +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
1f3445bab2 Don't test division by zero; 7400 doesn't do what 970/7447 do.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5214
2005-11-19 22:14:45 +00:00
Julian Seward
6678327fb1 Update expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5213
2005-11-19 20:59:17 +00:00
Julian Seward
c6510134ac Another m{t,f}{xer,lr,ctr} simplification.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5212
2005-11-19 20:54:57 +00:00
Julian Seward
02e519d15e Test m{t,f}{xer,lr,ctr} in a simpler way.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5211
2005-11-19 20:39:16 +00:00
Julian Seward
51020ef2a0 If we're doing an estimation operation, arrange to zap the bottom byte
of the result as it's basically garbage, and differs between cpus.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5210
2005-11-19 19:42:31 +00:00
Julian Seward
775d0181c9 Update expected output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5209
2005-11-19 19:31:56 +00:00
Julian Seward
45f1bf58b6 Fix up the test program so it behaves the same on different CPUs (when run
natively):

- register_vfarg: stuff bits directly into vector, don't go via float
  as that screws up NaNs somehow on MPC7447

- test_av_int_ld_two_regs: lve{b,h,w}x: mask off bits of the result 
  register which are undefined after the load

- test_av_int_st_three_regs: fix result vector size



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5208
2005-11-19 19:27:06 +00:00
Julian Seward
e910fb7103 Fix this so that it compiles with gcc4 by writing the test fns
completely in assembly (for those that require literals to be
changed).



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5207
2005-11-19 15:31:13 +00:00
Julian Seward
34223837ae Add a few missing regtest outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5203
2005-11-19 01:32:17 +00:00
Cerion Armour-Brown
0f776af6d2 Changed altivec floating point setup to Java/IEEE mode
- Non-Java mode is the system default, but was causing some accuracy problems by rounding off intermediate denormalised results to zero.
   We now have some small errors (lowest bit only) due to using greater accuracy than the system default, but is better overall.

Also expanded dispatcher check of FPSCR to include all contol bits




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5196
2005-11-18 20:45:18 +00:00
Tom Hughes
0559acb82e Last of the __libc_start_main fixes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5188
2005-11-18 09:39:09 +00:00
Tom Hughes
5535cc1ef2 More __libc_start_main updates.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5184
2005-11-18 09:23:28 +00:00
Cerion Armour-Brown
c6477a38e4 Added tests for latest altivec fp insns
Fixed fp nan argument values
Fixed setting of non-java bit in VSCR to be on for all cases.




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5151
2005-11-16 18:58:26 +00:00
Cerion Armour-Brown
3d26054981 Added tests for altivec load/stores
Enabled altivec float tests



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5122
2005-11-14 12:15:27 +00:00
Cerion Armour-Brown
8df389ab21 comment out altivec tests for unsupported insns
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5120
2005-11-14 02:43:09 +00:00
Nicholas Nethercote
0947378009 Don't imply that the --tool option is mandatory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5100
2005-11-12 18:53:50 +00:00
Nicholas Nethercote
9d374f4530 Rename --simulation-hints as --sim-hints for brevity.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5099
2005-11-12 18:21:40 +00:00
Tom Hughes
8eab4a6d08 Use the amd64 tests on amd64 not the x86 ones...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5097
2005-11-12 15:51:31 +00:00
Tom Hughes
8abba99aa0 Run instruction tests under memcheck as well as none.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5094
2005-11-12 15:46:17 +00:00
Tom Hughes
8cc5ae14db Allow 32 bit x86 tests to run on amd64 machines.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5087
2005-11-11 14:33:43 +00:00
Julian Seward
e36149b24a Stop gcc4 complaining about pointer signedness mismatches.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5085
2005-11-11 13:13:01 +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
411f026243 Avoid compiler warnings.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5071
2005-11-10 15:03:26 +00:00
Julian Seward
2e4dea1c78 filter_linenos was not making it into tarballs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5063
2005-11-10 03:38:56 +00:00
Tom Hughes
0d861a9993 Update results - we now emulate the whole LDT.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5050
2005-11-09 08:48:38 +00:00
Julian Seward
31f1119c9d Document the --kernel-variant= option.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5040
2005-11-08 15:52:36 +00:00
Tom Hughes
b5c033e906 Dual architecture support - this commit is a major rework of the build
system that allows multiple copies of valgrind to be built so that we
can build both x86 and amd64 versions of the tools on amd64 machines.

The launcher is then modified to look at the program being run and
decide which tool to use to run it.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5027
2005-11-07 15:24:38 +00:00
Nicholas Nethercote
f619ff5875 Run the right regression tests...
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5026
2005-11-07 14:43:12 +00:00
Tom Hughes
b3ae519581 Add tests for 64 bit instructions.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5024
2005-11-06 12:29:50 +00:00
Tom Hughes
049569da6c Sync sse2 tests from x86 to amd64.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5017
2005-11-05 12:10:31 +00:00