]>
git.ipfire.org Git - thirdparty/valgrind.git/log
Julian Seward [Mon, 7 Feb 2005 01:39:17 +0000 (01:39 +0000)]
Typechecker police
git-svn-id: svn://svn.valgrind.org/vex/trunk@857
Julian Seward [Mon, 7 Feb 2005 01:11:31 +0000 (01:11 +0000)]
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
Julian Seward [Mon, 7 Feb 2005 00:20:43 +0000 (00:20 +0000)]
More 32-bit build cleanups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@855
Julian Seward [Mon, 7 Feb 2005 00:17:12 +0000 (00:17 +0000)]
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
Julian Seward [Mon, 7 Feb 2005 00:00:50 +0000 (00:00 +0000)]
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
Julian Seward [Sun, 6 Feb 2005 14:10:40 +0000 (14:10 +0000)]
Make --wait-for-gdb sort-of usable on amd64. I don't know why this
works on x86 -- and I can't make any analogous version work on amd64.
Hence return to a delay loop for the time being.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3231
Julian Seward [Sat, 5 Feb 2005 18:27:14 +0000 (18:27 +0000)]
Fix enough stuff so it will start up and run for a few bbs on amd64,
before dying.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3230
Julian Seward [Sat, 5 Feb 2005 18:24:47 +0000 (18:24 +0000)]
A few more bits and pieces of amd64 instruction support.
git-svn-id: svn://svn.valgrind.org/vex/trunk@852
Julian Seward [Sat, 5 Feb 2005 14:59:25 +0000 (14:59 +0000)]
Fix amd64 assembly for presumably newer binutils.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@3229
Julian Seward [Sat, 5 Feb 2005 14:34:18 +0000 (14:34 +0000)]
Fill in many amd64 assembler cases.
git-svn-id: svn://svn.valgrind.org/vex/trunk@851
Julian Seward [Sat, 5 Feb 2005 14:32:18 +0000 (14:32 +0000)]
Even more startup paranoia.
git-svn-id: svn://svn.valgrind.org/vex/trunk@850
Julian Seward [Sat, 5 Feb 2005 14:13:00 +0000 (14:13 +0000)]
Add missing commas.
git-svn-id: svn://svn.valgrind.org/vex/trunk@849
Cerion Armour-Brown [Sat, 5 Feb 2005 14:01:57 +0000 (14:01 +0000)]
Small correction to getReg_CR()
git-svn-id: svn://svn.valgrind.org/vex/trunk@848
Cerion Armour-Brown [Sat, 5 Feb 2005 13:45:57 +0000 (13:45 +0000)]
Cleaned up thunk functions.
Abstracted non-GPR register access - safer & cleaner.
git-svn-id: svn://svn.valgrind.org/vex/trunk@847
Julian Seward [Sat, 5 Feb 2005 12:00:14 +0000 (12:00 +0000)]
Fill in some more amd64 assembler cases.
git-svn-id: svn://svn.valgrind.org/vex/trunk@846
Julian Seward [Fri, 4 Feb 2005 21:18:55 +0000 (21:18 +0000)]
Allow easy switching of guest-host arch pairs using ifdefs.
git-svn-id: svn://svn.valgrind.org/vex/trunk@845
Julian Seward [Fri, 4 Feb 2005 21:18:16 +0000 (21:18 +0000)]
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
Julian Seward [Fri, 4 Feb 2005 21:16:48 +0000 (21:16 +0000)]
Make a start on the amd64 assembler. Bleh.
git-svn-id: svn://svn.valgrind.org/vex/trunk@843
Julian Seward [Fri, 4 Feb 2005 21:15:39 +0000 (21:15 +0000)]
'movabsq' instruction definitions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@842
Julian Seward [Fri, 4 Feb 2005 21:14:52 +0000 (21:14 +0000)]
Fix bogus assertion. (How long has that been there?)
git-svn-id: svn://svn.valgrind.org/vex/trunk@841
Julian Seward [Fri, 4 Feb 2005 21:13:55 +0000 (21:13 +0000)]
A few more amd64 isel cases.
git-svn-id: svn://svn.valgrind.org/vex/trunk@840
Cerion Armour-Brown [Fri, 4 Feb 2005 18:29:05 +0000 (18:29 +0000)]
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
Cerion Armour-Brown [Fri, 4 Feb 2005 16:28:19 +0000 (16:28 +0000)]
Support host-ppc32...
git-svn-id: svn://svn.valgrind.org/vex/trunk@838
Cerion Armour-Brown [Fri, 4 Feb 2005 16:17:07 +0000 (16:17 +0000)]
Get the PPC32 back-end show on the road.
git-svn-id: svn://svn.valgrind.org/vex/trunk@837
Cerion Armour-Brown [Fri, 4 Feb 2005 16:13:58 +0000 (16:13 +0000)]
Represent floats in guest_ppc32
git-svn-id: svn://svn.valgrind.org/vex/trunk@836
Cerion Armour-Brown [Fri, 4 Feb 2005 16:03:09 +0000 (16:03 +0000)]
Fixed 'branch op to read pc', plus cleaned up a little
git-svn-id: svn://svn.valgrind.org/vex/trunk@835
Julian Seward [Fri, 4 Feb 2005 11:58:47 +0000 (11:58 +0000)]
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
Julian Seward [Fri, 4 Feb 2005 01:44:33 +0000 (01:44 +0000)]
Fix many instruction selection cases, including function calls.
git-svn-id: svn://svn.valgrind.org/vex/trunk@833
Julian Seward [Fri, 4 Feb 2005 01:40:54 +0000 (01:40 +0000)]
Record some shortcomings (comment-only change).
git-svn-id: svn://svn.valgrind.org/vex/trunk@832
Julian Seward [Fri, 4 Feb 2005 01:40:03 +0000 (01:40 +0000)]
Fix wrong comment.
git-svn-id: svn://svn.valgrind.org/vex/trunk@831
Cerion Armour-Brown [Thu, 3 Feb 2005 18:20:22 +0000 (18:20 +0000)]
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
Cerion Armour-Brown [Thu, 3 Feb 2005 14:00:32 +0000 (14:00 +0000)]
Using new IR div ops
git-svn-id: svn://svn.valgrind.org/vex/trunk@829
Cerion Armour-Brown [Thu, 3 Feb 2005 13:59:46 +0000 (13:59 +0000)]
Added new ir ops Iop_DivU32, Iop_DivS32
git-svn-id: svn://svn.valgrind.org/vex/trunk@828
Cerion Armour-Brown [Thu, 3 Feb 2005 13:43:16 +0000 (13:43 +0000)]
tiny correction to guest-arm branch op
git-svn-id: svn://svn.valgrind.org/vex/trunk@827
Cerion Armour-Brown [Thu, 3 Feb 2005 13:40:49 +0000 (13:40 +0000)]
Undoing mistaken commit of r825.
git-svn-id: svn://svn.valgrind.org/vex/trunk@826
Cerion Armour-Brown [Thu, 3 Feb 2005 13:27:19 +0000 (13:27 +0000)]
tiny correction to guest-arm branch
git-svn-id: svn://svn.valgrind.org/vex/trunk@825
Cerion Armour-Brown [Thu, 3 Feb 2005 11:56:40 +0000 (11:56 +0000)]
Fixed nand, and added pass-through for a couple of rather strange instructions...
git-svn-id: svn://svn.valgrind.org/vex/trunk@824
Cerion Armour-Brown [Thu, 3 Feb 2005 11:03:31 +0000 (11:03 +0000)]
- 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
Julian Seward [Thu, 3 Feb 2005 03:53:52 +0000 (03:53 +0000)]
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
Julian Seward [Thu, 3 Feb 2005 03:52:21 +0000 (03:52 +0000)]
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
Julian Seward [Thu, 3 Feb 2005 03:50:06 +0000 (03:50 +0000)]
Fix out-of-date comment.
git-svn-id: svn://svn.valgrind.org/vex/trunk@820
Julian Seward [Wed, 2 Feb 2005 17:52:37 +0000 (17:52 +0000)]
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
Cerion Armour-Brown [Wed, 2 Feb 2005 17:13:28 +0000 (17:13 +0000)]
Lots of cleanup
Couple of new ops - lswx, memsync stuff
git-svn-id: svn://svn.valgrind.org/vex/trunk@818
Julian Seward [Wed, 2 Feb 2005 03:11:24 +0000 (03:11 +0000)]
Do a bunch more basic integer instruction selection cases.
git-svn-id: svn://svn.valgrind.org/vex/trunk@817
Julian Seward [Wed, 2 Feb 2005 03:10:01 +0000 (03:10 +0000)]
It seems we never generate x86 rotate insns, so get rid of these.
git-svn-id: svn://svn.valgrind.org/vex/trunk@816
Julian Seward [Wed, 2 Feb 2005 02:16:03 +0000 (02:16 +0000)]
My first AMD64 instruction. Ga. Goo. (etc)
git-svn-id: svn://svn.valgrind.org/vex/trunk@815
Julian Seward [Wed, 2 Feb 2005 02:15:10 +0000 (02:15 +0000)]
Remove trivial CSE.
git-svn-id: svn://svn.valgrind.org/vex/trunk@814
Cerion Armour-Brown [Tue, 1 Feb 2005 21:35:25 +0000 (21:35 +0000)]
a lonely eqv op...
git-svn-id: svn://svn.valgrind.org/vex/trunk@813
Cerion Armour-Brown [Tue, 1 Feb 2005 21:29:39 +0000 (21:29 +0000)]
Cleaned up clean-helper functions
Added various vasserts around the place.
git-svn-id: svn://svn.valgrind.org/vex/trunk@812
Julian Seward [Tue, 1 Feb 2005 20:46:00 +0000 (20:46 +0000)]
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
Julian Seward [Tue, 1 Feb 2005 20:30:00 +0000 (20:30 +0000)]
Get the AMD64 back-end show on the road.
git-svn-id: svn://svn.valgrind.org/vex/trunk@810
Julian Seward [Tue, 1 Feb 2005 20:27:57 +0000 (20:27 +0000)]
Fix comment error.
git-svn-id: svn://svn.valgrind.org/vex/trunk@809
Cerion Armour-Brown [Tue, 1 Feb 2005 19:06:15 +0000 (19:06 +0000)]
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
Julian Seward [Tue, 1 Feb 2005 16:08:06 +0000 (16:08 +0000)]
Get rid of debug printing.
git-svn-id: svn://svn.valgrind.org/vex/trunk@807
Julian Seward [Tue, 1 Feb 2005 16:07:05 +0000 (16:07 +0000)]
Fix misc naming things (unimportant)
git-svn-id: svn://svn.valgrind.org/vex/trunk@806
Julian Seward [Tue, 1 Feb 2005 16:06:14 +0000 (16:06 +0000)]
Add files in priv/host-amd64 to build system
git-svn-id: svn://svn.valgrind.org/vex/trunk@805
Cerion Armour-Brown [Tue, 1 Feb 2005 15:56:25 +0000 (15:56 +0000)]
More ops....
arith, loads, stores, branch, shifts, move from/to spr
git-svn-id: svn://svn.valgrind.org/vex/trunk@804
Julian Seward [Tue, 1 Feb 2005 15:55:05 +0000 (15:55 +0000)]
Files for amd64 back end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@803
Julian Seward [Tue, 1 Feb 2005 15:31:33 +0000 (15:31 +0000)]
New directory.
git-svn-id: svn://svn.valgrind.org/vex/trunk@802
Julian Seward [Tue, 1 Feb 2005 15:24:10 +0000 (15:24 +0000)]
PowerPC-32 has at at least two variant (with and without Altivec).
Add preliminary support for distinguishing the two.
git-svn-id: svn://svn.valgrind.org/vex/trunk@801
Julian Seward [Tue, 1 Feb 2005 00:37:06 +0000 (00:37 +0000)]
Typechecker (icc) police.
git-svn-id: svn://svn.valgrind.org/vex/trunk@800
Julian Seward [Mon, 31 Jan 2005 19:04:50 +0000 (19:04 +0000)]
Flee from relentless persecution by icc's typechecker :-)
git-svn-id: svn://svn.valgrind.org/vex/trunk@799
Julian Seward [Mon, 31 Jan 2005 18:55:22 +0000 (18:55 +0000)]
Fix various minor things found by auto-test
git-svn-id: svn://svn.valgrind.org/vex/trunk@798
Julian Seward [Mon, 31 Jan 2005 18:54:23 +0000 (18:54 +0000)]
Autotest dregs
git-svn-id: svn://svn.valgrind.org/vex/trunk@797
Julian Seward [Mon, 31 Jan 2005 18:53:58 +0000 (18:53 +0000)]
Wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@796
Cerion Armour-Brown [Mon, 31 Jan 2005 18:45:59 +0000 (18:45 +0000)]
some stores and loads
git-svn-id: svn://svn.valgrind.org/vex/trunk@795
Julian Seward [Mon, 31 Jan 2005 18:17:57 +0000 (18:17 +0000)]
Sync with test2.orig
git-svn-id: svn://svn.valgrind.org/vex/trunk@794
Julian Seward [Mon, 31 Jan 2005 18:09:43 +0000 (18:09 +0000)]
Add enough cases to handle all of orig_amd64/test2.orig.
git-svn-id: svn://svn.valgrind.org/vex/trunk@793
Julian Seward [Mon, 31 Jan 2005 18:08:45 +0000 (18:08 +0000)]
Add two new primops needed by the amd64 front end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@792
Julian Seward [Mon, 31 Jan 2005 18:07:56 +0000 (18:07 +0000)]
Make parseable by test_main
git-svn-id: svn://svn.valgrind.org/vex/trunk@791
Cerion Armour-Brown [Mon, 31 Jan 2005 17:03:25 +0000 (17:03 +0000)]
done int rotates
git-svn-id: svn://svn.valgrind.org/vex/trunk@790
Cerion Armour-Brown [Mon, 31 Jan 2005 15:24:55 +0000 (15:24 +0000)]
filled out more ops (mostly arith + logic), plus cleaned up a little
git-svn-id: svn://svn.valgrind.org/vex/trunk@789
Cerion Armour-Brown [Mon, 31 Jan 2005 11:54:05 +0000 (11:54 +0000)]
Added framework for mem sync, processor control, and cache management instructions
git-svn-id: svn://svn.valgrind.org/vex/trunk@788
Cerion Armour-Brown [Mon, 31 Jan 2005 11:05:18 +0000 (11:05 +0000)]
set client-request magic sequence in toIR.c
git-svn-id: svn://svn.valgrind.org/vex/trunk@787
Cerion Armour-Brown [Mon, 31 Jan 2005 10:09:59 +0000 (10:09 +0000)]
Added framework for rotates, shifts, loads, stores (plus DIPs all round)
git-svn-id: svn://svn.valgrind.org/vex/trunk@786
Cerion Armour-Brown [Mon, 31 Jan 2005 07:29:15 +0000 (07:29 +0000)]
Set comments and naming convention of bitfields back to _normality_, i.e. bit 0 = lsb (*0%£@% ibm docs...)
git-svn-id: svn://svn.valgrind.org/vex/trunk@785
Cerion Armour-Brown [Mon, 31 Jan 2005 07:23:07 +0000 (07:23 +0000)]
Added store instr groundwork
git-svn-id: svn://svn.valgrind.org/vex/trunk@784
Julian Seward [Sun, 30 Jan 2005 23:43:58 +0000 (23:43 +0000)]
More stuff for automated testing of the fledgling amd64 front end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@783
Julian Seward [Sun, 30 Jan 2005 20:00:51 +0000 (20:00 +0000)]
Add usage instructions
git-svn-id: svn://svn.valgrind.org/vex/trunk@782
Julian Seward [Sun, 30 Jan 2005 19:59:42 +0000 (19:59 +0000)]
Program to assist in automated verification of the amd64 front end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@781
Julian Seward [Sun, 30 Jan 2005 19:59:03 +0000 (19:59 +0000)]
Sync with test1.orig
git-svn-id: svn://svn.valgrind.org/vex/trunk@780
Julian Seward [Sun, 30 Jan 2005 19:52:28 +0000 (19:52 +0000)]
Half-hearted attempt to make instruction disassembly print more
closely to the syntax emitted by gcc, to assist in (semi-)automated
testing of the front end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@779
Julian Seward [Sun, 30 Jan 2005 19:51:00 +0000 (19:51 +0000)]
Fix somewhat dubious-look parentheses (I'm sure it was OK, but still
...)
git-svn-id: svn://svn.valgrind.org/vex/trunk@778
Cerion Armour-Brown [Sun, 30 Jan 2005 13:27:59 +0000 (13:27 +0000)]
Remove endian-hack (proper solution by j, rev776)
git-svn-id: svn://svn.valgrind.org/vex/trunk@777
Julian Seward [Sun, 30 Jan 2005 12:52:14 +0000 (12:52 +0000)]
Fish ppc32 instruction words out of memory bigendianly regardless of
the endianness of the host.
git-svn-id: svn://svn.valgrind.org/vex/trunk@776
Cerion Armour-Brown [Sun, 30 Jan 2005 10:18:50 +0000 (10:18 +0000)]
Okayyyyy, I'm a twit.
Now read the instruction the right way around (bloody ibm docs)
Also swapped the words around of the instr, compensating for endianness of
date.orig file inst's.
- TODO: Figure out what I should really be doing with this...
git-svn-id: svn://svn.valgrind.org/vex/trunk@775
Cerion Armour-Brown [Sat, 29 Jan 2005 12:56:15 +0000 (12:56 +0000)]
- Set up proper support for PPC32 archictecture
- Wrote the OR ops
git-svn-id: svn://svn.valgrind.org/vex/trunk@774
Julian Seward [Sat, 29 Jan 2005 10:52:21 +0000 (10:52 +0000)]
Baseline inputs for test1.orig.
git-svn-id: svn://svn.valgrind.org/vex/trunk@773
Julian Seward [Sat, 29 Jan 2005 10:51:05 +0000 (10:51 +0000)]
Give it a sensible name.
git-svn-id: svn://svn.valgrind.org/vex/trunk@772
Cerion Armour-Brown [Sat, 29 Jan 2005 09:32:07 +0000 (09:32 +0000)]
Added dis_int_cmp, dis_int_logic functions
Wrote cmp ops
Corrected size types of clean helper functions
git-svn-id: svn://svn.valgrind.org/vex/trunk@771
Julian Seward [Sat, 29 Jan 2005 02:14:44 +0000 (02:14 +0000)]
more insns: rotates, shifts, setcc, sub, xor, nop
git-svn-id: svn://svn.valgrind.org/vex/trunk@770
Julian Seward [Sat, 29 Jan 2005 02:12:49 +0000 (02:12 +0000)]
wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@769
Julian Seward [Sat, 29 Jan 2005 02:12:31 +0000 (02:12 +0000)]
More fiddling with flags.
git-svn-id: svn://svn.valgrind.org/vex/trunk@768
Julian Seward [Fri, 28 Jan 2005 21:37:12 +0000 (21:37 +0000)]
Build fixes for icc in ultra-paranoid mode. This may not in the end
be a good thing to do, but we'll try it for now.
git-svn-id: svn://svn.valgrind.org/vex/trunk@767
Cerion Armour-Brown [Fri, 28 Jan 2005 17:58:15 +0000 (17:58 +0000)]
Ahem: PPC_FLAGS -> PPC32G_FLAGS
git-svn-id: svn://svn.valgrind.org/vex/trunk@766
Cerion Armour-Brown [Fri, 28 Jan 2005 17:52:47 +0000 (17:52 +0000)]
- Added ops enum for xer ov,ca flag calculation
- Filled out the helper functions for xer_ov,ca
- Added some DIPs
- Using storeBE(),loadBE instead of LE
TODO: Need to set up the IR for this!
git-svn-id: svn://svn.valgrind.org/vex/trunk@765
Julian Seward [Fri, 28 Jan 2005 16:36:51 +0000 (16:36 +0000)]
more insns: push, pop, not, neg.
git-svn-id: svn://svn.valgrind.org/vex/trunk@764
Julian Seward [Fri, 28 Jan 2005 16:36:13 +0000 (16:36 +0000)]
More fixes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@763
Julian Seward [Fri, 28 Jan 2005 15:13:10 +0000 (15:13 +0000)]
more insns: unsigned widening moves (MOVZ..)
git-svn-id: svn://svn.valgrind.org/vex/trunk@762
Julian Seward [Fri, 28 Jan 2005 15:12:14 +0000 (15:12 +0000)]
Fix various "bugs" in this input.
git-svn-id: svn://svn.valgrind.org/vex/trunk@761