]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
20 years agoMPI checks: use AC_TRY_COMPILE correctly, so as to generate a test program
Julian Seward [Thu, 9 Mar 2006 02:41:41 +0000 (02:41 +0000)] 
MPI checks: use AC_TRY_COMPILE correctly, so as to generate a test program
that icc can compile (just in case mpicc is a wrapper round icc).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5730

20 years agoMore MPICH build fixes.
Julian Seward [Wed, 8 Mar 2006 21:40:34 +0000 (21:40 +0000)] 
More MPICH build fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5729

20 years agoAdd showCombiner and move showTy to a better place.
Julian Seward [Wed, 8 Mar 2006 20:41:44 +0000 (20:41 +0000)] 
Add showCombiner and move showTy to a better place.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5728

20 years agoNew wrapper, and an MPICH build fix.
Julian Seward [Wed, 8 Mar 2006 15:27:37 +0000 (15:27 +0000)] 
New wrapper, and an MPICH build fix.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5727

20 years agoMPI build system refinements: just base everything off mpicc, and don't
Julian Seward [Wed, 8 Mar 2006 15:26:10 +0000 (15:26 +0000)] 
MPI build system refinements: just base everything off mpicc, and don't
try to figure out where mpi.h is.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5726

20 years agoOops, missed out of r5724.
Julian Seward [Wed, 8 Mar 2006 13:24:21 +0000 (13:24 +0000)] 
Oops, missed out of r5724.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5725

20 years agoRegression test for memcheck's SET/GET_VBITS client requests.
Julian Seward [Wed, 8 Mar 2006 13:21:07 +0000 (13:21 +0000)] 
Regression test for memcheck's SET/GET_VBITS client requests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5724

20 years agoReinstate the SET/GET_VBITS client requests.
Julian Seward [Wed, 8 Mar 2006 13:20:09 +0000 (13:20 +0000)] 
Reinstate the SET/GET_VBITS client requests.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5723

20 years agowalk_type: handle all remaining MPI1 combiners ({H,}VECTOR and
Julian Seward [Wed, 8 Mar 2006 03:54:37 +0000 (03:54 +0000)] 
walk_type: handle all remaining MPI1 combiners ({H,}VECTOR and
{H,}INDEXED).  Should now be able to enumerate essentially all MPI1
user-defined types.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5722

20 years agoUpdate.
Julian Seward [Tue, 7 Mar 2006 01:49:54 +0000 (01:49 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5718

20 years agoAdd an amd64 test program for 'fxtract' - just a copy of the x86 one.
Julian Seward [Tue, 7 Mar 2006 01:17:12 +0000 (01:17 +0000)] 
Add an amd64 test program for 'fxtract' - just a copy of the x86 one.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5716

20 years agoMove the helper function for x86 'fxtract' to g_generic_x87.c so
Julian Seward [Tue, 7 Mar 2006 01:15:50 +0000 (01:15 +0000)] 
Move the helper function for x86 'fxtract' to g_generic_x87.c so
it can be shared by the x86 and amd64 front ends, then use it to
implement fxtract on amd64.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1593

20 years agoImplement fnstsw.
Julian Seward [Tue, 7 Mar 2006 00:22:02 +0000 (00:22 +0000)] 
Implement fnstsw.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1591

20 years agoA test for fcmovnu.
Julian Seward [Mon, 6 Mar 2006 19:50:06 +0000 (19:50 +0000)] 
A test for fcmovnu.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5715

20 years agoTest for fcmovnu.
Julian Seward [Mon, 6 Mar 2006 19:36:30 +0000 (19:36 +0000)] 
Test for fcmovnu.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5714

20 years agoFix debug printing.
Julian Seward [Mon, 6 Mar 2006 19:17:17 +0000 (19:17 +0000)] 
Fix debug printing.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1588

20 years agoImplement fcmovnu.
Julian Seward [Mon, 6 Mar 2006 19:05:07 +0000 (19:05 +0000)] 
Implement fcmovnu.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1587

20 years agoImplement 3DNow! prefetch insn (prefetch, prefetchw). Fixes #120410.
Julian Seward [Mon, 6 Mar 2006 14:07:58 +0000 (14:07 +0000)] 
Implement 3DNow! prefetch insn (prefetch, prefetchw).  Fixes #120410.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1585

20 years agoHandle byte-size 'xadd reg,mem'. Also, don't bomb out for the
Julian Seward [Mon, 6 Mar 2006 13:35:42 +0000 (13:35 +0000)] 
Handle byte-size 'xadd reg,mem'.  Also, don't bomb out for the
unhandled 'xadd reg,reg' case; instead synth a SIGILL in the usual
way.  Fixes #121662.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1583

20 years agoUpdate.
Julian Seward [Mon, 6 Mar 2006 11:41:52 +0000 (11:41 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5713

20 years agoFix a type-size subtlety.
Julian Seward [Sat, 4 Mar 2006 02:31:52 +0000 (02:31 +0000)] 
Fix a type-size subtlety.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5712

20 years agoMore futzing with the machinery for traversing datatypes.
Julian Seward [Fri, 3 Mar 2006 21:03:10 +0000 (21:03 +0000)] 
More futzing with the machinery for traversing datatypes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5711

20 years agoget_abit_and_vbyte/get_abit can be a significant bottleneck when
Julian Seward [Fri, 3 Mar 2006 21:02:18 +0000 (21:02 +0000)] 
get_abit_and_vbyte/get_abit can be a significant bottleneck when
painting/checking huge numbers of bytes resulting from client check
requests.  Inlining them helps significantly.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5710

20 years agoBeginnings of proper MPI user type-walking code.
Julian Seward [Fri, 3 Mar 2006 16:14:18 +0000 (16:14 +0000)] 
Beginnings of proper MPI user type-walking code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5709

20 years agoDetect/select 'mpicc' (from --with-mpicc=) and use that to build
Julian Seward [Thu, 2 Mar 2006 17:09:16 +0000 (17:09 +0000)] 
Detect/select 'mpicc' (from --with-mpicc=) and use that to build
libmpiwrap.so.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5708

20 years agoBuild system hacks to build and install the MPI wrappers library when
Julian Seward [Thu, 2 Mar 2006 13:48:21 +0000 (13:48 +0000)] 
Build system hacks to build and install the MPI wrappers library when
a suitable mpi.h is found at configure time.  This also adds the
configure flag --with-mpi=/path/to/mpi/install so that libmpiwrap.so
can be built against any given MPI installation.

libmpiwrap.so is built and installed for the primary target only.  As
usual this all involves various unsavoury build-system hacks.
Fortunately they are all in auxprogs/Makefile.am and configure.in
don't interact with any of our existing build-system hacks :-)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5707

20 years agoUpdate
Julian Seward [Thu, 2 Mar 2006 13:44:05 +0000 (13:44 +0000)] 
Update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5706

20 years agoA simple test of m{f,t}ocrf.
Julian Seward [Wed, 1 Mar 2006 22:36:49 +0000 (22:36 +0000)] 
A simple test of m{f,t}ocrf.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5705

20 years agoImplement mtocrf/mfocrf.
Julian Seward [Wed, 1 Mar 2006 18:58:39 +0000 (18:58 +0000)] 
Implement mtocrf/mfocrf.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1579

20 years agodox update
Dirk Mueller [Mon, 27 Feb 2006 09:34:29 +0000 (09:34 +0000)] 
dox update

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5702

20 years agoupdate ubuntu suppression (based on patch by David Kimdon)
Dirk Mueller [Mon, 27 Feb 2006 08:41:32 +0000 (08:41 +0000)] 
update ubuntu suppression (based on patch by David Kimdon)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5700

20 years agoMinor readability change.
Nicholas Nethercote [Fri, 24 Feb 2006 10:36:54 +0000 (10:36 +0000)] 
Minor readability change.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5698

20 years agoUpdate.
Julian Seward [Fri, 24 Feb 2006 09:53:51 +0000 (09:53 +0000)] 
Update.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5697

20 years agoUndo r5667 (reinstate 3_0_BUGSTATUS.txt)
Julian Seward [Thu, 23 Feb 2006 18:17:32 +0000 (18:17 +0000)] 
Undo r5667 (reinstate 3_0_BUGSTATUS.txt)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5693

20 years agoupdate suppressions (10.1-ppc)
Dirk Mueller [Wed, 22 Feb 2006 19:16:03 +0000 (19:16 +0000)] 
update suppressions (10.1-ppc)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5690

20 years agoupdate suppression
Dirk Mueller [Wed, 22 Feb 2006 16:10:16 +0000 (16:10 +0000)] 
update suppression

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5689

20 years agosyscall number updates
Dirk Mueller [Wed, 22 Feb 2006 14:33:21 +0000 (14:33 +0000)] 
syscall number updates

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5687

20 years agoupdate syscall numbers (against 2.6.16rc2)
Dirk Mueller [Wed, 22 Feb 2006 13:51:37 +0000 (13:51 +0000)] 
update syscall numbers (against 2.6.16rc2)

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5684

20 years agobackport status updates
Dirk Mueller [Wed, 22 Feb 2006 13:25:47 +0000 (13:25 +0000)] 
backport status updates

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5681

20 years agovarious syscall wrappings needed for SUSE 10.1
Dirk Mueller [Wed, 22 Feb 2006 12:54:44 +0000 (12:54 +0000)] 
various syscall wrappings needed for SUSE 10.1

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5669

20 years agouninteresting here
Dirk Mueller [Wed, 22 Feb 2006 12:38:29 +0000 (12:38 +0000)] 
uninteresting here

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5667

20 years agoupdate suppression
Dirk Mueller [Tue, 21 Feb 2006 18:04:16 +0000 (18:04 +0000)] 
update suppression

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5664

20 years agoFix CPU feature identification for ppc32/64 - add more paranoia, and
Julian Seward [Tue, 21 Feb 2006 17:11:11 +0000 (17:11 +0000)] 
Fix CPU feature identification for ppc32/64 - add more paranoia, and
configure the sigill handler so that it can be used more than once.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5662

20 years agoMinor wibbles.
Julian Seward [Sun, 19 Feb 2006 14:05:28 +0000 (14:05 +0000)] 
Minor wibbles.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5659

20 years agoArse. Move this to the right place.
Julian Seward [Sat, 18 Feb 2006 23:20:35 +0000 (23:20 +0000)] 
Arse.  Move this to the right place.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5658

20 years agoFirst try at an MPI wrappers library. Currently the build system
Julian Seward [Sat, 18 Feb 2006 23:13:33 +0000 (23:13 +0000)] 
First try at an MPI wrappers library.  Currently the build system
ignores it - it must be built by hand.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5657

20 years agoAdd a missing case.
Julian Seward [Sat, 18 Feb 2006 21:13:29 +0000 (21:13 +0000)] 
Add a missing case.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5656

20 years agoUpdate bug status.
Tom Hughes [Wed, 15 Feb 2006 10:45:18 +0000 (10:45 +0000)] 
Update bug status.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5653

20 years agoRestore RIP on return from a signal handler on amd64 - mirrors the
Tom Hughes [Wed, 15 Feb 2006 10:44:02 +0000 (10:44 +0000)] 
Restore RIP on return from a signal handler on amd64 - mirrors the
change in revision 5641 to restore EIP on x86.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5652

20 years agoFix the tkill system call wrapper and enable it on x86 and amd64.
Tom Hughes [Wed, 15 Feb 2006 10:34:50 +0000 (10:34 +0000)] 
Fix the tkill system call wrapper and enable it on x86 and amd64.
Fixes bug #121901.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5651

20 years agoApparently on SLES9 the dynamic linker is called (soname'd) ld64.so.1.
Julian Seward [Tue, 14 Feb 2006 21:55:11 +0000 (21:55 +0000)] 
Apparently on SLES9 the dynamic linker is called (soname'd) ld64.so.1.
Add a corresponding strcmp redirect.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5650

20 years agoA few more syscalls.
Julian Seward [Tue, 14 Feb 2006 21:48:42 +0000 (21:48 +0000)] 
A few more syscalls.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5649

20 years agoTrawled v-users/bugzilla-mail and added entries.
Julian Seward [Tue, 14 Feb 2006 16:15:57 +0000 (16:15 +0000)] 
Trawled v-users/bugzilla-mail and added entries.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5648

20 years agoEnsure memory acquired from sys_brk() really is zeroed. Fixes #121893.
Julian Seward [Tue, 14 Feb 2006 11:37:41 +0000 (11:37 +0000)] 
Ensure memory acquired from sys_brk() really is zeroed.  Fixes #121893.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5647

20 years agoFix boundary conditions relating to stack permissions (see r5645).
Julian Seward [Mon, 13 Feb 2006 18:16:41 +0000 (18:16 +0000)] 
Fix boundary conditions relating to stack permissions (see r5645).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5646

20 years agoWhen setting the initial permissions of the area below the initial
Julian Seward [Mon, 13 Feb 2006 17:54:31 +0000 (17:54 +0000)] 
When setting the initial permissions of the area below the initial
stack pointer, take into account any ABI-mandated red zone
(VG_STACK_REDZONE_SZB).  This also requires ensuring that at least
that much extra space is available when laying out the stack, in
setup_client_stack().

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5645

20 years ago'make dist' fix
Julian Seward [Mon, 13 Feb 2006 14:23:05 +0000 (14:23 +0000)] 
'make dist' fix

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5644

20 years agoUpdate Limitations section following recent ppc hackery.
Julian Seward [Mon, 13 Feb 2006 05:15:27 +0000 (05:15 +0000)] 
Update Limitations section following recent ppc hackery.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5643

20 years agoYet another ppc test program, which duplicates jm-insns so isn't too useful.
Julian Seward [Sun, 12 Feb 2006 18:56:16 +0000 (18:56 +0000)] 
Yet another ppc test program, which duplicates jm-insns so isn't too useful.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5642

20 years agoRestore %EIP from the info passed to the handler (ucontext), so as to
Julian Seward [Sun, 12 Feb 2006 15:45:46 +0000 (15:45 +0000)] 
Restore %EIP from the info passed to the handler (ucontext), so as to
be able to deal with signal handlers that mess with
third_arg->uc_mcontext.gregs[REG_EIP].  Apparently Wine does this.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5641

20 years agoExtend stack-permissions-change fast-case machinery to handle +/- 112,
Julian Seward [Sun, 12 Feb 2006 15:42:20 +0000 (15:42 +0000)] 
Extend stack-permissions-change fast-case machinery to handle +/- 112,
128, 144 and 160.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5640

20 years agoFix typo.
Tom Hughes [Sun, 12 Feb 2006 08:50:45 +0000 (08:50 +0000)] 
Fix typo.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5639

20 years agoMore bug status updates.
Tom Hughes [Sat, 11 Feb 2006 17:08:15 +0000 (17:08 +0000)] 
More bug status updates.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5638

20 years agoDocument fixes.
Tom Hughes [Sat, 11 Feb 2006 16:32:16 +0000 (16:32 +0000)] 
Document fixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5637

20 years agoAdd missing VKI_ prefixes.
Tom Hughes [Sat, 11 Feb 2006 16:31:54 +0000 (16:31 +0000)] 
Add missing VKI_ prefixes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5636

20 years agoImplement the vm86 and vm86old system calls based on a patch
Tom Hughes [Sat, 11 Feb 2006 16:26:46 +0000 (16:26 +0000)] 
Implement the vm86 and vm86old system calls based on a patch
from Alper Akcan. Fixes bug #118939.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5635

20 years agoEnable enough syscalls to make self-hosting work on ppc64.
Julian Seward [Sat, 11 Feb 2006 14:35:17 +0000 (14:35 +0000)] 
Enable enough syscalls to make self-hosting work on ppc64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5634

20 years agoImplement a few extra ioctls based on patch from Eric Pouech in bug #120728.
Tom Hughes [Sat, 11 Feb 2006 13:29:09 +0000 (13:29 +0000)] 
Implement a few extra ioctls based on patch from Eric Pouech in bug #120728.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5633

20 years agoAnother ppc related suppression (Dave Nomura).
Julian Seward [Fri, 10 Feb 2006 12:42:46 +0000 (12:42 +0000)] 
Another ppc related suppression (Dave Nomura).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5629

20 years agoDon't use -gstabs on ppc64-linux, as it doesn't work with some gccs (Dave Nomura).
Julian Seward [Fri, 10 Feb 2006 12:42:11 +0000 (12:42 +0000)] 
Don't use -gstabs on ppc64-linux, as it doesn't work with some gccs (Dave Nomura).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5628

20 years agoFix minor anomaly pointed out by icc9.
Julian Seward [Fri, 10 Feb 2006 11:57:17 +0000 (11:57 +0000)] 
Fix minor anomaly pointed out by icc9.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5627

20 years agoDenestification.
Robert Walsh [Fri, 10 Feb 2006 03:33:10 +0000 (03:33 +0000)] 
Denestification.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5626

20 years agoTeach the Dwarf2 line-info reader how to handle so-called 64-bit
Julian Seward [Thu, 9 Feb 2006 23:35:11 +0000 (23:35 +0000)] 
Teach the Dwarf2 line-info reader how to handle so-called 64-bit
Dwarf, which is a (fully documented) Dwarf3 variant in which some
32-bit fields are expanded to 64 bits.  Presumably this is useful for
those vast hordes of folks who regularly build executables or shared
objects more than 4GB long.  For whatever reason, IBM's xlc/xlC/xlf
insist on generating 64-bit Dwarf when compiling even hello-world size
programs for ppc64-linux.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5625

20 years agoEnable sys_getrusage.
Julian Seward [Thu, 9 Feb 2006 11:16:58 +0000 (11:16 +0000)] 
Enable sys_getrusage.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5624

20 years agoHandle main thread stacks up to 16MB.
Julian Seward [Thu, 9 Feb 2006 11:16:18 +0000 (11:16 +0000)] 
Handle main thread stacks up to 16MB.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5623

20 years agoFix erroneous hardwired redirect spec.
Julian Seward [Thu, 9 Feb 2006 10:29:43 +0000 (10:29 +0000)] 
Fix erroneous hardwired redirect spec.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5622

20 years agoGet rid of general case in mkLazy3 and instead add new cases as they appear.
Julian Seward [Thu, 9 Feb 2006 03:25:06 +0000 (03:25 +0000)] 
Get rid of general case in mkLazy3 and instead add new cases as they appear.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5621

20 years agoOops, stuff that should have been part of r1573 (4-arg primop change).
Julian Seward [Thu, 9 Feb 2006 02:54:03 +0000 (02:54 +0000)] 
Oops, stuff that should have been part of r1573 (4-arg primop change).

git-svn-id: svn://svn.valgrind.org/vex/trunk@1574

20 years agoEnable rounding checks for fmadd/fmsub et al.
Julian Seward [Wed, 8 Feb 2006 19:32:20 +0000 (19:32 +0000)] 
Enable rounding checks for fmadd/fmsub et al.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5620

20 years agoTrack vex r1573 (introduction of 4-arg IR primops for ppc fmadd/fmsub).
Julian Seward [Wed, 8 Feb 2006 19:32:02 +0000 (19:32 +0000)] 
Track vex r1573 (introduction of 4-arg IR primops for ppc fmadd/fmsub).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5619

20 years agoRedo the way FP multiply-accumulate insns are done on ppc32/64.
Julian Seward [Wed, 8 Feb 2006 19:30:46 +0000 (19:30 +0000)] 
Redo the way FP multiply-accumulate insns are done on ppc32/64.
Instead of splitting them up into a multiply and an add/sub, add 4 new
primops which keeps the operation as a single unit.  Then, in the back
end, re-emit the as a single instruction.

Reason for this is that so-called fused-multiply-accumulate -- which
is what ppc does -- generates a double-double length intermediate
result (of the multiply, 112 mantissa bits) before doing the add, and
so it is impossible to do a bit-accurate simulation of it using AddF64
and MulF64.

Unfortunately the new primops unavoidably take 4 args (a rounding mode
+ 3 FP args) and so there is a new IRExpr expression type, IRExpr_Qop
and associated supporting junk.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1573

20 years agoAdd regression tests for the twi and tdi instructions, and also for
Julian Seward [Tue, 7 Feb 2006 20:58:12 +0000 (20:58 +0000)] 
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

20 years agoSynthesise and deliver SIGTRAP to clients when requested to do so by vex.
Julian Seward [Tue, 7 Feb 2006 20:56:41 +0000 (20:56 +0000)] 
Synthesise and deliver SIGTRAP to clients when requested to do so by vex.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5617

20 years agoWord size fixes for twi/tdi (is trickier than it looks :-). Also add
Julian Seward [Tue, 7 Feb 2006 20:55:08 +0000 (20:55 +0000)] 
Word size fixes for twi/tdi (is trickier than it looks :-).  Also add
missing DIP macros.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1572

20 years agoppc32/64: handle twi/tdi (conditional trap) instructions
Julian Seward [Tue, 7 Feb 2006 16:42:39 +0000 (16:42 +0000)] 
ppc32/64: handle twi/tdi (conditional trap) instructions

git-svn-id: svn://svn.valgrind.org/vex/trunk@1571

20 years agoThis causes problems on setups where ld.so is mapped at just over 1M:
Julian Seward [Mon, 6 Feb 2006 23:22:31 +0000 (23:22 +0000)] 
This causes problems on setups where ld.so is mapped at just over 1M:
it zeroes out that area (as a result of one of the mmaps) and the
program consequently goes into an infinite loop.  Change the map sizes
to just one page to avoid that.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5616

20 years agofre: observe the current rounding mode
Julian Seward [Mon, 6 Feb 2006 22:19:17 +0000 (22:19 +0000)] 
fre: observe the current rounding mode

git-svn-id: svn://svn.valgrind.org/vex/trunk@1570

20 years agoRedo x86g_calculate_FXTRACT to only use integer arithmetic.
Julian Seward [Mon, 6 Feb 2006 22:18:38 +0000 (22:18 +0000)] 
Redo x86g_calculate_FXTRACT to only use integer arithmetic.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1569

20 years agoSet fpscr back to a known state after running generated code (64-bit mode).
Julian Seward [Mon, 6 Feb 2006 05:31:37 +0000 (05:31 +0000)] 
Set fpscr back to a known state after running generated code (64-bit mode).

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5615

20 years agoSet fpscr back to a known state after running generated code.
Julian Seward [Mon, 6 Feb 2006 05:14:31 +0000 (05:14 +0000)] 
Set fpscr back to a known state after running generated code.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5614

20 years agoTest program aimed at exercising x87 insns a bit on amd64.
Julian Seward [Mon, 6 Feb 2006 04:49:58 +0000 (04:49 +0000)] 
Test program aimed at exercising x87 insns a bit on amd64.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5613

20 years agoRegtest for a double -> unsigned int conversion that xlc generates
Julian Seward [Mon, 6 Feb 2006 04:20:51 +0000 (04:20 +0000)] 
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

20 years agoAdd a program for checking behaviour of ppc floating point insns in
Julian Seward [Mon, 6 Feb 2006 04:19:30 +0000 (04:19 +0000)] 
Add a program for checking behaviour of ppc floating point insns in
the presence of different rounding modes.  This should really be a ppc
regression test, but the output is so large (~30MB) that the
.stdout.exp file would be unviably large.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5611

20 years agoComment-only changes
Julian Seward [Mon, 6 Feb 2006 03:58:31 +0000 (03:58 +0000)] 
Comment-only changes

git-svn-id: svn://svn.valgrind.org/vex/trunk@1568

20 years agoFixups following recent FP rounding mode changes.
Julian Seward [Sun, 5 Feb 2006 16:06:26 +0000 (16:06 +0000)] 
Fixups following recent FP rounding mode changes.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1567

20 years agoAdd a check for fsincos.
Julian Seward [Sat, 4 Feb 2006 15:43:14 +0000 (15:43 +0000)] 
Add a check for fsincos.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5610

20 years agoYet more x86 instruction tests, mostly aimed at wierd/transcendental
Julian Seward [Sat, 4 Feb 2006 15:26:11 +0000 (15:26 +0000)] 
Yet more x86 instruction tests, mostly aimed at wierd/transcendental
x87 insns.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5609

20 years agoTidy up a couple more x86-related primops following rounding changes.
Julian Seward [Sat, 4 Feb 2006 15:25:23 +0000 (15:25 +0000)] 
Tidy up a couple more x86-related primops following rounding changes.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5608

20 years agoMake the CSE pass more aggressive. It now commons up Mux0X and GetI
Julian Seward [Sat, 4 Feb 2006 15:24:00 +0000 (15:24 +0000)] 
Make the CSE pass more aggressive.  It now commons up Mux0X and GetI
expressions too.  This generates somewhat better FP code on x86 since
it removes more redundant artefacts from the x87 FP stack simulation.
Unfortunately commoning up GetIs complicates CSEs, since it is now
possible that "available expressions" collected by the CSEr will
become invalidated by writes to the guest state as we work through the
block.  So there is additional code to check for this case.

Some supporting functions (getAliasingRelation_IC and
getAliasingRelation_II) have been moved earlier in the file.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1566

20 years agoMore x86 tidying up following rounding changes.
Julian Seward [Sat, 4 Feb 2006 15:20:13 +0000 (15:20 +0000)] 
More x86 tidying up following rounding changes.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1565