]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
20 years agoamd64 back end: deal with (ignore) Ist_IMark and Ist_NoOp
Julian Seward [Tue, 22 Mar 2005 00:15:00 +0000 (00:15 +0000)] 
amd64 back end: deal with (ignore) Ist_IMark and Ist_NoOp

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

20 years agoGenerate offsets needed for V on amd64.
Julian Seward [Mon, 21 Mar 2005 17:41:45 +0000 (17:41 +0000)] 
Generate offsets needed for V on amd64.

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

20 years agoMake several more files compile cleanly with icc -Wall. Hopefully
Julian Seward [Mon, 21 Mar 2005 03:11:17 +0000 (03:11 +0000)] 
Make several more files compile cleanly with icc -Wall.  Hopefully
this doesn't break anything.

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

20 years agoThe "icc -Wall" placation project rumbles onward ...
Julian Seward [Mon, 21 Mar 2005 02:47:42 +0000 (02:47 +0000)] 
The "icc -Wall" placation project rumbles onward ...

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

20 years agoThe Icc typechecker police have been round banging on our doors again.
Julian Seward [Mon, 21 Mar 2005 01:06:20 +0000 (01:06 +0000)] 
The Icc typechecker police have been round banging on our doors again.
Placating icc -Wall is a Herculean task; I don't know if it will ever
get completed.

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

20 years agoBring up-to-date.
Julian Seward [Mon, 21 Mar 2005 01:03:49 +0000 (01:03 +0000)] 
Bring up-to-date.

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

20 years agoA small API change: pass both the guest and host word sizes to the
Julian Seward [Mon, 21 Mar 2005 00:54:33 +0000 (00:54 +0000)] 
A small API change: pass both the guest and host word sizes to the
instrumentatation functions.

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

20 years agoAdd a new IR statement kind: IRStmt_NoOp, to denote a no-operation.
Julian Seward [Mon, 21 Mar 2005 00:15:53 +0000 (00:15 +0000)] 
Add a new IR statement kind: IRStmt_NoOp, to denote a no-operation.
These are generated by the IR optimiser.  The use of no-ops replaces
the old practice of allowing a BB to contain NULL pointers in its
statement array as a way of denoting no-ops.  NULL stmts are now no
longer allowed under any circumstances, and the IR sanity checker will
reject any BB containing them.

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

20 years agoFix copy-n-paste-o spotted by Ceri.
Julian Seward [Mon, 21 Mar 2005 00:12:15 +0000 (00:12 +0000)] 
Fix copy-n-paste-o spotted by Ceri.

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

20 years agoThis commit looks big but it is really quite small. Fixes some
Julian Seward [Sun, 20 Mar 2005 18:44:44 +0000 (18:44 +0000)] 
This commit looks big but it is really quite small.  Fixes some
matters arising from the first-pass attempt at IRifying cachegrind:

* Make all library-user visible functions have names that
  match either LibVEX_* or *IR[A-Z]*.

* Put a comment at the top of libvex_ir.h explaining the
  naming scheme a little.

* Make a previously-private function public, giving eqIRAtom.

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

20 years agoThe party never stops in x86-land: implement 'fstsw' as cachegrind's
Julian Seward [Sun, 20 Mar 2005 12:51:39 +0000 (12:51 +0000)] 
The party never stops in x86-land: implement 'fstsw' as cachegrind's
regression tests require it.

Also tighten up assertion checking in putIReg, and update some
copyright notices.

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

20 years agoMore insns: ftst, movupd
Julian Seward [Sat, 19 Mar 2005 14:27:04 +0000 (14:27 +0000)] 
More insns: ftst, movupd

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

20 years agoMove this file to the right place.
Julian Seward [Sat, 19 Mar 2005 14:26:27 +0000 (14:26 +0000)] 
Move this file to the right place.

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

20 years agoTest for the x87 'tst' instruction. In the wrong place unfortunately.
Julian Seward [Sat, 19 Mar 2005 14:25:49 +0000 (14:25 +0000)] 
Test for the x87 'tst' instruction.  In the wrong place unfortunately.

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

20 years agoFramework for front-end floating point disassembly
Cerion Armour-Brown [Fri, 18 Mar 2005 12:23:33 +0000 (12:23 +0000)] 
Framework for front-end floating point disassembly

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

20 years agoFill in missing pinsrw memory-to-xmm case.
Julian Seward [Thu, 17 Mar 2005 14:03:46 +0000 (14:03 +0000)] 
Fill in missing pinsrw memory-to-xmm case.

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

20 years agoQuieten down gcc
Cerion Armour-Brown [Thu, 17 Mar 2005 14:03:36 +0000 (14:03 +0000)] 
Quieten down gcc

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

20 years agoUse ULong instead of Int for stopAfter and n_bbs_done - shouldn't run out of bbs...
Cerion Armour-Brown [Thu, 17 Mar 2005 13:11:06 +0000 (13:11 +0000)] 
Use ULong instead of Int for stopAfter and n_bbs_done - shouldn't run out of bbs for a while now...

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

20 years agohandy test wrapper
Cerion Armour-Brown [Thu, 17 Mar 2005 13:01:08 +0000 (13:01 +0000)] 
handy test wrapper

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

20 years agostop compiler errors on fp regs, add possibily of setting xer_ca, clearly choose...
Cerion Armour-Brown [Thu, 17 Mar 2005 13:00:11 +0000 (13:00 +0000)] 
stop compiler errors on fp regs, add possibily of setting xer_ca, clearly choose what tests to run

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

20 years agoPrint IMarks a bit more visibly.
Julian Seward [Thu, 17 Mar 2005 09:57:03 +0000 (09:57 +0000)] 
Print IMarks a bit more visibly.

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

20 years agoWe no longer need a complete spare copy of V hanging off the Vex tree.
Julian Seward [Wed, 16 Mar 2005 20:54:10 +0000 (20:54 +0000)] 
We no longer need a complete spare copy of V hanging off the Vex tree.

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

20 years agoAdd a new kind of IR stmt: "instruction marks" (IRStmt_IMark), so as
Julian Seward [Wed, 16 Mar 2005 18:19:10 +0000 (18:19 +0000)] 
Add a new kind of IR stmt: "instruction marks" (IRStmt_IMark), so as
to support profiling.  It is the responsibility of front ends (toIR.c)
to generate these.  For each instruction, the first IR stmt emitted
should be an IMark, stating the guest address and length of the guest
instruction represented by the IR that follows.  All IR stmts
following the IMark but before the next IMark are then assumed to
'belong to' the guest insn described by the first IMark.  IMarks do
not denote executable code and can be ignored at any point in the
proceedings; they are an optional addition which help
profiling-annotators to navigate the IR stmt stream.

This commit adds IR level infrastructure for IMarks and IMark
generation in the x86 front end.  The amd64 and ppc32 front end are
not yet done.

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

20 years agoRevert to doing x86->x86 (utterly trivial change)
Julian Seward [Wed, 16 Mar 2005 18:10:45 +0000 (18:10 +0000)] 
Revert to doing x86->x86 (utterly trivial change)

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

20 years agoFixed front-end srawi carry flag calc
Cerion Armour-Brown [Wed, 16 Mar 2005 14:12:58 +0000 (14:12 +0000)] 
Fixed front-end srawi carry flag calc

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

20 years agoAdd guest_TISTART and guest_TILEN fields to all guest state structs,
Julian Seward [Wed, 16 Mar 2005 13:57:58 +0000 (13:57 +0000)] 
Add guest_TISTART and guest_TILEN fields to all guest state structs,
since eventually users of the library will refer to them, and unless
they exist in all guest states, compilation failure will result.

These fields contain the size and length of an area of icache
invalidated by any icache-flushing instruction encountered.  On x86
and amd64 there is no such insn and so they are zeroed at startup and
play no further role at all.  But on ppc32 they are written to as a
result of executing an 'icbi' instruction.

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

20 years agoAdd %EBP/%RBP to the set of registers for which redundant-PUT
Julian Seward [Wed, 16 Mar 2005 11:52:25 +0000 (11:52 +0000)] 
Add %EBP/%RBP to the set of registers for which redundant-PUT
elimination is not done.  This is needed so that Valgrind can
construct correct stack traces on x86/amd64.  Curiously enough old
UCode valgrind didn't do this correctly, but because it doesn't
optimise as aggressively as Vex, we didn't notice this.  Overall
result is that Vex-based valgrind now produces more accurate stack
traces, at least on x86, than valgrind-2.4.X will.

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

20 years agosmall fix to rlwnm_cb loop
Cerion Armour-Brown [Wed, 16 Mar 2005 11:51:03 +0000 (11:51 +0000)] 
small fix to rlwnm_cb loop

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

20 years agoFixed xer_ca flag calc for subfze,
Cerion Armour-Brown [Wed, 16 Mar 2005 00:27:37 +0000 (00:27 +0000)] 
Fixed xer_ca flag calc for subfze,
Cleaned up ghelpers.c: calc_xer_ca, calc_xer_ov
Cleaned up toIR.c dis_int_arith, dis_int_cmp, dis_int_logic, dis_int_shift

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

20 years agoBe a bit more paranoid about icbi.
Julian Seward [Tue, 15 Mar 2005 18:27:40 +0000 (18:27 +0000)] 
Be a bit more paranoid about icbi.

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

20 years agoImproved method for discarding invalidated translations.
Julian Seward [Tue, 15 Mar 2005 17:49:46 +0000 (17:49 +0000)] 
Improved method for discarding invalidated translations.

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

20 years agoSupport for vex-directed instruction-cache invalidation, needed for
Julian Seward [Tue, 15 Mar 2005 16:54:13 +0000 (16:54 +0000)] 
Support for vex-directed instruction-cache invalidation, needed for
PowerPC icbi instruction support.

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

20 years agoBrain-dead (but working) support for Vex-directed translation-cache
Julian Seward [Tue, 15 Mar 2005 16:52:13 +0000 (16:52 +0000)] 
Brain-dead (but working) support for Vex-directed translation-cache
invalidates.

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

20 years agoSomewhat reduce the number of immediate values in test-with-immediate
Julian Seward [Tue, 15 Mar 2005 16:51:30 +0000 (16:51 +0000)] 
Somewhat reduce the number of immediate values in test-with-immediate
style tests.

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

20 years agoFix backend cntlzw
Cerion Armour-Brown [Tue, 15 Mar 2005 16:36:02 +0000 (16:36 +0000)] 
Fix backend cntlzw

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

20 years agoCleanup backend: var name chages like src1,2 -> srcL,R etc
Cerion Armour-Brown [Tue, 15 Mar 2005 16:33:38 +0000 (16:33 +0000)] 
Cleanup backend: var name chages like src1,2 -> srcL,R etc

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

20 years agoBuild fixes for gcc-2.96 (be more ANSI C compliant wrt placement
Julian Seward [Mon, 14 Mar 2005 18:19:08 +0000 (18:19 +0000)] 
Build fixes for gcc-2.96 (be more ANSI C compliant wrt placement
of local variable declarations).

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

20 years agoFixed ghelper mullwo overflow calc
Cerion Armour-Brown [Mon, 14 Mar 2005 16:31:15 +0000 (16:31 +0000)] 
Fixed ghelper mullwo overflow calc

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

20 years agoFixed front-end slw for sh_amt of 32 to 64
Cerion Armour-Brown [Mon, 14 Mar 2005 16:30:09 +0000 (16:30 +0000)] 
Fixed front-end slw for sh_amt of 32 to 64

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

20 years agoFill in missing memory case for pinsrw.
Julian Seward [Sun, 13 Mar 2005 20:19:19 +0000 (20:19 +0000)] 
Fill in missing memory case for pinsrw.

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

20 years agoThe IR sanity checker quite rightly jumps up and down on the ill-typed
Julian Seward [Sun, 13 Mar 2005 19:52:45 +0000 (19:52 +0000)] 
The IR sanity checker quite rightly jumps up and down on the ill-typed
IR that this can generate.  Get it right this time.

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

20 years agoReenable mov imm,$reg. Curious this never happened before.
Julian Seward [Sun, 13 Mar 2005 19:31:58 +0000 (19:31 +0000)] 
Reenable mov imm,$reg.  Curious this never happened before.

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

20 years agoSo what if we are ignoring a branch hint? No need to shout about it.
Julian Seward [Sun, 13 Mar 2005 18:56:28 +0000 (18:56 +0000)] 
So what if we are ignoring a branch hint?  No need to shout about it.

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

20 years agoDeal with Group 8 immediates (bt, btl, btr, btc).
Julian Seward [Sun, 13 Mar 2005 17:25:53 +0000 (17:25 +0000)] 
Deal with Group 8 immediates (bt, btl, btr, btc).

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

20 years agoDeal better with x86 'rep nop' (P4 pause hint).
Julian Seward [Sat, 12 Mar 2005 16:47:18 +0000 (16:47 +0000)] 
Deal better with x86 'rep nop' (P4 pause hint).

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

20 years agoReenable cmpsw/cmpsl.
Julian Seward [Fri, 11 Mar 2005 14:00:27 +0000 (14:00 +0000)] 
Reenable cmpsw/cmpsl.

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

20 years agoMake suitable for initial test run.
Julian Seward [Fri, 11 Mar 2005 12:04:29 +0000 (12:04 +0000)] 
Make suitable for initial test run.

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

20 years agoFixed front-end xer reg access
Cerion Armour-Brown [Fri, 11 Mar 2005 09:12:11 +0000 (09:12 +0000)] 
Fixed front-end xer reg access

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

20 years agoChange license on switchback/test_ppc_jm1.c as per Jocelyn's
Julian Seward [Thu, 10 Mar 2005 23:13:15 +0000 (23:13 +0000)] 
Change license on switchback/test_ppc_jm1.c as per Jocelyn's
instructions.

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

20 years agorm QEMU references; the derivation is now so distant its barely
Julian Seward [Thu, 10 Mar 2005 19:40:41 +0000 (19:40 +0000)] 
rm QEMU references; the derivation is now so distant its barely
relevant.

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

20 years agoApparently we're a .net, not merely a .co.uk.
Julian Seward [Thu, 10 Mar 2005 19:33:19 +0000 (19:33 +0000)] 
Apparently we're a .net, not merely a .co.uk.

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

20 years agoFix typo
Julian Seward [Thu, 10 Mar 2005 19:09:02 +0000 (19:09 +0000)] 
Fix typo

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

20 years agoStatement about copyright.
Julian Seward [Thu, 10 Mar 2005 18:55:58 +0000 (18:55 +0000)] 
Statement about copyright.

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

20 years agoAdd a copy of GNU GPL v2.
Julian Seward [Thu, 10 Mar 2005 18:55:27 +0000 (18:55 +0000)] 
Add a copy of GNU GPL v2.

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

20 years agoClean up for public availability.
Julian Seward [Thu, 10 Mar 2005 18:28:08 +0000 (18:28 +0000)] 
Clean up for public availability.

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

20 years agoAdded test_ppc to Makefile
Cerion Armour-Brown [Thu, 10 Mar 2005 15:53:11 +0000 (15:53 +0000)] 
Added test_ppc to Makefile

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

20 years agoAnother test commit
Julian Seward [Thu, 10 Mar 2005 15:03:52 +0000 (15:03 +0000)] 
Another test commit

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

20 years agoA second test commit.
Julian Seward [Thu, 10 Mar 2005 13:54:15 +0000 (13:54 +0000)] 
A second test commit.

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

20 years agoRemove something old (really, a test commit for the new repo location)
Julian Seward [Thu, 10 Mar 2005 13:27:14 +0000 (13:27 +0000)] 
Remove something old (really, a test commit for the new repo location)

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

20 years agoJocelyn Mayer's fabulous ppc test program.
Julian Seward [Wed, 9 Mar 2005 13:13:30 +0000 (13:13 +0000)] 
Jocelyn Mayer's fabulous ppc test program.

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

20 years agoAs part of the build process, generate pub/libvex_guest_offsets.h holding
Julian Seward [Tue, 8 Mar 2005 16:43:27 +0000 (16:43 +0000)] 
As part of the build process, generate pub/libvex_guest_offsets.h holding
guest state offsets.

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

20 years agoA place to put auxiliary programs used as part of the build process.
Julian Seward [Tue, 8 Mar 2005 16:34:09 +0000 (16:34 +0000)] 
A place to put auxiliary programs used as part of the build process.

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

20 years agoCleaned up front end a fair bit.
Cerion Armour-Brown [Fri, 4 Mar 2005 17:35:29 +0000 (17:35 +0000)] 
Cleaned up front end a fair bit.
Consolidated spr (non-gpr/fpr) register interface
Brought together separate guest XER flags to single word
 + fixed up switchback (latter slighly broken since r1002)
Few more comments, vasserts etc.
Updated page refs to PPC32 docs

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

20 years agofix cmd call of switchback, and deal with return err 256
Cerion Armour-Brown [Fri, 4 Mar 2005 14:20:14 +0000 (14:20 +0000)] 
fix cmd call of switchback, and deal with return err 256

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

20 years agoA couple more flags-specialisation cases, derived from profiling FP
Julian Seward [Fri, 4 Mar 2005 13:51:28 +0000 (13:51 +0000)] 
A couple more flags-specialisation cases, derived from profiling FP
code.

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

20 years agoguest state padding wibble
Julian Seward [Fri, 4 Mar 2005 13:50:53 +0000 (13:50 +0000)] 
guest state padding wibble

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

20 years agoCleaning up frontend
Cerion Armour-Brown [Thu, 3 Mar 2005 17:36:23 +0000 (17:36 +0000)] 
Cleaning up frontend
 - inc. changing all guest-state UChars to UInts

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

20 years agoCleaned up backend a little
Cerion Armour-Brown [Thu, 3 Mar 2005 17:21:51 +0000 (17:21 +0000)] 
Cleaned up backend a little

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

20 years agoDealt properly with immediates in the backend - reduces emmitted code by ~1/3
Cerion Armour-Brown [Thu, 3 Mar 2005 13:55:22 +0000 (13:55 +0000)] 
Dealt properly with immediates in the backend - reduces emmitted code by ~1/3

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

20 years agocomments only: guest-state offsets
Cerion Armour-Brown [Thu, 3 Mar 2005 05:29:17 +0000 (05:29 +0000)] 
comments only: guest-state offsets

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

20 years agoCleaned up isel for instns taking an RI arg
Cerion Armour-Brown [Thu, 3 Mar 2005 05:17:08 +0000 (05:17 +0000)] 
Cleaned up isel for instns taking an RI arg
 - limiting imms to 15 bits, so don't get inappropriately sign-extended.

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

20 years agoprintout stderr msg on abnormal switchback exit
Cerion Armour-Brown [Thu, 3 Mar 2005 04:49:09 +0000 (04:49 +0000)] 
printout stderr msg on abnormal switchback exit

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

20 years agoFixed sign-extend bug for compares (just putting imm in a reg, for now) - test_bzip...
Cerion Armour-Brown [Thu, 3 Mar 2005 02:21:22 +0000 (02:21 +0000)] 
Fixed sign-extend bug for compares (just putting imm in a reg, for now) - test_bzip works now!
Load small imm's more simply in mk_iMOVds_RRI (move RI to R).

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

20 years agoSimplified sraw a little
Cerion Armour-Brown [Thu, 3 Mar 2005 02:17:06 +0000 (02:17 +0000)] 
Simplified sraw a little

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

20 years ago* toIR.c: Handle a few more insns needed to run simple X applications
Julian Seward [Wed, 2 Mar 2005 16:05:13 +0000 (16:05 +0000)] 
* toIR.c: Handle a few more insns needed to run simple X applications
  (xfontsel, xedit)
* iropt.c: add a folding rule for Xor16.

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

20 years agoDeal with last_bad == given_last_good
Cerion Armour-Brown [Tue, 1 Mar 2005 20:31:53 +0000 (20:31 +0000)] 
Deal with last_bad == given_last_good
Some printout changes
Ignore vex output in output test

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

20 years agoSmall backend printout changes only
Cerion Armour-Brown [Tue, 1 Mar 2005 20:27:49 +0000 (20:27 +0000)] 
Small backend printout changes only

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

20 years agoAdd a constant folding rule for MullS32.
Julian Seward [Tue, 1 Mar 2005 10:19:23 +0000 (10:19 +0000)] 
Add a constant folding rule for MullS32.

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

20 years agoFront end bug: bad arg order for MuxOX of srw
Cerion Armour-Brown [Tue, 1 Mar 2005 09:32:01 +0000 (09:32 +0000)] 
Front end bug: bad arg order for MuxOX of srw

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

20 years agoBackend bug: mkFormD wasn't smallifying the imm
Cerion Armour-Brown [Tue, 1 Mar 2005 09:11:49 +0000 (09:11 +0000)] 
Backend bug: mkFormD wasn't smallifying the imm
(plus not-quite-right vassert)
Small change to front-end cmp DIP

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

20 years agoperl script to run a binary search with switchback
Cerion Armour-Brown [Mon, 28 Feb 2005 18:48:27 +0000 (18:48 +0000)] 
perl script to run a binary search with switchback

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

20 years agoFront-end fix for slw - _record_ the result...
Cerion Armour-Brown [Mon, 28 Feb 2005 16:43:16 +0000 (16:43 +0000)] 
Front-end fix for slw - _record_ the result...

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

20 years agoGradually move popular translations towards the start of the
Julian Seward [Mon, 28 Feb 2005 14:26:22 +0000 (14:26 +0000)] 
Gradually move popular translations towards the start of the
table, so they can be found more quickly on subsequent lookups.

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

20 years agoGet rid of assertion which, as gcc points out, is useless.
Julian Seward [Mon, 28 Feb 2005 12:26:49 +0000 (12:26 +0000)] 
Get rid of assertion which, as gcc points out, is useless.

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

20 years agoPlacate Icc in the usual way.
Julian Seward [Sun, 27 Feb 2005 13:39:25 +0000 (13:39 +0000)] 
Placate Icc in the usual way.

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

20 years agoA few more 64-bit folding rules.
Julian Seward [Sun, 27 Feb 2005 13:35:41 +0000 (13:35 +0000)] 
A few more 64-bit folding rules.

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

20 years agoComment-only change.
Julian Seward [Sun, 27 Feb 2005 13:31:42 +0000 (13:31 +0000)] 
Comment-only change.

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

20 years agoOops! The whole point of rev 980 was to get rid of eregOfRM and
Julian Seward [Sun, 27 Feb 2005 13:25:31 +0000 (13:25 +0000)] 
Oops!  The whole point of rev 980 was to get rid of eregOfRM and
gregOfRM.  This commit actually does get rid of them :-)

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

20 years agoA major overhaul of the way integer register decoding is done on
Julian Seward [Sun, 27 Feb 2005 13:10:48 +0000 (13:10 +0000)] 
A major overhaul of the way integer register decoding is done on
amd64.

The presence of REX bytes -- whilst apparently a simple change --
significantly complicates instruction decoding.  The main problem is
that integer register numbers are now split into two pieces, one bit
from the REX byte and three bits from the modrm byte (or wherever).
The tricky bit is to always ensure that the correct pieces are
reassembled to form 4-bit register numbers.  Prior to this commit, it
was easy to make that kind of error -- eg, conjoining the REX.B bit
with the 'g' modrm field to produce a nonsense register number.  This
commit rearranges the handling functions for integer registers to make
that kind of error much less likely, basically by not allowing you to
deal in fragments of register fields unless absolutely necessary.

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

20 years agoIcc typechecker police.
Julian Seward [Sat, 26 Feb 2005 02:16:39 +0000 (02:16 +0000)] 
Icc typechecker police.

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

20 years agoMore icc-related cleanups.
Julian Seward [Sat, 26 Feb 2005 02:00:50 +0000 (02:00 +0000)] 
More icc-related cleanups.

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

20 years agoIcc typechecker police.
Julian Seward [Sat, 26 Feb 2005 01:55:02 +0000 (01:55 +0000)] 
Icc typechecker police.

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

20 years agoFix some register-field decoding bugs for SSE. Nasty. There has to
Julian Seward [Sat, 26 Feb 2005 01:17:42 +0000 (01:17 +0000)] 
Fix some register-field decoding bugs for SSE.  Nasty.  There has to
be a more foolproof way of doing this.

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

20 years agoFixed some front end with-zero loads
Cerion Armour-Brown [Fri, 25 Feb 2005 20:47:36 +0000 (20:47 +0000)] 
Fixed some front end with-zero loads

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

20 years agoFixed isel::load of small imm to reg - these are UInts: we don't want sign extension.
Cerion Armour-Brown [Fri, 25 Feb 2005 18:46:14 +0000 (18:46 +0000)] 
Fixed isel::load of small imm to reg - these are UInts: we don't want sign extension.
Fixed frontend addi DIP

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

20 years agoAdd toUInt.
Julian Seward [Fri, 25 Feb 2005 18:36:07 +0000 (18:36 +0000)] 
Add toUInt.

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

20 years agoIcc typechecker fixes.
Julian Seward [Fri, 25 Feb 2005 18:31:27 +0000 (18:31 +0000)] 
Icc typechecker fixes.

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

20 years agoAnother round of placating icc's typechecker.
Julian Seward [Fri, 25 Feb 2005 17:40:26 +0000 (17:40 +0000)] 
Another round of placating icc's typechecker.

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

20 years agoSimplified front-end IR encoding for some subtracts
Cerion Armour-Brown [Fri, 25 Feb 2005 16:43:08 +0000 (16:43 +0000)] 
Simplified front-end IR encoding for some subtracts

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

20 years agoAlu32::SUB was broken in the backend.
Cerion Armour-Brown [Fri, 25 Feb 2005 16:39:58 +0000 (16:39 +0000)] 
Alu32::SUB was broken in the backend.
Moved Alu32::SUB to it's own instruction: Sub32
---
PPC32 only implements subf (= sub from), which takes form
subf(ic) regD, regA, regB|immB  => rD = rB|immB - rA
Hence Iop_Sub32 is given an RI as the left arg...
---

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