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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 years agoMore amd64 system calls.
Julian Seward [Sat, 19 Feb 2005 22:45:15 +0000 (22:45 +0000)] 
More amd64 system calls.

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

21 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

21 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

21 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

21 years agoClean up startup grunge a bit.
Julian Seward [Fri, 18 Feb 2005 09:39:05 +0000 (09:39 +0000)] 
Clean up startup grunge a bit.

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

21 years agoMake ELF symbol reading work on both 32 and 64 bit platforms.
Julian Seward [Fri, 18 Feb 2005 09:38:08 +0000 (09:38 +0000)] 
Make ELF symbol reading work on both 32 and 64 bit platforms.

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

21 years agoFurther cleanups to low-level memory management. It's still a
Julian Seward [Fri, 18 Feb 2005 08:28:32 +0000 (08:28 +0000)] 
Further cleanups to low-level memory management.  It's still a
conceptual mess and needs a redesign, but this is a start.  Most stuff
now works again.

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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

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

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

21 years agoFix comment.
Julian Seward [Thu, 17 Feb 2005 09:29:33 +0000 (09:29 +0000)] 
Fix comment.

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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 years agoTurn off tons of debug printing.
Julian Seward [Wed, 16 Feb 2005 01:58:51 +0000 (01:58 +0000)] 
Turn off tons of debug printing.

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

21 years agoDuh; mmap doesn't work if you don't use the post-mmap wrapper too.
Julian Seward [Wed, 16 Feb 2005 01:58:01 +0000 (01:58 +0000)] 
Duh; mmap doesn't work if you don't use the post-mmap wrapper too.

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

21 years agoMajor rewrite of the machinery which keeps track of segments:
Julian Seward [Wed, 16 Feb 2005 01:31:37 +0000 (01:31 +0000)] 
Major rewrite of the machinery which keeps track of segments:

* remove initialisation-time circularities by not using the
  skiplist mechanism and therefore not using any dynamically
  allocated memory in support of this mechanism

* Add comments about how it works (it is pretty opaque) so as
  to help future maintainers/bug-fixers

It only just works and many things are still broken.  That should
improve rapidly however.

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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 years agoRemove more debug printing.
Julian Seward [Sun, 13 Feb 2005 11:05:31 +0000 (11:05 +0000)] 
Remove more debug printing.

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

21 years agoRemove misc debug printing.
Julian Seward [Sun, 13 Feb 2005 11:02:12 +0000 (11:02 +0000)] 
Remove misc debug printing.

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

21 years agoChange signature of thread_syscall a bit.
Julian Seward [Sun, 13 Feb 2005 10:57:01 +0000 (10:57 +0000)] 
Change signature of thread_syscall a bit.

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

21 years agoDebugging hacks (switchback routine -- unused)
Julian Seward [Sun, 13 Feb 2005 10:56:22 +0000 (10:56 +0000)] 
Debugging hacks (switchback routine -- unused)

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

21 years agoDebug printing at startup.
Julian Seward [Sun, 13 Feb 2005 10:55:47 +0000 (10:55 +0000)] 
Debug printing at startup.

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

21 years agoDebug hacks (currently unused)
Julian Seward [Sun, 13 Feb 2005 10:53:51 +0000 (10:53 +0000)] 
Debug hacks (currently unused)

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

21 years agoFix bug causing __NR_read on amd64-linux to always be considered to have
Julian Seward [Sun, 13 Feb 2005 10:49:58 +0000 (10:49 +0000)] 
Fix bug causing __NR_read on amd64-linux to always be considered to have
failed -- because __NR_read == 0.

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

21 years agoamd64-linux syscall support.
Julian Seward [Sun, 13 Feb 2005 10:47:24 +0000 (10:47 +0000)] 
amd64-linux syscall support.

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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 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

21 years agoA first swing at getting ppc32 backend working.
Cerion Armour-Brown [Tue, 8 Feb 2005 19:40:24 +0000 (19:40 +0000)] 
A first swing at getting ppc32 backend working.
Done: tmp, get, put, load, store

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

21 years agoremoved host=bigendian assertion for now.
Cerion Armour-Brown [Tue, 8 Feb 2005 19:38:39 +0000 (19:38 +0000)] 
removed host=bigendian assertion for now.

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

21 years agoMore amd64 instruction set support. This includes (in toIR) more stuff
Julian Seward [Tue, 8 Feb 2005 15:02:39 +0000 (15:02 +0000)] 
More amd64 instruction set support.  This includes (in toIR) more stuff
to make %rip-relative addressing work properly.

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

21 years agoMake amd64 signal returns work.
Julian Seward [Tue, 8 Feb 2005 15:00:48 +0000 (15:00 +0000)] 
Make amd64 signal returns work.

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

21 years agoAdd a new IR type -- 128-bit integral (I128) and a small collection of
Julian Seward [Tue, 8 Feb 2005 11:13:09 +0000 (11:13 +0000)] 
Add a new IR type -- 128-bit integral (I128) and a small collection of
primops operating on it.  Use this to implement amd64 64x64->128
multiplies (will also be useful for divides).

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

21 years agoThis belonged with last nights changes... r868
Cerion Armour-Brown [Tue, 8 Feb 2005 11:12:02 +0000 (11:12 +0000)] 
This belonged with last nights changes... r868

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

21 years agoAnother attempt at abstracting the register access... not certain i've
Cerion Armour-Brown [Tue, 8 Feb 2005 02:19:25 +0000 (02:19 +0000)] 
Another attempt at abstracting the register access... not certain i've
succeeded... would like to abstract the 'setFlags_' functions too...
I want C++! boohoo...

Also tidied up dis_int_arith() & co., setting flags at function end.

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

21 years agoTrack renaming of Vex's Iop_*128* primops to Iop_*V128*.
Julian Seward [Mon, 7 Feb 2005 23:50:18 +0000 (23:50 +0000)] 
Track renaming of Vex's Iop_*128* primops to Iop_*V128*.

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

21 years agoConsistently rename all existing IROps which operate on 128-bit values
Julian Seward [Mon, 7 Feb 2005 23:47:38 +0000 (23:47 +0000)] 
Consistently rename all existing IROps which operate on 128-bit values
to make it clear they operate on 128-bit *vector* values.  This is so
as to facilitate introduction of a 128-bit *scalar* type into IR
without causing confusion.

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

21 years agoMake rflag-thunk evaluation work (ghelpers); fix various missing cases
Julian Seward [Mon, 7 Feb 2005 18:55:29 +0000 (18:55 +0000)] 
Make rflag-thunk evaluation work (ghelpers); fix various missing cases
(toIR, isel).

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

21 years agoFix assembly of amd64 amodes: the special cases that apply to %rsp on
Julian Seward [Mon, 7 Feb 2005 17:47:21 +0000 (17:47 +0000)] 
Fix assembly of amd64 amodes: the special cases that apply to %rsp on
x86 also (sometimes) also apply to %r12 on amd64; ditto %rbp and %r13.
Just for everybody's maximum confusion.

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

21 years agoFix %rip-relative addressing, which uses the address of the _next_
Julian Seward [Mon, 7 Feb 2005 15:02:25 +0000 (15:02 +0000)] 
Fix %rip-relative addressing, which uses the address of the _next_
instruction, not the current one.  Grrr.  This is inconvenient since
it means we sometimes need to know how long an insn is before it is
decoded, and that information is only available after is is decoded.

Currently we make guesses about insn length when a %rip-relative
address appears.  If such a guess is made, it is then checked for
correctness after the decode, so at least all errors should get picked
up.

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

21 years agoFix guest-state layout descriptor.
Julian Seward [Mon, 7 Feb 2005 14:59:28 +0000 (14:59 +0000)] 
Fix guest-state layout descriptor.

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

21 years agoTypechecker police.
Julian Seward [Mon, 7 Feb 2005 03:12:19 +0000 (03:12 +0000)] 
Typechecker police.

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

21 years agoMore typechecker police. Hopefully this doesn't break anything.
Julian Seward [Mon, 7 Feb 2005 03:11:17 +0000 (03:11 +0000)] 
More typechecker police.  Hopefully this doesn't break anything.

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

21 years agoSuppress another warning.
Julian Seward [Mon, 7 Feb 2005 02:34:22 +0000 (02:34 +0000)] 
Suppress another warning.

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

21 years agoTypechecker police (a big commit, but all harmless).
Julian Seward [Mon, 7 Feb 2005 02:33:58 +0000 (02:33 +0000)] 
Typechecker police (a big commit, but all harmless).

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

21 years agoTypechecker police. There are a couple of unresolved warnings which
Julian Seward [Mon, 7 Feb 2005 01:42:18 +0000 (01:42 +0000)] 
Typechecker police.  There are a couple of unresolved warnings which
actually point out some interesting inconsistencies.

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