369 Commits

Author SHA1 Message Date
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
4e65de3448 Add an amd64 test program for 'fxtract' - just a copy of the x86 one.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5716
2006-03-07 01:17:12 +00:00
Julian Seward
fecb77b6e6 A test for fcmovnu.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5715
2006-03-06 19:50:06 +00:00
Julian Seward
6fa95850db Test for fcmovnu.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5714
2006-03-06 19:36:30 +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
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
173f8a2b35 Don't build the Altivec constant tables unless Altivec instruction
tests have been requested.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5592
2006-01-24 18:50:38 +00:00
Julian Seward
3db74cde05 Yet another possible output, due to trivial differences in backtraces.
This is getting rediculous.  We need a better way to compare
backtraces in regression test outputs.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5575
2006-01-20 16:48:31 +00:00
Julian Seward
91b378ce8f Forgot to svn add this.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5572
2006-01-20 15:55:21 +00:00
Julian Seward
03d7993176 - Make this work on systems where the stack is non executable:
put the to-be-modified insns in an mmap'd page

- Clarify init_function a bit (does not change what it does)



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5567
2006-01-19 17:44:38 +00:00
Julian Seward
5958641f7d Wibble.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5566
2006-01-19 05:01:28 +00:00
Julian Seward
7cc6a0d482 More __libc_start_main -> "(below_main)" changes.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5564
2006-01-19 04:33:39 +00:00
Julian Seward
79ed27280a Update with new expected outputs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5563
2006-01-19 03:57:06 +00:00
Julian Seward
387102d5bc Change the default --trace-notbelow= number from zero to infinity,
effectively, since that's a more useful default.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5539
2006-01-17 02:36:40 +00:00
Julian Seward
f0d678baab These files all speak about instrumentation functions.
Instrumentation functions now take a callback closure structure
(VgCallbackClosure*), so this commit changes the signatures
accordingly.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5535
2006-01-17 02:06:39 +00:00
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