]>
git.ipfire.org Git - thirdparty/valgrind.git/log
Julian Seward [Wed, 23 Nov 2005 03:53:45 +0000 (03:53 +0000)]
Do float-to-bit-image conversion in a way which does not break ANSI C
aliasing rules.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1467
Julian Seward [Fri, 18 Nov 2005 22:18:23 +0000 (22:18 +0000)]
gcc-2.96 build fixes
git-svn-id: svn://svn.valgrind.org/vex/trunk@1466
Cerion Armour-Brown [Fri, 18 Nov 2005 20:57:41 +0000 (20:57 +0000)]
Cleaned up access to 'special purpose' registers.
Added todo/limitations comments for AltiVec.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1465
Cerion Armour-Brown [Fri, 18 Nov 2005 20:45:51 +0000 (20:45 +0000)]
Track valgrind r5196, wrt Non-Java mode
git-svn-id: svn://svn.valgrind.org/vex/trunk@1464
Cerion Armour-Brown [Fri, 18 Nov 2005 18:25:12 +0000 (18:25 +0000)]
Cleaned up toIR.c somewhat
- cleaner extraction of instruction fields, consistent variable names, spaces for tabs, comments++
git-svn-id: svn://svn.valgrind.org/vex/trunk@1463
Cerion Armour-Brown [Wed, 16 Nov 2005 18:02:58 +0000 (18:02 +0000)]
Implemented most of the remaining altivec fp ops:
rounds (vrfi*), converts (vctu/sxs, vcfu/sx)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1462
Cerion Armour-Brown [Wed, 16 Nov 2005 17:21:10 +0000 (17:21 +0000)]
Yet more irops, for fp vector conversion/rounding.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1461
Julian Seward [Tue, 15 Nov 2005 11:16:30 +0000 (11:16 +0000)]
Implement SSE2 'clflush'.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1460
Julian Seward [Tue, 15 Nov 2005 10:21:19 +0000 (10:21 +0000)]
delete unused multiply primops
git-svn-id: svn://svn.valgrind.org/vex/trunk@1459
Cerion Armour-Brown [Mon, 14 Nov 2005 03:32:23 +0000 (03:32 +0000)]
gcc4 picked up a typo.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1458
Cerion Armour-Brown [Mon, 14 Nov 2005 02:37:44 +0000 (02:37 +0000)]
More av insns: vmaddfp, vnmsubfp
Rough 'n ready IR used - results will be rounded along the way, not just at the end of the calculations, giving some error.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1457
Cerion Armour-Brown [Mon, 14 Nov 2005 00:44:47 +0000 (00:44 +0000)]
Frontend
--------
Added a bunch of altivec float insns:
vaddfp, vsubfp, vmaxfp, vminfp,
vrefp, vrsqrtefp
vcmpgefp, vcmpgtfp, vcmpbfp
Made use of fact that ppc backend for compare insns return
zero'd lanes if either of the corresponding args is a nan.
- perhaps better to have an irop Iop_isNan32Fx4, but seems unecessary work until we get into running non-native code through vex.
- better still, tighten down the spec for compare irops wrt nan
Backend
-------
Separated av float ops to own insn group - they're only ever type 32x4
Added av float unary insns
Added av float cmp insns - for irops that don't map directly to native insns, native behaviour wrt nan's is followed, requiring lane value==nan comparisons for each argument vector.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1456
Cerion Armour-Brown [Mon, 14 Nov 2005 00:35:59 +0000 (00:35 +0000)]
New irops: Iop_CmpGT32Fx4, Iop_CmpGE32Fx4
git-svn-id: svn://svn.valgrind.org/vex/trunk@1455
Julian Seward [Sun, 13 Nov 2005 20:30:24 +0000 (20:30 +0000)]
More profiling-induced speedups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1454
Julian Seward [Sun, 13 Nov 2005 19:51:04 +0000 (19:51 +0000)]
Add some flag-specialisation cases that profiling showed the need for.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1453
Julian Seward [Sun, 13 Nov 2005 00:53:05 +0000 (00:53 +0000)]
Revise the PPC32 subarchitecture kinds, so as to facilitated
supporting CPUs that have neither Altivec nor FPU.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1452
Julian Seward [Sat, 12 Nov 2005 12:56:31 +0000 (12:56 +0000)]
Always mark blrl as a return.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1451
Julian Seward [Fri, 11 Nov 2005 18:37:10 +0000 (18:37 +0000)]
Add "make -j N" kludge to Vex too.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1450
Julian Seward [Thu, 10 Nov 2005 18:10:58 +0000 (18:10 +0000)]
Handle instrumentation artefacts arising from memchecking Altivec
code. Also, rename a few primops and add another folding rule.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1449
Cerion Armour-Brown [Wed, 9 Nov 2005 21:34:20 +0000 (21:34 +0000)]
Fix usage of Iop_MullEven* to give IR correct meaning of which lanes being multiplied, i.e. lowest significant lane = zero
(rather than the ibm-speke 'most significant = zero')
git-svn-id: svn://svn.valgrind.org/vex/trunk@1448
Cerion Armour-Brown [Tue, 8 Nov 2005 16:23:07 +0000 (16:23 +0000)]
Frontend:
added remaining integer altivec insns (phew!)
- vsum4ubs, vsum4sbs, vsum4shs, vsum2sws, vsumsws
- vmsummbm, vmsumuhs, vmsumshs
various helpers to construct IR
- expand8x16*: sign/zero-extend V128_8x16 lanes => 2x V128_16x8
- breakV128to4x64*: break V128 to 4xI32's, sign/zero-extend to I64's
- mkQNarrow64to32*: un/signed saturating narrow 64 to 32
- mkV128from4x64*: narrow 4xI64's to 4xI32's, combine to V128_34x4
Backend:
Iop_Add64
- added PPC32Instr_AddSubC32: 32-bit add/sub read/write carry
64-bit Iex_Const
Iop_32Sto64
git-svn-id: svn://svn.valgrind.org/vex/trunk@1447
Julian Seward [Mon, 7 Nov 2005 15:37:24 +0000 (15:37 +0000)]
Don't delete existing target-specific .a's when a target-switch happens.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1446
Julian Seward [Mon, 7 Nov 2005 14:59:13 +0000 (14:59 +0000)]
Changes for biarch (x86 and amd64) support.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1445
Julian Seward [Mon, 7 Nov 2005 14:23:52 +0000 (14:23 +0000)]
Handle some SSE3 instructions. A curious side-effect of this is that
it makes it possible to run SSE3 code on an SSE2-only machine.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1444
Julian Seward [Sat, 5 Nov 2005 15:46:22 +0000 (15:46 +0000)]
Simulate complete LDT and GDT, rather than just a prefix thereof.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1443
Julian Seward [Sat, 5 Nov 2005 13:04:34 +0000 (13:04 +0000)]
format string wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@1442
Julian Seward [Sat, 5 Nov 2005 02:58:55 +0000 (02:58 +0000)]
Stop gcc4 complaining.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1441
Julian Seward [Sat, 5 Nov 2005 02:55:06 +0000 (02:55 +0000)]
Implement FINIT.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1440
Julian Seward [Sat, 5 Nov 2005 02:33:25 +0000 (02:33 +0000)]
Implement vector FP unordered compares on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1439
Julian Seward [Sat, 5 Nov 2005 01:54:07 +0000 (01:54 +0000)]
The earth's core is a vast mass of molten sse and sse2 instructions.
Occasionally some make their way to the surface and spew out, causing
havoc for miles around.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1438
Julian Seward [Sat, 5 Nov 2005 01:12:18 +0000 (01:12 +0000)]
Reenable FUCOMP %st(0),%st(?).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1437
Julian Seward [Fri, 4 Nov 2005 20:49:36 +0000 (20:49 +0000)]
Implement SHRDv imm8.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1436
Julian Seward [Fri, 4 Nov 2005 20:05:57 +0000 (20:05 +0000)]
Implement shld/shrd on amd64. Total timewasting nightmare, not helped
by AMD's out-of-range shift behaviour being both undocumented and
bizarre.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1435
Cerion Armour-Brown [Fri, 4 Nov 2005 19:44:48 +0000 (19:44 +0000)]
New irop Iop_MullEven*
- a widening un/signed multiply of even lanes
Recast misused irops Iop_MulLo/Hi* as Iop_MullEven*
git-svn-id: svn://svn.valgrind.org/vex/trunk@1434
Julian Seward [Fri, 4 Nov 2005 14:34:52 +0000 (14:34 +0000)]
Handle jecxz in addition to jrcxz.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1433
Julian Seward [Fri, 4 Nov 2005 14:18:31 +0000 (14:18 +0000)]
Handle address-size overrides in the common case (explicit memory references).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1432
Julian Seward [Thu, 3 Nov 2005 14:00:57 +0000 (14:00 +0000)]
Handle any number of 0x66 (operand-size-override) prefixes.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1431
Julian Seward [Thu, 3 Nov 2005 13:42:28 +0000 (13:42 +0000)]
wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@1430
Julian Seward [Thu, 3 Nov 2005 13:27:24 +0000 (13:27 +0000)]
API change: make the handling of syscall-denoting instructions a bit
more general, so as to facilitate handling different combinations of
syscall/int more easily.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1429
Julian Seward [Thu, 3 Nov 2005 13:19:33 +0000 (13:19 +0000)]
Generate offsets for all amd64 integer registers.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1428
Julian Seward [Tue, 1 Nov 2005 18:59:38 +0000 (18:59 +0000)]
Implement 66 0F 11 = MOVUPD (untested)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1427
Julian Seward [Sat, 29 Oct 2005 22:30:47 +0000 (22:30 +0000)]
Tidy up a couple of format strings.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1426
Julian Seward [Sat, 29 Oct 2005 19:19:51 +0000 (19:19 +0000)]
x86 front end: implement in/out insns.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1425
Julian Seward [Sat, 22 Oct 2005 12:49:49 +0000 (12:49 +0000)]
Fill in a few missing Altivec cases:
- rename Iop_Perm to Iop_Perm8x16
- backend: handle Iop_CmpNEZ8x16
- frontend: for vperm, mask off all irrelevant parts of the steering values
git-svn-id: svn://svn.valgrind.org/vex/trunk@1424
Julian Seward [Sat, 22 Oct 2005 12:46:06 +0000 (12:46 +0000)]
Remove inefficient and not-completely-general logic in addHRegUse and
replace with something general and simpler.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1423
Julian Seward [Sat, 22 Oct 2005 02:01:16 +0000 (02:01 +0000)]
Minor altivec changes:
- vsplt{b,h,w}: guarantee to always produce in-range shifts
- lvs{l,r}: mask second arg to helper so assertion in helper doesn't fire.
Also pass in offset to dest rather than reg #.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1422
Julian Seward [Thu, 20 Oct 2005 11:56:00 +0000 (11:56 +0000)]
Unbreak build.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1421
Julian Seward [Tue, 18 Oct 2005 12:01:48 +0000 (12:01 +0000)]
API change: pass both the VexGuestExtents and the original
pre-redirection guest address to instrumentation functions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1420
Julian Seward [Wed, 12 Oct 2005 11:34:33 +0000 (11:34 +0000)]
Build fixes for gcc-2.96 (which does not allow declarations after the
first statement in a block).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1419
Julian Seward [Sat, 8 Oct 2005 19:58:48 +0000 (19:58 +0000)]
Handle the out-of-range shift cases for slw/srw in a different way
which creates less IR and fewer insns at the back end. Worth about 2%
running bzip2 -d with --tool=none.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1418
Julian Seward [Sat, 8 Oct 2005 11:28:16 +0000 (11:28 +0000)]
Enable chasing of unconditional branches and calls.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1417
Julian Seward [Fri, 7 Oct 2005 09:45:16 +0000 (09:45 +0000)]
Special-case rlwnms which are really slwi or srwi. This gives about
1% translated code size improvement for run-of-the-mill integer code.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1416
Julian Seward [Wed, 5 Oct 2005 17:58:32 +0000 (17:58 +0000)]
Handle FUCOM %st(0),%st(?).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1415
Julian Seward [Wed, 5 Oct 2005 17:19:11 +0000 (17:19 +0000)]
Handle BT/BTS/BTR/BTC at size 4 as well as 8.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1414
Julian Seward [Wed, 5 Oct 2005 16:58:23 +0000 (16:58 +0000)]
Implement JRCXZ.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1413
Julian Seward [Wed, 5 Oct 2005 10:39:58 +0000 (10:39 +0000)]
Handle the redundant-encoding (Grp5) versions of {inc,dec}{b,w}.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1412
Julian Seward [Tue, 4 Oct 2005 20:00:49 +0000 (20:00 +0000)]
Handle SSE2 pmaddwd.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1411
Julian Seward [Tue, 4 Oct 2005 11:43:37 +0000 (11:43 +0000)]
Implement SSE2 psadbw.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1410
Julian Seward [Mon, 3 Oct 2005 11:39:02 +0000 (11:39 +0000)]
Implement LAHF.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1409
Julian Seward [Mon, 3 Oct 2005 02:44:01 +0000 (02:44 +0000)]
Implement the 0F 7F encoding for movq mmreg, mmreg.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1408
Julian Seward [Mon, 3 Oct 2005 02:16:02 +0000 (02:16 +0000)]
Enable Xin_MFence on VexSubArchX86_sse0.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1407
Julian Seward [Mon, 3 Oct 2005 02:07:08 +0000 (02:07 +0000)]
Fix various adc/sbb instruction variants.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1406
Julian Seward [Mon, 3 Oct 2005 01:02:40 +0000 (01:02 +0000)]
x86 front end: implement FXTRACT. I knew there was a reason I'd been
avoiding this ...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1405
Cerion Armour-Brown [Fri, 16 Sep 2005 16:02:11 +0000 (16:02 +0000)]
Some AltiVec vector-multiply arith insns
(those that don't need >32bit signed adds)
- vmhaddshs, vmhraddshs, vmladduhm, vmsumubm, vmsumuhm, vmsumshm
git-svn-id: svn://svn.valgrind.org/vex/trunk@1404
Cerion Armour-Brown [Fri, 16 Sep 2005 08:55:50 +0000 (08:55 +0000)]
spacing and var name chages only
- 'saturated' op names get a preceding Q instead of a trailing S
git-svn-id: svn://svn.valgrind.org/vex/trunk@1403
Cerion Armour-Brown [Fri, 16 Sep 2005 07:54:40 +0000 (07:54 +0000)]
More AltiVec: shifts and rotates
- vrl*, vsl*, vsr*
git-svn-id: svn://svn.valgrind.org/vex/trunk@1402
Cerion Armour-Brown [Fri, 16 Sep 2005 07:53:31 +0000 (07:53 +0000)]
Rename primop Iop_Rot* Iop_Rotl*
git-svn-id: svn://svn.valgrind.org/vex/trunk@1401
Cerion Armour-Brown [Fri, 16 Sep 2005 07:13:44 +0000 (07:13 +0000)]
Added packing/unpacking AltiVec insns
- vpk*, vupk*
git-svn-id: svn://svn.valgrind.org/vex/trunk@1400
Cerion Armour-Brown [Thu, 15 Sep 2005 21:58:50 +0000 (21:58 +0000)]
Added AltiVec permutation insns:
- vperm, vsldoi, vmrg*, vsplt*
git-svn-id: svn://svn.valgrind.org/vex/trunk@1399
Cerion Armour-Brown [Thu, 15 Sep 2005 16:28:36 +0000 (16:28 +0000)]
Couple more primops: Iop_ShlN8x16, Iop_ShrN8x16, Iop_SarN8x16
git-svn-id: svn://svn.valgrind.org/vex/trunk@1398
Julian Seward [Thu, 15 Sep 2005 16:00:58 +0000 (16:00 +0000)]
Makefile fixes:
- Fix default compiler better
- Add dummy install target to help V's build system
- Don't hardwire 'ar' (fix for #112199).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1397
Cerion Armour-Brown [Thu, 15 Sep 2005 14:22:58 +0000 (14:22 +0000)]
Added AltiVec integer compare insns.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1396
Cerion Armour-Brown [Thu, 15 Sep 2005 12:42:16 +0000 (12:42 +0000)]
Implemented simple AltiVec arithmetic insns:
- add, sub, max, min, avg, hi/lo mul
and all varieties thereof: (un)signed, (un)saturated, 8|16|32 lane size...
fixed backend hi/lo_mul: only valid for 16|32 bit lanes, not 8.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1395
Cerion Armour-Brown [Wed, 14 Sep 2005 22:59:26 +0000 (22:59 +0000)]
Added AltiVec sub-vector load/store insns:
lvebx, lvehx, lvewx, stvebx, stvehx, stvewx
git-svn-id: svn://svn.valgrind.org/vex/trunk@1394
Cerion Armour-Brown [Wed, 14 Sep 2005 21:15:40 +0000 (21:15 +0000)]
implemented vaddcuw
backend:
Iop_ShrN32x4, Iop_Add32x4, Iop_CmpGT32Ux4
fixed emit_Instr::Pin_AvSplat for negative nums
fixed mk_AvDuplicateRI for imm's 16:31, -32:-17 inclusive
git-svn-id: svn://svn.valgrind.org/vex/trunk@1393
Cerion Armour-Brown [Wed, 14 Sep 2005 20:35:47 +0000 (20:35 +0000)]
more altivec insns: vsr, vspltw
- only working with with --tool=none
back-end:
hdefs:
new type for PPC32Instr_AvSplat:
PPC32VI5s => {vector-reg | signed-5bit-imm}
fixed ShlV128, ShrV128 to shift the full 128bits
isel:
implemented Iop_Dup32x4, Iop_ShrV128
new function mk_AvDuplicateRI()
- takes in ri_src (imm|reg, latter of type 8|16|32)
returns vector reg of duplicated lanes of ri_src
avoids store/load for immediates up to simm6.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1392
Cerion Armour-Brown [Tue, 13 Sep 2005 18:41:09 +0000 (18:41 +0000)]
implemented guest-ppc32 lvsl, lvsr using dirty helper function
git-svn-id: svn://svn.valgrind.org/vex/trunk@1391
Cerion Armour-Brown [Tue, 13 Sep 2005 17:25:41 +0000 (17:25 +0000)]
yet another new IR primop: Iop_QNarrow32Ux4
git-svn-id: svn://svn.valgrind.org/vex/trunk@1390
Cerion Armour-Brown [Tue, 13 Sep 2005 16:34:28 +0000 (16:34 +0000)]
Added a number of new IR primops to support integer AltiVec insns
git-svn-id: svn://svn.valgrind.org/vex/trunk@1389
Cerion Armour-Brown [Tue, 13 Sep 2005 13:34:09 +0000 (13:34 +0000)]
a couple more simple altivec insns
- vandc, vnor, vsel
git-svn-id: svn://svn.valgrind.org/vex/trunk@1388
Cerion Armour-Brown [Mon, 12 Sep 2005 22:51:53 +0000 (22:51 +0000)]
ppc guest_state vector regs must be 16byte aligned for loads/stores
git-svn-id: svn://svn.valgrind.org/vex/trunk@1387
Cerion Armour-Brown [Mon, 12 Sep 2005 20:49:09 +0000 (20:49 +0000)]
front end:
- implemented insns: mfvscr, mtvscr, vand, vor, vxor
- fixed default vscr: enable non-java mode
back end:
- implemented enough to satisfy the front end: V128to32, 32UtoV128, not, and, or, xor
- fixed conversions to/from v128 to use quad-word-aligned stack addressing for their vector load/stores
git-svn-id: svn://svn.valgrind.org/vex/trunk@1386
Cerion Armour-Brown [Sat, 10 Sep 2005 12:02:24 +0000 (12:02 +0000)]
reinstated altivec insn disassembly framework
- no more insns implemented, just easier to see what insn is needed when we hit an unhandled insn.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1385
Julian Seward [Fri, 9 Sep 2005 22:31:49 +0000 (22:31 +0000)]
Typechecker cleanups (non-functional changes)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1384
Julian Seward [Fri, 9 Sep 2005 19:45:36 +0000 (19:45 +0000)]
iselInt64Expr: handle 64-bit Mux0X.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1383
Julian Seward [Fri, 9 Sep 2005 19:45:02 +0000 (19:45 +0000)]
Fix mcrxr.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1382
Cerion Armour-Brown [Fri, 9 Sep 2005 16:38:19 +0000 (16:38 +0000)]
reinstate lhau, lhaux, sthux, mcrxr
git-svn-id: svn://svn.valgrind.org/vex/trunk@1381
Cerion Armour-Brown [Fri, 9 Sep 2005 16:31:24 +0000 (16:31 +0000)]
implemented Iop_64HLtoV128 in iselVecExpr_wrk
git-svn-id: svn://svn.valgrind.org/vex/trunk@1380
Julian Seward [Fri, 9 Sep 2005 10:36:55 +0000 (10:36 +0000)]
Reinstate stfdux, fctiw.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1379
Julian Seward [Fri, 9 Sep 2005 10:25:39 +0000 (10:25 +0000)]
Cleanups:
- remove various unused vars
- try and use ea_standard/ea_rA_or_zero where possible to do
effective-address computations
git-svn-id: svn://svn.valgrind.org/vex/trunk@1378
Julian Seward [Fri, 9 Sep 2005 09:50:34 +0000 (09:50 +0000)]
rm unused vars in dis_int_ldst_str
git-svn-id: svn://svn.valgrind.org/vex/trunk@1377
Julian Seward [Fri, 9 Sep 2005 09:35:29 +0000 (09:35 +0000)]
Implement stswi/stswx.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1376
Julian Seward [Fri, 9 Sep 2005 08:33:03 +0000 (08:33 +0000)]
Enhance the dead-code removal pass so that it detects unconditional
side exits and deletes all code after them. This helps clean up the
IR created by {l,st}sw{i,x} from the ppc32 front end. It's also a
general transformation which ought to have been implemented long ago.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1375
Julian Seward [Fri, 9 Sep 2005 08:31:18 +0000 (08:31 +0000)]
Implement lswi and lswx. The generated IR should be good for
instrumentation by memcheck and does not reference any memory it
should not. Unfortunately the IR is long and inefficient.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1374
Julian Seward [Thu, 8 Sep 2005 17:53:03 +0000 (17:53 +0000)]
Reinstate stwbrx.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1373
Julian Seward [Thu, 8 Sep 2005 17:33:27 +0000 (17:33 +0000)]
Reinstate crand, crnand, crorc.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1372
Julian Seward [Tue, 6 Sep 2005 10:25:46 +0000 (10:25 +0000)]
Implement mftb{,u}.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1371
Julian Seward [Tue, 6 Sep 2005 09:55:27 +0000 (09:55 +0000)]
Remove some helper functions to do with flag handling. These are
unused because the relevant computations are now done in line.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1370
Julian Seward [Tue, 6 Sep 2005 09:10:09 +0000 (09:10 +0000)]
Reinstate lwbrx.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1369
Julian Seward [Mon, 29 Aug 2005 12:07:41 +0000 (12:07 +0000)]
Observe any externally supplied $(CC).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1364