]> git.ipfire.org Git - thirdparty/valgrind.git/log
thirdparty/valgrind.git
20 years agoBuild fixes for gcc-2.96 (which does not allow declarations after the
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

20 years agoHandle the out-of-range shift cases for slw/srw in a different way
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

20 years agoEnable chasing of unconditional branches and calls.
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

20 years agoSpecial-case rlwnms which are really slwi or srwi. This gives about
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

20 years agoHandle FUCOM %st(0),%st(?).
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

20 years agoHandle BT/BTS/BTR/BTC at size 4 as well as 8.
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

20 years agoImplement JRCXZ.
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

20 years agoHandle the redundant-encoding (Grp5) versions of {inc,dec}{b,w}.
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

20 years agoHandle SSE2 pmaddwd.
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

20 years agoImplement SSE2 psadbw.
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

20 years agoImplement LAHF.
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

20 years agoImplement the 0F 7F encoding for movq mmreg, mmreg.
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

20 years agoEnable Xin_MFence on VexSubArchX86_sse0.
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

20 years agoFix various adc/sbb instruction variants.
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

20 years agox86 front end: implement FXTRACT. I knew there was a reason I'd been
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

20 years agoSome AltiVec vector-multiply arith insns
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

20 years agospacing and var name chages only
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

20 years agoMore AltiVec: shifts and rotates
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

20 years agoRename primop Iop_Rot* Iop_Rotl*
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

20 years agoAdded packing/unpacking AltiVec insns
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

20 years agoAdded AltiVec permutation insns:
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

20 years agoCouple more primops: Iop_ShlN8x16, Iop_ShrN8x16, Iop_SarN8x16
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

20 years agoMakefile fixes:
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

20 years agoAdded AltiVec integer compare insns.
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

20 years agoImplemented simple AltiVec arithmetic insns:
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

20 years agoAdded AltiVec sub-vector load/store insns:
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

20 years agoimplemented vaddcuw
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

20 years agomore altivec insns: vsr, vspltw
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

20 years agoimplemented guest-ppc32 lvsl, lvsr using dirty helper function
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

20 years agoyet another new IR primop: Iop_QNarrow32Ux4
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

20 years agoAdded a number of new IR primops to support integer AltiVec insns
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

20 years agoa couple more simple altivec insns
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

20 years agoppc guest_state vector regs must be 16byte aligned for loads/stores
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

20 years agofront end:
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

20 years agoreinstated altivec insn disassembly framework
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

20 years agoTypechecker cleanups (non-functional changes)
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

20 years agoiselInt64Expr: handle 64-bit Mux0X.
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

20 years agoFix mcrxr.
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

20 years agoreinstate lhau, lhaux, sthux, mcrxr
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

20 years agoimplemented Iop_64HLtoV128 in iselVecExpr_wrk
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

20 years agoReinstate stfdux, fctiw.
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

20 years agoCleanups:
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

20 years agorm unused vars in dis_int_ldst_str
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

20 years agoImplement stswi/stswx.
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

20 years agoEnhance the dead-code removal pass so that it detects unconditional
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

20 years agoImplement lswi and lswx. The generated IR should be good for
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

20 years agoReinstate stwbrx.
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

20 years agoReinstate crand, crnand, crorc.
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

20 years agoImplement mftb{,u}.
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

20 years agoRemove some helper functions to do with flag handling. These are
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

20 years agoReinstate lwbrx.
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

20 years agoObserve any externally supplied $(CC).
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

20 years agoDon't even mention malloc, since it screws up statically linked, glibc
Julian Seward [Fri, 26 Aug 2005 18:00:31 +0000 (18:00 +0000)] 
Don't even mention malloc, since it screws up statically linked, glibc
Valgrind.

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

20 years agoImplement MOVUPS -- move from G (xmm) to E (mem or xmm) [UNVERIFIED]
Julian Seward [Thu, 25 Aug 2005 21:34:24 +0000 (21:34 +0000)] 
Implement MOVUPS -- move from G (xmm) to E (mem or xmm) [UNVERIFIED]

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

20 years agovex_printf/sprintf hackery.
Julian Seward [Thu, 25 Aug 2005 21:20:18 +0000 (21:20 +0000)] 
vex_printf/sprintf hackery.

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

20 years agoBuild rflag thunk for adc/sbb correctly.
Julian Seward [Wed, 24 Aug 2005 10:56:01 +0000 (10:56 +0000)] 
Build rflag thunk for adc/sbb correctly.

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

20 years agoamd64: Handle BT/BTS/BTR/BTC Gv, Ev.
Julian Seward [Wed, 24 Aug 2005 10:46:19 +0000 (10:46 +0000)] 
amd64: Handle BT/BTS/BTR/BTC Gv, Ev.
x86:   Fix signedness bug in existing BT/BTS/BTR/BTC Gv, Ev code.

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

20 years agoFix incorrect building of the flags thunk after ADC and SBB.
Julian Seward [Wed, 24 Aug 2005 10:01:36 +0000 (10:01 +0000)] 
Fix incorrect building of the flags thunk after ADC and SBB.

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

20 years agoEnable ADC Ib, AL.
Julian Seward [Wed, 24 Aug 2005 09:22:39 +0000 (09:22 +0000)] 
Enable ADC Ib, AL.

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

20 years agoImplement LOOP{,E,NE}.
Julian Seward [Tue, 23 Aug 2005 23:44:35 +0000 (23:44 +0000)] 
Implement LOOP{,E,NE}.

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

20 years agoRename a couple of inconsistently-named helper functions.
Julian Seward [Tue, 23 Aug 2005 23:26:37 +0000 (23:26 +0000)] 
Rename a couple of inconsistently-named helper functions.

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

20 years agoWhitespace-only change.
Julian Seward [Tue, 23 Aug 2005 23:17:38 +0000 (23:17 +0000)] 
Whitespace-only change.

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

20 years agoImplement RDTSC (amd64).
Julian Seward [Tue, 23 Aug 2005 23:16:51 +0000 (23:16 +0000)] 
Implement RDTSC (amd64).

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

20 years agoRename a couple of inconsistently-named helper functions.
Julian Seward [Tue, 23 Aug 2005 19:30:58 +0000 (19:30 +0000)] 
Rename a couple of inconsistently-named helper functions.

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

20 years agoImplement RDTSC on x86.
Julian Seward [Tue, 23 Aug 2005 19:24:29 +0000 (19:24 +0000)] 
Implement RDTSC on x86.

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

20 years agoImplement LOOP/LOOPE/LOOPNE.
Julian Seward [Tue, 23 Aug 2005 17:29:27 +0000 (17:29 +0000)] 
Implement LOOP/LOOPE/LOOPNE.

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

20 years agoEnable testing of RCL insns.
Julian Seward [Tue, 23 Aug 2005 15:41:40 +0000 (15:41 +0000)] 
Enable testing of RCL insns.

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

20 years agoSupport x86 RCL instructions.
Julian Seward [Tue, 23 Aug 2005 15:41:14 +0000 (15:41 +0000)] 
Support x86 RCL instructions.

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

20 years agoOn a PPC32Instr_Call, don't merely record how many integer registers
Julian Seward [Sun, 21 Aug 2005 00:48:37 +0000 (00:48 +0000)] 
On a PPC32Instr_Call, don't merely record how many integer registers
carry parameters.  Instead record the actual identities of such
registers in a bitmask.  This is necessary because the PPC calling
conventions have "holes" in the register ranges.  For example, a
routine taking an UInt(32-bit) first param and an ULong(64-bit) second
param passes the first arg in r3 but the second one in r5 and r6, and
r4 is not used.

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

20 years agoAdd tested but unused code just in case it is useful at some point in
Julian Seward [Thu, 18 Aug 2005 11:50:43 +0000 (11:50 +0000)] 
Add tested but unused code just in case it is useful at some point in
the future: a potentially more memcheck-friendly implementation of
count-leading-zeroes.

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

20 years agodis_Grp2: decode address mode correctly
Julian Seward [Sun, 14 Aug 2005 00:09:58 +0000 (00:09 +0000)] 
dis_Grp2: decode address mode correctly

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

20 years agoHandle Iop_Sar16, so that front end amd64 "cwtd" does not bomb.
Julian Seward [Sat, 13 Aug 2005 23:58:34 +0000 (23:58 +0000)] 
Handle Iop_Sar16, so that front end amd64 "cwtd" does not bomb.

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

20 years agoImplement 'rep ret'.
Julian Seward [Fri, 12 Aug 2005 23:51:31 +0000 (23:51 +0000)] 
Implement 'rep ret'.

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

20 years agoImplement cmpxchg8b. Sheesh. What a total dog of an instruction.
Julian Seward [Fri, 12 Aug 2005 23:04:48 +0000 (23:04 +0000)] 
Implement cmpxchg8b.  Sheesh.  What a total dog of an instruction.

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

20 years agoImplement PREFETCH{W} m8.
Julian Seward [Wed, 10 Aug 2005 12:27:46 +0000 (12:27 +0000)] 
Implement PREFETCH{W} m8.

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

20 years agoImplement DC /3 (FCOMP double-real).
Julian Seward [Wed, 10 Aug 2005 11:43:42 +0000 (11:43 +0000)] 
Implement DC /3 (FCOMP double-real).

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

20 years agoReenable FST %st(0),%st(?) (0xDD 0xD0 .. 0xDD 0xD7).
Julian Seward [Mon, 8 Aug 2005 09:58:05 +0000 (09:58 +0000)] 
Reenable FST %st(0),%st(?) (0xDD 0xD0 .. 0xDD 0xD7).

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

20 years agoDon't emit cmovl since older x86s don't support it; instead emit a
Julian Seward [Mon, 8 Aug 2005 00:33:37 +0000 (00:33 +0000)] 
Don't emit cmovl since older x86s don't support it; instead emit a
conditional jump over an unconditional move.

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

20 years agoA minimal implementation of the x86 sysenter instruction
Julian Seward [Sun, 7 Aug 2005 14:48:03 +0000 (14:48 +0000)] 
A minimal implementation of the x86 sysenter instruction
(experimental).  Limitations as commented in the code.

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

20 years agoTrack the status of the %EFLAGS.AC (alignment check) bit, but
Julian Seward [Sat, 6 Aug 2005 11:45:02 +0000 (11:45 +0000)] 
Track the status of the %EFLAGS.AC (alignment check) bit, but
otherwise ignore it.  This fixes a crash induced by incorrect CPU
identification.

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

20 years agoReinstate SBB r/m, reg.
Julian Seward [Sat, 6 Aug 2005 10:04:12 +0000 (10:04 +0000)] 
Reinstate SBB r/m, reg.

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

20 years agoGet rid of ludicrously over-paranoid assertion that caused all last
Julian Seward [Fri, 5 Aug 2005 02:55:36 +0000 (02:55 +0000)] 
Get rid of ludicrously over-paranoid assertion that caused all last
night's x86 regtests to fail.

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

20 years ago- Partial implementation of reservations, to make lwarx/stwcx. work
Julian Seward [Thu, 4 Aug 2005 18:32:19 +0000 (18:32 +0000)] 
- Partial implementation of reservations, to make lwarx/stwcx. work
- Reenable some more integer insns

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

20 years agoImplement dual licensing.
Julian Seward [Wed, 3 Aug 2005 16:07:36 +0000 (16:07 +0000)] 
Implement dual licensing.

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

20 years agoNewer version of GPLv2 text with newer FSF addresses, no other changes.
Julian Seward [Wed, 3 Aug 2005 15:47:33 +0000 (15:47 +0000)] 
Newer version of GPLv2 text with newer FSF addresses, no other changes.

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

20 years agoImplement 0xA0 /* MOV Ob,AL */ and 0xA2 /* MOV AL,Ob */.
Julian Seward [Tue, 2 Aug 2005 21:27:25 +0000 (21:27 +0000)] 
Implement 0xA0 /* MOV Ob,AL */ and 0xA2 /* MOV AL,Ob */.

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

20 years agoIgnore redundant REX.W prefix on CALL Ev.
Julian Seward [Tue, 2 Aug 2005 21:20:36 +0000 (21:20 +0000)] 
Ignore redundant REX.W prefix on CALL Ev.

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

20 years agoMake copyright notices consistent.
Julian Seward [Tue, 2 Aug 2005 11:14:04 +0000 (11:14 +0000)] 
Make copyright notices consistent.

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

20 years agoSpecialise NZ after DECW.
Julian Seward [Mon, 1 Aug 2005 13:35:18 +0000 (13:35 +0000)] 
Specialise NZ after DECW.

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

20 years agoImplement 0xA1 /* MOV Ov,eAX */ and 0xA3 /* MOV eAX,Ov */. This
Julian Seward [Mon, 1 Aug 2005 13:03:32 +0000 (13:03 +0000)] 
Implement 0xA1 /* MOV Ov,eAX */ and 0xA3 /* MOV eAX,Ov */.  This
should fix #109810.

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

20 years agoReinstate some FP instructions. With --tool=none we now have a
Julian Seward [Fri, 29 Jul 2005 21:58:51 +0000 (21:58 +0000)] 
Reinstate some FP instructions.  With --tool=none we now have a
successful run through gsl-1.6, which is great.

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

20 years agoImplement ffreep %st(0). Fixes #109718.
Julian Seward [Fri, 29 Jul 2005 11:57:00 +0000 (11:57 +0000)] 
Implement ffreep %st(0).  Fixes #109718.

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

20 years agoImplement ficom{p,}{w,l}. This should fix #103594.
Julian Seward [Fri, 29 Jul 2005 11:28:38 +0000 (11:28 +0000)] 
Implement ficom{p,}{w,l}.  This should fix #103594.

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

20 years agoTypechecker police.
Julian Seward [Wed, 27 Jul 2005 00:22:37 +0000 (00:22 +0000)] 
Typechecker police.

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

20 years agoGet rid of warnings from gcc.
Julian Seward [Wed, 27 Jul 2005 00:22:15 +0000 (00:22 +0000)] 
Get rid of warnings from gcc.

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

20 years agoNever ever delete vex_svnversion.h except when doing 'make version'.
Julian Seward [Tue, 26 Jul 2005 22:44:27 +0000 (22:44 +0000)] 
Never ever delete vex_svnversion.h except when doing 'make version'.
Purpose is so that 'make distclean' or 'make clean' in a tarball'd
build do not delete it, and so do not render the tree unbuildable.

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

20 years agoDon't delete vex_svnversion.h during 'make clean'. This causes
Julian Seward [Tue, 26 Jul 2005 10:10:25 +0000 (10:10 +0000)] 
Don't delete vex_svnversion.h during 'make clean'.  This causes
breakage if someone builds from the final V tarball, then does 'make
clean', then re-runs make -- because creating this file requires (1)
svnversion to be present on the end-user system, which it probably
isn't, and (2) the metadata which svnversion consults also to be
present here, which it certainly isn't [in the cut-down VEX image in
the distro tarball.]

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

20 years agoImplement a couple of missing x87 insns.
Julian Seward [Mon, 25 Jul 2005 11:58:34 +0000 (11:58 +0000)] 
Implement a couple of missing x87 insns.

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

20 years agoUpdate always-defined areas.
Julian Seward [Sun, 24 Jul 2005 06:29:34 +0000 (06:29 +0000)] 
Update always-defined areas.

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

20 years agoMore isel cases.
Julian Seward [Sun, 24 Jul 2005 06:29:00 +0000 (06:29 +0000)] 
More isel cases.

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