Julian Seward
2c1e2edde0
Make iropt.c compile cleanly with icc in paranoid mode. Along the way,
...
find and fix what looked like a bug in the folding rule for Iop_32to1.
git-svn-id: svn://svn.valgrind.org/vex/trunk@856
2005-02-07 01:11:31 +00:00
Julian Seward
6d551741ea
More 32-bit build cleanups.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@855
2005-02-07 00:20:43 +00:00
Julian Seward
2e798a8c20
Get a clean(er) build on amd64. Also a couple of amd64 fe/be fixes.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@854
2005-02-07 00:17:12 +00:00
Julian Seward
04149a3b0b
Define ULong_to_Ptr / Ptr_to_ULong to help clean up 64/32 bit issues.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@853
2005-02-07 00:00:50 +00:00
Julian Seward
c61edd07ae
A few more bits and pieces of amd64 instruction support.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@852
2005-02-05 18:24:47 +00:00
Julian Seward
c8d75a58e7
Fill in many amd64 assembler cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@851
2005-02-05 14:34:18 +00:00
Julian Seward
474760698a
Even more startup paranoia.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@850
2005-02-05 14:32:18 +00:00
Julian Seward
219771799c
Add missing commas.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@849
2005-02-05 14:13:00 +00:00
Cerion Armour-Brown
5d533616a0
Small correction to getReg_CR()
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@848
2005-02-05 14:01:57 +00:00
Cerion Armour-Brown
23da0b97f2
Cleaned up thunk functions.
...
Abstracted non-GPR register access - safer & cleaner.
git-svn-id: svn://svn.valgrind.org/vex/trunk@847
2005-02-05 13:45:57 +00:00
Julian Seward
52df8ca399
Fill in some more amd64 assembler cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@846
2005-02-05 12:00:14 +00:00
Julian Seward
8c2cdf9d3a
Allow easy switching of guest-host arch pairs using ifdefs.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@845
2005-02-04 21:18:55 +00:00
Julian Seward
2094d61f0a
A couple of debugging hacks to allow work to proceed on a front end
...
without a corresponding working back end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@844
2005-02-04 21:18:16 +00:00
Julian Seward
354ef43965
Make a start on the amd64 assembler. Bleh.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@843
2005-02-04 21:16:48 +00:00
Julian Seward
379421ad05
'movabsq' instruction definitions.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@842
2005-02-04 21:15:39 +00:00
Julian Seward
e0154ca0a1
Fix bogus assertion. (How long has that been there?)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@841
2005-02-04 21:14:52 +00:00
Julian Seward
05c23f7afc
A few more amd64 isel cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@840
2005-02-04 21:13:55 +00:00
Cerion Armour-Brown
c70920e120
Yay! return.orig gets totally chomped!
...
- Implemented sc, lwarx, stwcrx.
- Plus a couple of corrections
git-svn-id: svn://svn.valgrind.org/vex/trunk@839
2005-02-04 18:29:05 +00:00
Cerion Armour-Brown
42114e95ed
Support host-ppc32...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@838
2005-02-04 16:28:19 +00:00
Cerion Armour-Brown
b9345ff768
Get the PPC32 back-end show on the road.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@837
2005-02-04 16:17:07 +00:00
Cerion Armour-Brown
01e7da0fab
Represent floats in guest_ppc32
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@836
2005-02-04 16:13:58 +00:00
Cerion Armour-Brown
057c15a99a
Fixed 'branch op to read pc', plus cleaned up a little
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@835
2005-02-04 16:03:09 +00:00
Julian Seward
fcfc2250c4
A simpler .orig file, which (1) has no Altivec insns, and (2) is
...
simply the result of compiling and running
int main ( void ) { return 0; }
which turns out to be a lot simpler than running /bin/date.
git-svn-id: svn://svn.valgrind.org/vex/trunk@834
2005-02-04 11:58:47 +00:00
Julian Seward
9c1c692db2
Fix many instruction selection cases, including function calls.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@833
2005-02-04 01:44:33 +00:00
Julian Seward
00784909bc
Record some shortcomings (comment-only change).
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@832
2005-02-04 01:40:54 +00:00
Julian Seward
5ce63674dd
Fix wrong comment.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@831
2005-02-04 01:40:03 +00:00
Cerion Armour-Brown
13fa26ca53
Reworked dis_branch to be somewhat simpler (optimiser can now simplify the IR well).
...
Extended dis_proc_ctl() a little.
Updated printfs with '\n' on the end of each (duh!).
git-svn-id: svn://svn.valgrind.org/vex/trunk@830
2005-02-03 18:20:22 +00:00
Cerion Armour-Brown
e19bab0f85
Using new IR div ops
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@829
2005-02-03 14:00:32 +00:00
Cerion Armour-Brown
f479082422
Added new ir ops Iop_DivU32, Iop_DivS32
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@828
2005-02-03 13:59:46 +00:00
Cerion Armour-Brown
2342dad1b6
tiny correction to guest-arm branch op
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@827
2005-02-03 13:43:16 +00:00
Cerion Armour-Brown
8697ffc9c0
Undoing mistaken commit of r825.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@826
2005-02-03 13:40:49 +00:00
Cerion Armour-Brown
11891638bc
tiny correction to guest-arm branch
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@825
2005-02-03 13:27:19 +00:00
Cerion Armour-Brown
2c9794bc17
Fixed nand, and added pass-through for a couple of rather strange instructions...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@824
2005-02-03 11:56:40 +00:00
Cerion Armour-Brown
c4dcc02217
- Added lots of printfs on decode failures.
...
- Added printf_binary function (handy for theInstr)
- Added first level floating point instr decode - just to allow them to pass
through, for the mo.
git-svn-id: svn://svn.valgrind.org/vex/trunk@823
2005-02-03 11:03:31 +00:00
Julian Seward
0e441a31a9
Fix enough stuff so that the first bb goes through, up to and
...
including register allocation.
git-svn-id: svn://svn.valgrind.org/vex/trunk@822
2005-02-03 03:53:52 +00:00
Julian Seward
8f1c38012d
Make the guest-state-size 64-bit aligned, else some assertion or other
...
throws a wobbly.
git-svn-id: svn://svn.valgrind.org/vex/trunk@821
2005-02-03 03:52:21 +00:00
Julian Seward
17d9c791a8
Fix out-of-date comment.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@820
2005-02-03 03:50:06 +00:00
Julian Seward
6a105519f5
Make the x86 back end happy to chew through IR from the ppc32 front
...
end, so we can now translate integer ppc32 code into x86 (!)
git-svn-id: svn://svn.valgrind.org/vex/trunk@819
2005-02-02 17:52:37 +00:00
Cerion Armour-Brown
2c94c58e3f
Lots of cleanup
...
Couple of new ops - lswx, memsync stuff
git-svn-id: svn://svn.valgrind.org/vex/trunk@818
2005-02-02 17:13:28 +00:00
Julian Seward
e5d545bd8c
Do a bunch more basic integer instruction selection cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@817
2005-02-02 03:11:24 +00:00
Julian Seward
e056508444
It seems we never generate x86 rotate insns, so get rid of these.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@816
2005-02-02 03:10:01 +00:00
Julian Seward
0058d99134
My first AMD64 instruction. Ga. Goo. (etc)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@815
2005-02-02 02:16:03 +00:00
Julian Seward
4a01a0cc9e
Remove trivial CSE.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@814
2005-02-02 02:15:10 +00:00
Cerion Armour-Brown
16ae4f3449
a lonely eqv op...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@813
2005-02-01 21:35:25 +00:00
Cerion Armour-Brown
42878f8918
Cleaned up clean-helper functions
...
Added various vasserts around the place.
git-svn-id: svn://svn.valgrind.org/vex/trunk@812
2005-02-01 21:29:39 +00:00
Julian Seward
ff30a41cfb
Deal with undecodable instructions by generating code to yield with
...
Ijk_NoDecode, so that clients of the library can act as they wish.
git-svn-id: svn://svn.valgrind.org/vex/trunk@811
2005-02-01 20:46:00 +00:00
Julian Seward
e7a93c45b1
Get the AMD64 back-end show on the road.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@810
2005-02-01 20:30:00 +00:00
Julian Seward
fecf8f93c9
Fix comment error.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@809
2005-02-01 20:27:57 +00:00
Cerion Armour-Brown
c9f1effbc1
Still more ops...
...
stores/loads, moves to/from spr's
Plus fixed 'calculate_cr0' stuff somewhat.
git-svn-id: svn://svn.valgrind.org/vex/trunk@808
2005-02-01 19:06:15 +00:00
Julian Seward
a55aa39193
Get rid of debug printing.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@807
2005-02-01 16:08:06 +00:00