]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
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

20 years agoEven more amd64 floating point bits and pieces.
Julian Seward [Fri, 25 Feb 2005 14:22:12 +0000 (14:22 +0000)] 
Even more amd64 floating point bits and pieces.

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

20 years agoFix flags define & printout last run translation after all...
Cerion Armour-Brown [Fri, 25 Feb 2005 13:40:31 +0000 (13:40 +0000)] 
Fix flags define & printout last run translation after all...

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

20 years agoFixes to getReg_field, putReg_field
Cerion Armour-Brown [Fri, 25 Feb 2005 13:39:10 +0000 (13:39 +0000)] 
Fixes to getReg_field, putReg_field

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

20 years agoFill in a bunch more amd64 floating point cases. Some non-trivial
Julian Seward [Fri, 25 Feb 2005 13:03:03 +0000 (13:03 +0000)] 
Fill in a bunch more amd64 floating point cases.  Some non-trivial
FP programs are beginning to work now.

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

20 years agoRe-arranged switchback::run_simulator a little, so can print translation of current...
Cerion Armour-Brown [Fri, 25 Feb 2005 12:33:12 +0000 (12:33 +0000)] 
Re-arranged switchback::run_simulator a little, so can print translation of current bb (so if test breaks @ N, we can switchback @ N and N gets printed)

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

20 years agoCorrection to iselCC::IexTmp
Cerion Armour-Brown [Fri, 25 Feb 2005 12:08:02 +0000 (12:08 +0000)] 
Correction to iselCC::IexTmp

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

20 years agoAdded a couple of unhandled isel instrs:
Cerion Armour-Brown [Fri, 25 Feb 2005 11:16:58 +0000 (11:16 +0000)] 
Added a couple of unhandled isel instrs:
IselStmt::Ist_Tmp::Ity_I1
iselCondCode::Iex_Tmp

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

20 years agoFix to guest-ppc32 subfic
Cerion Armour-Brown [Fri, 25 Feb 2005 10:23:46 +0000 (10:23 +0000)] 
Fix to guest-ppc32 subfic

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

20 years agoFill in a huge number of amd64 floating point cases, and start to
Julian Seward [Fri, 25 Feb 2005 02:48:47 +0000 (02:48 +0000)] 
Fill in a huge number of amd64 floating point cases, and start to
reinstate the old x87 instruction decoder.

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

20 years agoFixed a backend shift bug: src/dst were swapped in emitted code.
Cerion Armour-Brown [Thu, 24 Feb 2005 20:01:02 +0000 (20:01 +0000)] 
Fixed a backend shift bug: src/dst were swapped in emitted code.
Also fixed an assembly printf for Set32.

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

20 years agoAnother go at fixing the rotate mask
Cerion Armour-Brown [Thu, 24 Feb 2005 16:59:17 +0000 (16:59 +0000)] 
Another go at fixing the rotate mask

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

20 years agoFixed a rotate bug: IBM bit labelling got me again
Cerion Armour-Brown [Thu, 24 Feb 2005 14:57:12 +0000 (14:57 +0000)] 
Fixed a rotate bug: IBM bit labelling got me again

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

20 years agoSome simplifying of guest register access in toIR.c
Cerion Armour-Brown [Thu, 24 Feb 2005 11:19:51 +0000 (11:19 +0000)] 
Some simplifying of guest register access in toIR.c
getReg_masked no longer calls getReg_bit for XER

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

20 years agoAdded front-end code for conditional register logic instrs
Cerion Armour-Brown [Wed, 23 Feb 2005 23:13:29 +0000 (23:13 +0000)] 
Added front-end code for conditional register logic instrs
Cleaned up the register access interface a little.

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

20 years agoJust some assembly printout changes
Cerion Armour-Brown [Wed, 23 Feb 2005 18:21:31 +0000 (18:21 +0000)] 
Just some assembly printout changes

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

20 years agoCleaning up the x86 back end: get rid of instruction variants which
Julian Seward [Wed, 23 Feb 2005 13:31:25 +0000 (13:31 +0000)] 
Cleaning up the x86 back end: get rid of instruction variants which
the instruction selector will never generate.  I guess this
demonstrates that the majority of operations are sufficiently rare
that it is not worth going to much effort to generate good code for
them.

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

20 years agoFix wrong comments (comment-only change)
Julian Seward [Wed, 23 Feb 2005 13:28:27 +0000 (13:28 +0000)] 
Fix wrong comments (comment-only change)

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

20 years agoMany amd64 FP cases, including conversion to/from int (tedious stuff).
Julian Seward [Wed, 23 Feb 2005 11:39:21 +0000 (11:39 +0000)] 
Many amd64 FP cases, including conversion to/from int (tedious stuff).

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

20 years agoFix to run_translation: need to save LR on _caller's_ stack, and leave a hole for...
Cerion Armour-Brown [Wed, 23 Feb 2005 11:20:53 +0000 (11:20 +0000)] 
Fix to run_translation: need to save LR on _caller's_ stack, and leave a hole for a callee to do the same on our stack.

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

20 years agoAdded new instruction RdWrLR to read/write link register.
Cerion Armour-Brown [Tue, 22 Feb 2005 20:36:49 +0000 (20:36 +0000)] 
Added new instruction RdWrLR to read/write link register.
The LR is saved in ISelEnv at the start of every bb
The LR is restored before any Goto.
This is needed because LR is a caller-saved register on PPC32, so helper functions may kill it.
(Could save/restore around each helper call, but not efficient)

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

20 years agoCoupl'a front-end load / save bugs
Cerion Armour-Brown [Tue, 22 Feb 2005 18:39:18 +0000 (18:39 +0000)] 
Coupl'a front-end load / save bugs

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

20 years agoMake the switchbacker work on ppc32.
Julian Seward [Tue, 22 Feb 2005 15:12:00 +0000 (15:12 +0000)] 
Make the switchbacker work on ppc32.

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

20 years agoBetter assembly printouts, and added iselCondCode 1:Bit Const
Cerion Armour-Brown [Tue, 22 Feb 2005 11:16:54 +0000 (11:16 +0000)] 
Better assembly printouts, and added iselCondCode 1:Bit Const

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

20 years agoGotcha!
Cerion Armour-Brown [Tue, 22 Feb 2005 11:07:35 +0000 (11:07 +0000)] 
Gotcha!

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

20 years agojust turned off some debug printfs
Cerion Armour-Brown [Mon, 21 Feb 2005 16:44:03 +0000 (16:44 +0000)] 
just turned off some debug printfs

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

20 years agocoupl'a small fixes for ppc32
Cerion Armour-Brown [Mon, 21 Feb 2005 16:30:45 +0000 (16:30 +0000)] 
coupl'a small fixes for ppc32

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

20 years agoFixes to host_ppc32:
Cerion Armour-Brown [Mon, 21 Feb 2005 15:09:19 +0000 (15:09 +0000)] 
Fixes to host_ppc32:
 - correct assembly printouts for goto, load
 - emit_instrn
   - cmp: 7-crfD (f'ing ibm)
   - added mkLoadImm(), mkMoveReg()
   - call: 'target >> 2'
   - call,goto,cmov: fixed conditional jumps
   - goto: return correctly
   - set32: fix src,dst regs for flag rotate

 - isel:
   mk_iMOVds_RRI(): ORi, not ANDi

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

20 years agoCorrected some mistakes in guest_ppc32
Cerion Armour-Brown [Mon, 21 Feb 2005 14:07:48 +0000 (14:07 +0000)] 
Corrected some mistakes in guest_ppc32
 - getReg(): bad mask
 - incorrect instr decode for addi, addic, addic.
 - compares: set bad compare flags: 8,4
 - andi: 'And', not 'Add' !
 - branches: deal properly with negative offsets/addresses

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

20 years agofinished off switchback code for ppc32
Cerion Armour-Brown [Mon, 21 Feb 2005 13:58:38 +0000 (13:58 +0000)] 
finished off switchback code for ppc32

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

20 years agoMore amd64 SSE/FP bits and pieces.
Julian Seward [Mon, 21 Feb 2005 13:58:26 +0000 (13:58 +0000)] 
More amd64 SSE/FP bits and pieces.

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

20 years agoamd64 guest/host floating point square root (easy) and comparisons
Julian Seward [Mon, 21 Feb 2005 12:36:54 +0000 (12:36 +0000)] 
amd64 guest/host floating point square root (easy) and comparisons
(difficult)

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

20 years agoMake a start on floating point for AMD64 (really part of rev 936 but I
Julian Seward [Mon, 21 Feb 2005 08:28:46 +0000 (08:28 +0000)] 
Make a start on floating point for AMD64 (really part of rev 936 but I
missed it for some reason).

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

20 years agoMake a start on floating point for AMD64.
Julian Seward [Mon, 21 Feb 2005 08:25:55 +0000 (08:25 +0000)] 
Make a start on floating point for AMD64.

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

20 years agoAdd %xmm0 .. %xmm15 to the amd64 guest state.
Julian Seward [Mon, 21 Feb 2005 08:23:39 +0000 (08:23 +0000)] 
Add %xmm0 .. %xmm15 to the amd64 guest state.

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

20 years agoAdd to-do note (comment-only change)
Julian Seward [Mon, 21 Feb 2005 08:22:44 +0000 (08:22 +0000)] 
Add to-do note (comment-only change)

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

20 years agoFolding rule for Shr64.
Julian Seward [Mon, 21 Feb 2005 08:20:22 +0000 (08:20 +0000)] 
Folding rule for Shr64.

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

20 years agoFix various front-end anomalies found by the amd64 test program.
Julian Seward [Sat, 19 Feb 2005 22:47:41 +0000 (22:47 +0000)] 
Fix various front-end anomalies found by the amd64 test program.

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

20 years agoTest a few more bits and pieces.
Julian Seward [Sat, 19 Feb 2005 22:46:11 +0000 (22:46 +0000)] 
Test a few more bits and pieces.

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

20 years agoDeal correctly with out-of-range shifts/rotates.
Julian Seward [Sat, 19 Feb 2005 18:12:45 +0000 (18:12 +0000)] 
Deal correctly with out-of-range shifts/rotates.

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

20 years agoFix many amd64 guest/host cases required to run test/test-amd64.c.
Julian Seward [Sat, 19 Feb 2005 15:22:38 +0000 (15:22 +0000)] 
Fix many amd64 guest/host cases required to run test/test-amd64.c.

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

20 years agoThis is the same as the test-x86*.[ch] but modified for AMD64.
Julian Seward [Sat, 19 Feb 2005 15:20:43 +0000 (15:20 +0000)] 
This is the same as the test-x86*.[ch] but modified for AMD64.

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

20 years agoAdvance ppc32 to the point where we can hope to start the program.
Julian Seward [Thu, 17 Feb 2005 18:07:56 +0000 (18:07 +0000)] 
Advance ppc32 to the point where we can hope to start the program.

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

20 years agoHandle some ppc32 relocation types.
Julian Seward [Thu, 17 Feb 2005 17:42:30 +0000 (17:42 +0000)] 
Handle some ppc32 relocation types.

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

20 years agocorrection to branch instr for ppc hack
Cerion Armour-Brown [Thu, 17 Feb 2005 16:14:16 +0000 (16:14 +0000)] 
correction to branch instr for ppc hack

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

20 years agosurely it couldn't be still more ppc hacks...
Cerion Armour-Brown [Thu, 17 Feb 2005 15:54:44 +0000 (15:54 +0000)] 
surely it couldn't be still more ppc hacks...

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

20 years agoEven more ppc32 hacks
Julian Seward [Thu, 17 Feb 2005 15:16:08 +0000 (15:16 +0000)] 
Even more ppc32 hacks

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

20 years agoMore ppc hacks
Julian Seward [Thu, 17 Feb 2005 15:02:10 +0000 (15:02 +0000)] 
More ppc hacks

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

20 years agoppc32 hacks
Julian Seward [Thu, 17 Feb 2005 14:35:24 +0000 (14:35 +0000)] 
ppc32 hacks

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

20 years agofirst ppc32 assembly attempts...
Cerion Armour-Brown [Thu, 17 Feb 2005 14:17:12 +0000 (14:17 +0000)] 
first ppc32 assembly attempts...

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

20 years agoFix enough stuff to get through 'hello world' on amd64.
Julian Seward [Thu, 17 Feb 2005 09:28:28 +0000 (09:28 +0000)] 
Fix enough stuff to get through 'hello world' on amd64.

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

20 years agoTidy up the constant folder and add some more rules.
Julian Seward [Thu, 17 Feb 2005 09:26:05 +0000 (09:26 +0000)] 
Tidy up the constant folder and add some more rules.

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

20 years agoCleaned up a little more
Cerion Armour-Brown [Wed, 16 Feb 2005 18:08:25 +0000 (18:08 +0000)] 
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

20 years agoFixed silly bug (and->add ahem.)
Cerion Armour-Brown [Wed, 16 Feb 2005 18:05:16 +0000 (18:05 +0000)] 
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

20 years agoFixed emit_PPC32Instr::Pin_Goto
Cerion Armour-Brown [Wed, 16 Feb 2005 16:08:17 +0000 (16:08 +0000)] 
Fixed emit_PPC32Instr::Pin_Goto

All other changes are cleanup only.

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

20 years agoEmitted Div, fixed mul... that's the lot for return0.orig\!
Cerion Armour-Brown [Wed, 16 Feb 2005 14:43:14 +0000 (14:43 +0000)] 
Emitted Div, fixed mul... that's the lot for return0.orig\!

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

20 years agohdefs
Cerion Armour-Brown [Wed, 16 Feb 2005 14:14:49 +0000 (14:14 +0000)] 
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

20 years agoMore instr emitting:
Cerion Armour-Brown [Wed, 16 Feb 2005 10:25:26 +0000 (10:25 +0000)] 
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

20 years ago... and forgetful :-)
Cerion Armour-Brown [Wed, 16 Feb 2005 09:09:46 +0000 (09:09 +0000)] 
... and forgetful :-)

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

20 years agoI admit it, I'm lazy.
Cerion Armour-Brown [Wed, 16 Feb 2005 09:08:23 +0000 (09:08 +0000)] 
I admit it, I'm lazy.

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

20 years agospacing/comment cleanup only
Cerion Armour-Brown [Wed, 16 Feb 2005 08:54:33 +0000 (08:54 +0000)] 
spacing/comment cleanup only

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

20 years agoSorted out the condcode stuff - hopefully correctly...
Cerion Armour-Brown [Tue, 15 Feb 2005 15:46:59 +0000 (15:46 +0000)] 
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

20 years agoun-break compilation on x86
Julian Seward [Mon, 14 Feb 2005 00:22:30 +0000 (00:22 +0000)] 
un-break compilation on x86

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

20 years agoPrint stats at exit, and minor changes
Julian Seward [Mon, 14 Feb 2005 00:17:49 +0000 (00:17 +0000)] 
Print stats at exit, and minor changes

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

20 years agoMake this test a bit more demanding.
Julian Seward [Mon, 14 Feb 2005 00:16:50 +0000 (00:16 +0000)] 
Make this test a bit more demanding.

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

20 years agoFill in enough cases to run switchback/test_bzip2.c on amd64.
Julian Seward [Sun, 13 Feb 2005 14:13:04 +0000 (14:13 +0000)] 
Fill in enough cases to run switchback/test_bzip2.c on amd64.

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

20 years agosigh; on amd64 do not place common symbols high in the address space
Julian Seward [Sun, 13 Feb 2005 13:43:57 +0000 (13:43 +0000)] 
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

20 years agoAllow the service function to handle free() as well as malloc().
Julian Seward [Sun, 13 Feb 2005 12:47:56 +0000 (12:47 +0000)] 
Allow the service function to handle free() as well as malloc().

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

20 years agoA self-contained, hacked version of bzip2 which can run on the
Julian Seward [Sun, 13 Feb 2005 12:47:03 +0000 (12:47 +0000)] 
A self-contained, hacked version of bzip2 which can run on the
switchback simulator.

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

20 years agoFix printf format string.
Julian Seward [Sun, 13 Feb 2005 10:43:41 +0000 (10:43 +0000)] 
Fix printf format string.

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

20 years agoMake it easy to print the symbol table.
Julian Seward [Sun, 13 Feb 2005 10:43:16 +0000 (10:43 +0000)] 
Make it easy to print the symbol table.

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

20 years agoFill in many amd64 integer cases.
Julian Seward [Sun, 13 Feb 2005 02:26:41 +0000 (02:26 +0000)] 
Fill in many amd64 integer cases.

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

20 years agoFold Iop_Sub64.
Julian Seward [Sun, 13 Feb 2005 02:24:26 +0000 (02:24 +0000)] 
Fold Iop_Sub64.

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

20 years agoDon't redefine offsetof if it is already defined.
Julian Seward [Sun, 13 Feb 2005 02:22:41 +0000 (02:22 +0000)] 
Don't redefine offsetof if it is already defined.

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

20 years agominor changes
Julian Seward [Sun, 13 Feb 2005 00:56:35 +0000 (00:56 +0000)] 
minor changes

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

20 years agoDeal with amd64-specific relocations.
Julian Seward [Sun, 13 Feb 2005 00:54:52 +0000 (00:54 +0000)] 
Deal with amd64-specific relocations.

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

20 years agoHeavily modified emfloat benchmark from bytemark, changed to be
Julian Seward [Sat, 12 Feb 2005 19:01:03 +0000 (19:01 +0000)] 
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

20 years agoResuscitate a linker that knows how to do relocations, so we can
Julian Seward [Sat, 12 Feb 2005 18:59:31 +0000 (18:59 +0000)] 
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

20 years agoAdd amd64 support.
Julian Seward [Sat, 12 Feb 2005 13:32:12 +0000 (13:32 +0000)] 
Add amd64 support.

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

20 years agoRemove file which shouldn't have been added in the first place.
Julian Seward [Sat, 12 Feb 2005 13:03:50 +0000 (13:03 +0000)] 
Remove file which shouldn't have been added in the first place.

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

20 years agoA very simple dynamic translator built on Vex, for the purpose of
Julian Seward [Sat, 12 Feb 2005 13:02:24 +0000 (13:02 +0000)] 
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

20 years agocleaned up guest-ppc32 assembly printouts
Cerion Armour-Brown [Fri, 11 Feb 2005 14:46:42 +0000 (14:46 +0000)] 
cleaned up guest-ppc32 assembly printouts

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

20 years agoand now emit instrs big-endianly... :-)
Cerion Armour-Brown [Fri, 11 Feb 2005 13:55:41 +0000 (13:55 +0000)] 
and now emit instrs big-endianly... :-)

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

20 years agoincreased N_HREG_USAGE for host-ppc32
Cerion Armour-Brown [Fri, 11 Feb 2005 13:46:13 +0000 (13:46 +0000)] 
increased N_HREG_USAGE for host-ppc32

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

20 years agoAdded the first instrs (load,store) to emit_PPC32Instr()
Cerion Armour-Brown [Fri, 11 Feb 2005 13:38:15 +0000 (13:38 +0000)] 
Added the first instrs (load,store) to emit_PPC32Instr()

Corrected some assembly printouts

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

20 years agoAdded Div32 - that's the last for this .orig file!
Cerion Armour-Brown [Thu, 10 Feb 2005 22:35:34 +0000 (22:35 +0000)] 
Added Div32 - that's the last for this .orig file!

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

20 years agoAdded CLZ
Cerion Armour-Brown [Thu, 10 Feb 2005 19:51:03 +0000 (19:51 +0000)] 
Added CLZ
Fixed Unary32
Added genSpill_PPC32, genReload_PPC32

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

20 years agohdefs: MulL, MFence
Cerion Armour-Brown [Thu, 10 Feb 2005 16:11:35 +0000 (16:11 +0000)] 
hdefs: MulL, MFence
isel:
  Iop_64HIto32
  Iop_64to32
  iselInt64Expr:
    Iop_MullU32
    Iop_MullS32
  Ist_MFence

Had a go at implementing long multiplies (last shortcut was wrong)

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

20 years agohdefs: CMov32, Set32
Cerion Armour-Brown [Thu, 10 Feb 2005 15:03:19 +0000 (15:03 +0000)] 
hdefs: CMov32, Set32
isel:
  Iex_LDle
  match for 64HIto32(MullU32(expr,expr))
  1Uto32, 1Uto8
  Iex_Mux0X
  Iop_Cmp*
  Ist_Exit

Changed Unary32 to use hreg only (no imm for this on ppc32)
Fixed a reg usage mistake with call/goto

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

20 years agoDealt with some cases where imm > 0xFFFF
Cerion Armour-Brown [Thu, 10 Feb 2005 11:39:43 +0000 (11:39 +0000)] 
Dealt with some cases where imm > 0xFFFF

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

20 years agoFill in many amd64 front end and back end cases.
Julian Seward [Thu, 10 Feb 2005 02:07:43 +0000 (02:07 +0000)] 
Fill in many amd64 front end and back end cases.

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

20 years agoChanged the register setup a little
Cerion Armour-Brown [Wed, 9 Feb 2005 21:01:22 +0000 (21:01 +0000)] 
Changed the register setup a little

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

20 years agoPrint useful diagnostics if reg-alloc bombs due to bogus live ranges
Julian Seward [Wed, 9 Feb 2005 19:13:29 +0000 (19:13 +0000)] 
Print useful diagnostics if reg-alloc bombs due to bogus live ranges
in the input code.

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

20 years agoA whole bunch more ppc32 backend code
Cerion Armour-Brown [Wed, 9 Feb 2005 17:29:49 +0000 (17:29 +0000)] 
A whole bunch more ppc32 backend code
- just the isel stuff so far, no assembly

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

20 years agokeeping arm .orig files
Cerion Armour-Brown [Wed, 9 Feb 2005 13:03:06 +0000 (13:03 +0000)] 
keeping arm .orig files

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

20 years agoMore amd64 back end bits and pieces.
Julian Seward [Tue, 8 Feb 2005 20:10:04 +0000 (20:10 +0000)] 
More amd64 back end bits and pieces.

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