Julian Seward
dd14dfa2ed
Add to-do note (comment-only change)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@934
2005-02-21 08:22:44 +00:00
Julian Seward
36e8605514
Folding rule for Shr64.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@933
2005-02-21 08:20:22 +00:00
Julian Seward
02d57b0810
Fix various front-end anomalies found by the amd64 test program.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@932
2005-02-19 22:47:41 +00:00
Julian Seward
86ededc22e
Test a few more bits and pieces.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@931
2005-02-19 22:46:11 +00:00
Julian Seward
a6e40599a3
Deal correctly with out-of-range shifts/rotates.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@930
2005-02-19 18:12:45 +00:00
Julian Seward
ba2e9245e9
Fix many amd64 guest/host cases required to run test/test-amd64.c.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@929
2005-02-19 15:22:38 +00:00
Julian Seward
d02735cd65
This is the same as the test-x86*.[ch] but modified for AMD64.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@928
2005-02-19 15:20:43 +00:00
Julian Seward
6115012787
Advance ppc32 to the point where we can hope to start the program.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@927
2005-02-17 18:07:56 +00:00
Julian Seward
a9dc13f5de
Handle some ppc32 relocation types.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@926
2005-02-17 17:42:30 +00:00
Cerion Armour-Brown
e2a16a4120
correction to branch instr for ppc hack
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@925
2005-02-17 16:14:16 +00:00
Cerion Armour-Brown
bd98149439
surely it couldn't be still more ppc hacks...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@924
2005-02-17 15:54:44 +00:00
Julian Seward
96547bed9d
Even more ppc32 hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@923
2005-02-17 15:16:08 +00:00
Julian Seward
6215a76506
More ppc hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@922
2005-02-17 15:02:10 +00:00
Julian Seward
348634bc14
ppc32 hacks
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@921
2005-02-17 14:35:24 +00:00
Cerion Armour-Brown
7a8b4dc0f4
first ppc32 assembly attempts...
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@920
2005-02-17 14:17:12 +00:00
Julian Seward
a0b00aa5a6
Fix enough stuff to get through 'hello world' on amd64.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@919
2005-02-17 09:28:28 +00:00
Julian Seward
b060b0f143
Tidy up the constant folder and add some more rules.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@918
2005-02-17 09:26:05 +00:00
Cerion Armour-Brown
09d35a8b99
Cleaned up a little more
...
Set Pin_Goto to use GPR3 for the return register (holding next address for dispacher)
git-svn-id: svn://svn.valgrind.org/vex/trunk@917
2005-02-16 18:08:25 +00:00
Cerion Armour-Brown
33fd9d35ce
Fixed silly bug (and->add ahem.)
...
Fixed up some DIPs
Took out bypasses for floating point and a bad instr.
git-svn-id: svn://svn.valgrind.org/vex/trunk@916
2005-02-16 18:05:16 +00:00
Cerion Armour-Brown
8b1bc962b4
Fixed emit_PPC32Instr::Pin_Goto
...
All other changes are cleanup only.
git-svn-id: svn://svn.valgrind.org/vex/trunk@915
2005-02-16 16:08:17 +00:00
Cerion Armour-Brown
1bc261b8b1
Emitted Div, fixed mul... that's the lot for return0.orig\!
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@914
2005-02-16 14:43:14 +00:00
Cerion Armour-Brown
cbb6b540ca
hdefs
...
-----
Sorted out Mul
- removed from Alu32
- replaced with proper Pin_MulL
More instr emitting
- cmp32, unary32, mulL, cmov, set32, mfence
isel
----
Added a couple of handy funcs:
- mk_FitRI16, mk_RItoR
Reworked div, mul, mfence
git-svn-id: svn://svn.valgrind.org/vex/trunk@913
2005-02-16 14:14:49 +00:00
Cerion Armour-Brown
a028fc9dcf
More instr emitting:
...
- most 'forms' done
- had a go at Pin_Call, Pin_Goto
Changed CondTest & added invertCondTest()
Fixed Div - only takes reg operands
Fixed iselIntExpr_R_wrk: alu32, div, shft - dtrt with large immediates
git-svn-id: svn://svn.valgrind.org/vex/trunk@912
2005-02-16 10:25:26 +00:00
Cerion Armour-Brown
989f120295
... and forgetful :-)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@911
2005-02-16 09:09:46 +00:00
Cerion Armour-Brown
b963063473
I admit it, I'm lazy.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@910
2005-02-16 09:08:23 +00:00
Cerion Armour-Brown
2b2549ae53
spacing/comment cleanup only
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@909
2005-02-16 08:54:33 +00:00
Cerion Armour-Brown
4d2471377a
Sorted out the condcode stuff - hopefully correctly...
...
- (for Call, Goto, Mux0X)
Gave compares their own instr struct (was in alu32)
Took out Pin_Test32 - no such op for ppc32
- replaced with Pin_Cmp32
Sorted out shifts
- shift l|r only take reg args, but sar takes imm (groan)
Done isMove_PPC32Instr()
Some work on instr emitting.
- Pin_Alu32, Pin_Sh32,...
git-svn-id: svn://svn.valgrind.org/vex/trunk@908
2005-02-15 15:46:59 +00:00
Julian Seward
acbe57bc1a
un-break compilation on x86
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@907
2005-02-14 00:22:30 +00:00
Julian Seward
37ec6e8a69
Print stats at exit, and minor changes
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@906
2005-02-14 00:17:49 +00:00
Julian Seward
e7ac399147
Make this test a bit more demanding.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@905
2005-02-14 00:16:50 +00:00
Julian Seward
db90956e58
Fill in enough cases to run switchback/test_bzip2.c on amd64.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@904
2005-02-13 14:13:04 +00:00
Julian Seward
f9ef6c2060
sigh; on amd64 do not place common symbols high in the address space
...
as they cannot be referenced in 32-bit relocations. This is really
a hack needed to run test_bzip2.o on the switchback simulator.
git-svn-id: svn://svn.valgrind.org/vex/trunk@903
2005-02-13 13:43:57 +00:00
Julian Seward
cc440b54b5
Allow the service function to handle free() as well as malloc().
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@902
2005-02-13 12:47:56 +00:00
Julian Seward
a922b7a2e9
A self-contained, hacked version of bzip2 which can run on the
...
switchback simulator.
git-svn-id: svn://svn.valgrind.org/vex/trunk@901
2005-02-13 12:47:03 +00:00
Julian Seward
33f1cd9d63
Fix printf format string.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@900
2005-02-13 10:43:41 +00:00
Julian Seward
7431bdb27d
Make it easy to print the symbol table.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@899
2005-02-13 10:43:16 +00:00
Julian Seward
7f3a53ba86
Fill in many amd64 integer cases.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@898
2005-02-13 02:26:41 +00:00
Julian Seward
f431a71d25
Fold Iop_Sub64.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@897
2005-02-13 02:24:26 +00:00
Julian Seward
dd06920d1c
Don't redefine offsetof if it is already defined.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@896
2005-02-13 02:22:41 +00:00
Julian Seward
6bf14161b4
minor changes
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@895
2005-02-13 00:56:35 +00:00
Julian Seward
90bf1a65f5
Deal with amd64-specific relocations.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@894
2005-02-13 00:54:52 +00:00
Julian Seward
b93bbc09f7
Heavily modified emfloat benchmark from bytemark, changed to be
...
self-contained so that switchback can run it.
git-svn-id: svn://svn.valgrind.org/vex/trunk@893
2005-02-12 19:01:03 +00:00
Julian Seward
322bf368f7
Resuscitate a linker that knows how to do relocations, so we can
...
actually run real programs.
git-svn-id: svn://svn.valgrind.org/vex/trunk@892
2005-02-12 18:59:31 +00:00
Julian Seward
6414da4f2a
Add amd64 support.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@891
2005-02-12 13:32:12 +00:00
Julian Seward
367aefe801
Remove file which shouldn't have been added in the first place.
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@890
2005-02-12 13:03:50 +00:00
Julian Seward
a808d9da5a
A very simple dynamic translator built on Vex, for the purpose of
...
debugging Vex using the binary-search-switchback technique
git-svn-id: svn://svn.valgrind.org/vex/trunk@889
2005-02-12 13:02:24 +00:00
Cerion Armour-Brown
6fd31bc4cb
cleaned up guest-ppc32 assembly printouts
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@888
2005-02-11 14:46:42 +00:00
Cerion Armour-Brown
33c2beb954
and now emit instrs big-endianly... :-)
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@887
2005-02-11 13:55:41 +00:00
Cerion Armour-Brown
a17cecb0ca
increased N_HREG_USAGE for host-ppc32
...
git-svn-id: svn://svn.valgrind.org/vex/trunk@886
2005-02-11 13:46:13 +00:00
Cerion Armour-Brown
3eefe94930
Added the first instrs (load,store) to emit_PPC32Instr()
...
Corrected some assembly printouts
git-svn-id: svn://svn.valgrind.org/vex/trunk@885
2005-02-11 13:38:15 +00:00