]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
21 years agoSanity check re support for precise exceptions, resulting in more
Julian Seward [Wed, 29 Dec 2004 17:34:50 +0000 (17:34 +0000)] 
Sanity check re support for precise exceptions, resulting in more
comments.  No functionality change.

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

21 years agoLooks like major changes, but in fact are just rearrangements and
Julian Seward [Wed, 29 Dec 2004 17:09:11 +0000 (17:09 +0000)] 
Looks like major changes, but in fact are just rearrangements and
further commenting of code.  Rearrange sequence of procedures to
better reflect the flow of data through iropt.  Add documentation at
the start explaining more precisely what it does.

The only functional change is to do initial flattening even at
optimisation level 0, so we can disable most of iropt for debugging
purposes and still have a functioning Valgrind.

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

21 years agoAdd support for subarchitectures. Currently ignored.
Julian Seward [Tue, 21 Dec 2004 01:23:00 +0000 (01:23 +0000)] 
Add support for subarchitectures.  Currently ignored.

Supported x86 subarchitectures:
* sse0 - have fxsave/fxrstor (ie, the SSE state), but no sse insns
         That is, Pentium II and later
* sse1 - have SSE1 - Pentium III and later
* sse2 - have SSE2 - Pentium 4 and M and later

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

21 years agoAdd Valgrind-side support for subarchitecture descriptions, which are
Julian Seward [Tue, 21 Dec 2004 01:20:49 +0000 (01:20 +0000)] 
Add Valgrind-side support for subarchitecture descriptions, which are
tedious but necessary to support.  Also, get rid of the have_ssestate
variable.  The new valgrind will not work on x86s which do not have at
least fxsave/fxrstor available; this rules all CPUs prior to Pentium
II.  No big deal.

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

21 years agoDuh. Un-break specialisation of x86 guest helper functions. Duh.
Julian Seward [Mon, 20 Dec 2004 05:45:39 +0000 (05:45 +0000)] 
Duh.  Un-break specialisation of x86 guest helper functions.  Duh.

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

21 years agoUn-break regtests (again)
Julian Seward [Mon, 20 Dec 2004 05:44:49 +0000 (05:44 +0000)] 
Un-break regtests (again)

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

21 years agoiselCondCode: better handling of a pattern frequently generated by
Julian Seward [Mon, 20 Dec 2004 05:07:38 +0000 (05:07 +0000)] 
iselCondCode: better handling of a pattern frequently generated by
memcheck.

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

21 years agoFix autoversioning a bit more.
Julian Seward [Mon, 20 Dec 2004 04:42:49 +0000 (04:42 +0000)] 
Fix autoversioning a bit more.

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

21 years agoUse new function LibVEX_Version.
Julian Seward [Mon, 20 Dec 2004 04:38:31 +0000 (04:38 +0000)] 
Use new function LibVEX_Version.

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

21 years agoNew function LibVEX_Version, returning version string automagically
Julian Seward [Mon, 20 Dec 2004 04:37:50 +0000 (04:37 +0000)] 
New function LibVEX_Version, returning version string automagically
generated by 'svnversion -n .'.  Only updated when you do 'make
version'.

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

21 years agoMove the IR tree matcher into its own module to get rid of
Julian Seward [Mon, 20 Dec 2004 04:12:14 +0000 (04:12 +0000)] 
Move the IR tree matcher into its own module to get rid of
duplication.

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

21 years agoSkeleton work on host-arm/isel, plus some cleaning up of hdefs
Cerion Armour-Brown [Fri, 17 Dec 2004 20:30:21 +0000 (20:30 +0000)] 
Skeleton work on host-arm/isel, plus some cleaning up of hdefs

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

21 years agoUpdate version numbers by hand. Duh. ToDo: automatically
Julian Seward [Fri, 17 Dec 2004 19:18:02 +0000 (19:18 +0000)] 
Update version numbers by hand.  Duh.  ToDo: automatically

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

21 years agoDon't squawk about kludged RDTSC, and update list of limitations.
Julian Seward [Fri, 17 Dec 2004 19:14:24 +0000 (19:14 +0000)] 
Don't squawk about kludged RDTSC, and update list of limitations.

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

21 years agoMake the insn_ tests work at least for the insns which Vex (x86 guest)
Julian Seward [Fri, 17 Dec 2004 19:12:47 +0000 (19:12 +0000)] 
Make the insn_ tests work at least for the insns which Vex (x86 guest)
currently implements.

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

21 years agomkUifU: add missing case
Julian Seward [Fri, 17 Dec 2004 01:24:54 +0000 (01:24 +0000)] 
mkUifU: add missing case

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

21 years agoCleaned up hdefs.h, fleshed out hdefs.c
Cerion Armour-Brown [Thu, 16 Dec 2004 14:06:34 +0000 (14:06 +0000)] 
Cleaned up hdefs.h, fleshed out hdefs.c

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

21 years agoahem - copy/paste comment error
Cerion Armour-Brown [Thu, 16 Dec 2004 12:10:59 +0000 (12:10 +0000)] 
ahem - copy/paste comment error

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

21 years agoFirst stab at host arm instruction defs
Cerion Armour-Brown [Thu, 16 Dec 2004 11:50:19 +0000 (11:50 +0000)] 
First stab at host arm instruction defs

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

21 years agoconstant folder: try a bit harder to clean up memcheck's output
Julian Seward [Thu, 16 Dec 2004 11:41:06 +0000 (11:41 +0000)] 
constant folder: try a bit harder to clean up memcheck's output

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

21 years agoSpecial case for CmpNE64(x,0), which is frequently generated when
Julian Seward [Thu, 16 Dec 2004 11:40:20 +0000 (11:40 +0000)] 
Special case for CmpNE64(x,0), which is frequently generated when
Memchecking floating point code.

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

21 years agoMore needles in haystacks: pmovmskb (sse): pass args to helper in the
Julian Seward [Thu, 16 Dec 2004 11:39:04 +0000 (11:39 +0000)] 
More needles in haystacks: pmovmskb (sse): pass args to helper in the
correct order :-)

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

21 years agoDon't inadvertantly invert the D flag when doing pushfl. Real needle
Julian Seward [Thu, 16 Dec 2004 02:54:54 +0000 (02:54 +0000)] 
Don't inadvertantly invert the D flag when doing pushfl.  Real needle
in a haystack job, finding this one.

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

21 years agoImplement pusha/popa.
Julian Seward [Wed, 15 Dec 2004 18:43:39 +0000 (18:43 +0000)] 
Implement pusha/popa.

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

21 years agoorig_size can now legitimately be zero, if the first insn in a bb one
Julian Seward [Wed, 15 Dec 2004 18:42:30 +0000 (18:42 +0000)] 
orig_size can now legitimately be zero, if the first insn in a bb one
that Vex failed to decode.

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

21 years agoMore SSE2 cases needed for gsl-1.5 regtests with icc -O -xW (SSE2).
Julian Seward [Wed, 15 Dec 2004 17:42:58 +0000 (17:42 +0000)] 
More SSE2 cases needed for gsl-1.5 regtests with icc -O -xW (SSE2).

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

21 years agoReinstate tests for psrldq.
Julian Seward [Wed, 15 Dec 2004 17:41:34 +0000 (17:41 +0000)] 
Reinstate tests for psrldq.

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

21 years agoAdded DIP()s everywhere, removed all the vex_printf()s
Cerion Armour-Brown [Wed, 15 Dec 2004 13:04:06 +0000 (13:04 +0000)] 
Added DIP()s everywhere, removed all the vex_printf()s

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

21 years agox86 guest: implement SSE1 movaps G -> E (stores)
Julian Seward [Wed, 15 Dec 2004 12:35:00 +0000 (12:35 +0000)] 
x86 guest: implement SSE1 movaps G -> E (stores)

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

21 years ago#if 0 some unused fns in an attempt to reduce the noise level from gcc.
Julian Seward [Wed, 15 Dec 2004 12:21:28 +0000 (12:21 +0000)] 
#if 0 some unused fns in an attempt to reduce the noise level from gcc.

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

21 years agoGive different emulation warnings for setting of %mxcsr.fz and %mxcsr.daz.
Julian Seward [Wed, 15 Dec 2004 12:13:52 +0000 (12:13 +0000)] 
Give different emulation warnings for setting of %mxcsr.fz and  %mxcsr.daz.

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

21 years agoMake suppression of large numbers of emulation warnings less dependent
Julian Seward [Wed, 15 Dec 2004 12:03:03 +0000 (12:03 +0000)] 
Make suppression of large numbers of emulation warnings less dependent
on EmWarn_NUMBER.

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

21 years agoFixes to get gsl-1.5 regressions to work with icc-8.0 -xK (SSE1)
Julian Seward [Wed, 15 Dec 2004 11:57:58 +0000 (11:57 +0000)] 
Fixes to get gsl-1.5 regressions to work with icc-8.0 -xK (SSE1)

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

21 years agofixed oldFlagC usage
Cerion Armour-Brown [Tue, 14 Dec 2004 12:08:09 +0000 (12:08 +0000)] 
fixed oldFlagC usage

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

21 years agoUpdated expected output.
Julian Seward [Tue, 14 Dec 2004 10:00:41 +0000 (10:00 +0000)] 
Updated expected output.

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

21 years agoFix push/pop/load/store of segment registers.
Julian Seward [Tue, 14 Dec 2004 10:00:16 +0000 (10:00 +0000)] 
Fix push/pop/load/store of segment registers.

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

21 years agoCommented-out get_current_tid() hack.
Julian Seward [Tue, 14 Dec 2004 09:19:29 +0000 (09:19 +0000)] 
Commented-out get_current_tid() hack.

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

21 years agoUpdate, and thereby unbreak trivial regtest breakage.
Julian Seward [Tue, 14 Dec 2004 09:18:57 +0000 (09:18 +0000)] 
Update, and thereby unbreak trivial regtest breakage.

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

21 years agoCrude mechanism to avoid flooding the user with emulation warnings.
Julian Seward [Tue, 14 Dec 2004 02:20:44 +0000 (02:20 +0000)] 
Crude mechanism to avoid flooding the user with emulation warnings.

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

21 years ago* x86 host: make SSE spills/restores work
Julian Seward [Tue, 14 Dec 2004 01:16:59 +0000 (01:16 +0000)] 
* x86 host: make SSE spills/restores work
* x86 guest: fill in some missing SSE cases

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

21 years agoHandle Iop_Sar16.
Julian Seward [Tue, 14 Dec 2004 01:15:31 +0000 (01:15 +0000)] 
Handle Iop_Sar16.

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

21 years agoBump startup notices around a bit.
Julian Seward [Mon, 13 Dec 2004 18:30:39 +0000 (18:30 +0000)] 
Bump startup notices around a bit.

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

21 years agoImprove redundant-PutI elimination a bit, so it is not completely
Julian Seward [Mon, 13 Dec 2004 18:22:48 +0000 (18:22 +0000)] 
Improve redundant-PutI elimination a bit, so it is not completely
fooled by some of the stupidities from guest x86 MMX code.

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

21 years agoEven more folding rules.
Julian Seward [Mon, 13 Dec 2004 14:14:16 +0000 (14:14 +0000)] 
Even more folding rules.

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

21 years agoDeal with LibVEX-supplied insn decode failures, and with LibVEX-supplied
Julian Seward [Mon, 13 Dec 2004 14:10:34 +0000 (14:10 +0000)] 
Deal with LibVEX-supplied insn decode failures, and with LibVEX-supplied
address-mapping failures (x86 LDT/GDT failures).

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

21 years agoMechanism for dealing with failures of instruction decodes, and also
Julian Seward [Mon, 13 Dec 2004 14:09:01 +0000 (14:09 +0000)] 
Mechanism for dealing with failures of instruction decodes, and also
of LibVEX-provided address translation.

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

21 years agoMove x86-TLS specific stuff out of x86/state.c, back into
Julian Seward [Mon, 13 Dec 2004 13:14:05 +0000 (13:14 +0000)] 
Move x86-TLS specific stuff out of x86/state.c, back into
x86-linux/tls.c.  Also some other cleanups.

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

21 years agoSplit up the old x86 LDT/GDT handling stuff. Push some of it into
Julian Seward [Mon, 13 Dec 2004 10:52:08 +0000 (10:52 +0000)] 
Split up the old x86 LDT/GDT handling stuff.  Push some of it into
VEX, and clean up the rest of it and push it into
coregrind/x86/state.c.  coregrind/x86-linux/ldt.c is now empty, but I
see that some of the stuff in x86/state.c should really be in
x86-linux/ldt.c.

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

21 years agox86 guest: simulate LDT/GDT enough that code using segment override
Julian Seward [Mon, 13 Dec 2004 10:48:19 +0000 (10:48 +0000)] 
x86 guest: simulate LDT/GDT enough that code using segment override
prefixes can work.

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

21 years agoFolding rule for Iop_64to32.
Julian Seward [Mon, 13 Dec 2004 10:47:15 +0000 (10:47 +0000)] 
Folding rule for Iop_64to32.

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

21 years agox86 guest/host: fix enough 128-bit vector stuff that memcheck works for
Julian Seward [Sun, 12 Dec 2004 16:46:47 +0000 (16:46 +0000)] 
x86 guest/host: fix enough 128-bit vector stuff that memcheck works for
SSE2.  Added a new Iop_Not128 bit primop and generate at least tolerable
SSE code for it.

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

21 years agoComplete enough 128-bit vector stuff in memcheck so that SSE2 works.
Julian Seward [Sun, 12 Dec 2004 16:45:06 +0000 (16:45 +0000)] 
Complete enough 128-bit vector stuff in memcheck so that SSE2 works.

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

21 years agox86 host: Stuff in support of memchecking of 64x2 vector FP.
Julian Seward [Fri, 10 Dec 2004 21:45:38 +0000 (21:45 +0000)] 
x86 host: Stuff in support of memchecking of 64x2 vector FP.

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

21 years agoSupport for 64x2 vector floating point.
Julian Seward [Fri, 10 Dec 2004 21:44:22 +0000 (21:44 +0000)] 
Support for 64x2 vector floating point.

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

21 years agoStuff to make Memcheck work with SSE1 instructions.
Julian Seward [Fri, 10 Dec 2004 18:57:51 +0000 (18:57 +0000)] 
Stuff to make Memcheck work with SSE1 instructions.

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

21 years agoStuff needed for Memcheck of SSE1 instructions.
Julian Seward [Fri, 10 Dec 2004 18:56:29 +0000 (18:56 +0000)] 
Stuff needed for Memcheck of SSE1 instructions.

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

21 years agoDealt with more 'unpredictables' (all of them?)
Cerion Armour-Brown [Fri, 10 Dec 2004 15:28:43 +0000 (15:28 +0000)] 
Dealt with more 'unpredictables' (all of them?)

Reworked some bad code - was assigning multiple times to an IRTemp (apparently
not allowed?!)

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

21 years agoMore support for memchecking 128-bit SIMD code.
Julian Seward [Fri, 10 Dec 2004 14:59:57 +0000 (14:59 +0000)] 
More support for memchecking 128-bit SIMD code.

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

21 years agoBasics for 128-bit SIMD code.
Julian Seward [Fri, 10 Dec 2004 14:58:26 +0000 (14:58 +0000)] 
Basics for 128-bit SIMD code.

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

21 years agoFix enough stuff so that x86 MMX tests work.
Julian Seward [Fri, 10 Dec 2004 13:35:22 +0000 (13:35 +0000)] 
Fix enough stuff so that x86 MMX tests work.

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

21 years agoFix enough stuff so that x86 floating point tests work properly.
Julian Seward [Fri, 10 Dec 2004 13:17:55 +0000 (13:17 +0000)] 
Fix enough stuff so that x86 floating point tests work properly.

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

21 years agoCosmetic-only change (mess with indentation)
Julian Seward [Fri, 10 Dec 2004 12:01:14 +0000 (12:01 +0000)] 
Cosmetic-only change (mess with indentation)

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

21 years agoDealt with undefined instr's properly
Cerion Armour-Brown [Fri, 10 Dec 2004 11:43:10 +0000 (11:43 +0000)] 
Dealt with undefined instr's properly

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

21 years agoadded padding to VexGuestArmState
Cerion Armour-Brown [Fri, 10 Dec 2004 10:46:16 +0000 (10:46 +0000)] 
added padding to VexGuestArmState

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

21 years agoFinished dis_branch, so we get IR code for a complete bb now - yay!
Cerion Armour-Brown [Fri, 10 Dec 2004 10:18:58 +0000 (10:18 +0000)] 
Finished dis_branch, so we get IR code for a complete bb now - yay!

Fixed a bunch of type errors picked up by the sanity checker

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

21 years agoFor now, disable test of: pmaddwd psadbw pslldq psrldq. The x86 front
Julian Seward [Fri, 10 Dec 2004 02:10:15 +0000 (02:10 +0000)] 
For now, disable test of: pmaddwd psadbw pslldq psrldq.  The x86 front
end doesn't yet handle them (nothing critically difficult), and they
are unlikely to turn up in compiler-generated code.

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

21 years agoFinish almost all SSE2 integer instructions. (!)
Julian Seward [Fri, 10 Dec 2004 01:48:18 +0000 (01:48 +0000)] 
Finish almost all SSE2 integer instructions. (!)

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

21 years agox86 host/guest: SSE2 integer shifts and subtracts
Julian Seward [Thu, 9 Dec 2004 23:25:14 +0000 (23:25 +0000)] 
x86 host/guest: SSE2 integer shifts and subtracts

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

21 years agoReworked dis_loadstore_mult(): load/store multiple
Cerion Armour-Brown [Thu, 9 Dec 2004 19:04:57 +0000 (19:04 +0000)] 
Reworked dis_loadstore_mult(): load/store multiple

Reworked data processing instrs:
 - all dpi's are dealt with in dis_dataproc()
 - dis_shifter_op() finds the shift expression
   - directly if 'immediate', else via dis_shift(), dis_rotate
   - returns the shifter_carry_out
     (would rather not to do this... how to avoid it?!)

Added dis_loadstore_w_ub : load/store word|unsigned byte

First stab at dis_branch(), but not there yet.

Laid out disInstr to parse the entire arm instruction set.
 - was the easiest thing to do to avoid all the undefined and not-yet-implemented instructions.

Some work on flag calculations - not yet right!

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

21 years agox86 guest/host: implement a whole bunch of SSE2 integer insns
Julian Seward [Thu, 9 Dec 2004 03:44:34 +0000 (03:44 +0000)] 
x86 guest/host: implement a whole bunch of SSE2 integer insns

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

21 years agoIR level for support of 128 integer SIMD operations. Use this to do
Julian Seward [Thu, 9 Dec 2004 00:39:32 +0000 (00:39 +0000)] 
IR level for support of 128 integer SIMD operations.  Use this to do
SSE2 integer operations (x86 guest/host).

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

21 years agoDelete commented-out bits of the old UCode insn decoder.
Julian Seward [Wed, 8 Dec 2004 17:01:23 +0000 (17:01 +0000)] 
Delete commented-out bits of the old UCode insn decoder.

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

21 years agox86 guest: finish SSE2 floating point insns.
Julian Seward [Wed, 8 Dec 2004 14:37:10 +0000 (14:37 +0000)] 
x86 guest: finish SSE2 floating point insns.

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

21 years agox86 guest: another stack of SSE2 insns.
Julian Seward [Wed, 8 Dec 2004 12:31:22 +0000 (12:31 +0000)] 
x86 guest: another stack of SSE2 insns.

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

21 years agox86 guest: Implement a whole bunch of SSE2 instructions, mostly
Julian Seward [Tue, 7 Dec 2004 19:02:18 +0000 (19:02 +0000)] 
x86 guest: Implement a whole bunch of SSE2 instructions, mostly
int-float conversions.  Very repetitive.

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

21 years agoRedundant-Get elimination: only do the substitution when the types
Julian Seward [Tue, 7 Dec 2004 19:00:57 +0000 (19:00 +0000)] 
Redundant-Get elimination: only do the substitution when the types
match.  Not doing so leads to incorrectly typed IR.

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

21 years agoCopy-n-paste 32x4 floating point stuff into 64x2 floating point stuff so
Julian Seward [Tue, 7 Dec 2004 11:16:04 +0000 (11:16 +0000)] 
Copy-n-paste 32x4 floating point stuff into 64x2 floating point stuff so
as to form a basis for SSE2 floating point support.

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

21 years agoFix segfaults caused by the impedance matches in sys_sigprocmask.
Julian Seward [Mon, 6 Dec 2004 16:18:58 +0000 (16:18 +0000)] 
Fix segfaults caused by the impedance matches in sys_sigprocmask.

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

21 years agox86 guest: Implement various insns:
Julian Seward [Mon, 6 Dec 2004 14:29:12 +0000 (14:29 +0000)] 
x86 guest: Implement various insns:
   ldmxcsr/stmxcsr
   fldenv/fstenv
   prefetch of various flavours (no-op for us)
   fclex (no-op for us)
   Some segment reg stuff, but nothing usable yet

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

21 years agoTests for x86 fldenv/fstenv; also fix error in frstor test.
Julian Seward [Mon, 6 Dec 2004 14:26:28 +0000 (14:26 +0000)] 
Tests for x86 fldenv/fstenv; also fix error in frstor test.

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

21 years agoEnsure VEX control parameters are sane.
Julian Seward [Mon, 6 Dec 2004 14:24:52 +0000 (14:24 +0000)] 
Ensure VEX control parameters are sane.

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

21 years agoEnsure host CPU is in the state that VEX-generated code expects prior
Julian Seward [Mon, 6 Dec 2004 14:23:28 +0000 (14:23 +0000)] 
Ensure host CPU is in the state that VEX-generated code expects prior
to running any such code.

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

21 years agoProgram for testing setting of MXCSR.
Julian Seward [Mon, 6 Dec 2004 12:15:05 +0000 (12:15 +0000)] 
Program for testing setting of MXCSR.

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

21 years agoUpdated expected output
Julian Seward [Mon, 6 Dec 2004 00:47:37 +0000 (00:47 +0000)] 
Updated expected output

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

21 years agoUse different register numbers in different register banks, so as to
Julian Seward [Mon, 6 Dec 2004 00:37:59 +0000 (00:37 +0000)] 
Use different register numbers in different register banks, so as to
expose bugs resulting from confusion of which register fields are
which during insn decode.

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

21 years agoFix bug exposed by improved insn_sse test.
Julian Seward [Mon, 6 Dec 2004 00:36:25 +0000 (00:36 +0000)] 
Fix bug exposed by improved insn_sse test.

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

21 years agoAnother test case, containing a lot of FP code, which generally stresses
Julian Seward [Mon, 6 Dec 2004 00:00:04 +0000 (00:00 +0000)] 
Another test case, containing a lot of FP code, which generally stresses
iropt quite a lot.

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

21 years agoMove to new place.
Julian Seward [Sun, 5 Dec 2004 23:54:32 +0000 (23:54 +0000)] 
Move to new place.

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

21 years agoContains most fpu, mmx and sse1 insns.
Julian Seward [Sun, 5 Dec 2004 23:53:22 +0000 (23:53 +0000)] 
Contains most fpu, mmx and sse1 insns.

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

21 years agoPlace for storing x86 original code files.
Julian Seward [Sun, 5 Dec 2004 23:51:54 +0000 (23:51 +0000)] 
Place for storing x86 original code files.

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

21 years agoMake small procedures to add/sub small amounts from esp.
Julian Seward [Sun, 5 Dec 2004 21:22:38 +0000 (21:22 +0000)] 
Make small procedures to add/sub small amounts from esp.

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

21 years agoFinish SSE1 instructions! Finallyatlast.
Julian Seward [Sun, 5 Dec 2004 19:29:45 +0000 (19:29 +0000)] 
Finish SSE1 instructions!  Finallyatlast.

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

21 years agoFix a load of confusion with SSE scalar float insns and memory.
Julian Seward [Sun, 5 Dec 2004 15:42:05 +0000 (15:42 +0000)] 
Fix a load of confusion with SSE scalar float insns and memory.

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

21 years agoEven more SSE insns.
Julian Seward [Sun, 5 Dec 2004 02:47:40 +0000 (02:47 +0000)] 
Even more SSE insns.

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

21 years agox86 host/guest: even more SSE instructions
Julian Seward [Sat, 4 Dec 2004 20:33:02 +0000 (20:33 +0000)] 
x86 host/guest: even more SSE instructions

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

21 years agoRationalisation/cleanup of float to/from int conversions and rounding
Julian Seward [Sat, 4 Dec 2004 14:36:09 +0000 (14:36 +0000)] 
Rationalisation/cleanup of float to/from int conversions and rounding
modes associated with them.

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

21 years agoSet host FPU mode to the default mode expected by VEX generated code.
Julian Seward [Sat, 4 Dec 2004 01:45:56 +0000 (01:45 +0000)] 
Set host FPU mode to the default mode expected by VEX generated code.
ToDo: set SSE control word correctly too, and also D flag.

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

21 years agox86 guest/host: a whole bunch more SSE instructions.
Julian Seward [Sat, 4 Dec 2004 01:38:37 +0000 (01:38 +0000)] 
x86 guest/host: a whole bunch more SSE instructions.

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

21 years agoAdd a bunch of easy SSE insns.
Julian Seward [Fri, 3 Dec 2004 20:08:31 +0000 (20:08 +0000)] 
Add a bunch of easy SSE insns.

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

21 years agoMucho messing around with x86 FP/SSE rounding modes etc. As a result
Julian Seward [Fri, 3 Dec 2004 19:43:31 +0000 (19:43 +0000)] 
Mucho messing around with x86 FP/SSE rounding modes etc.  As a result
implement a bunch of SSE float-int conversion insns.

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