]>
git.ipfire.org Git - thirdparty/valgrind.git/log
Cerion Armour-Brown [Fri, 1 Jul 2005 18:56:33 +0000 (18:56 +0000)]
Cleaned up read/write register functions, wrt XER, and fixed a bug for write to VSCR.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1244
Cerion Armour-Brown [Fri, 1 Jul 2005 18:44:52 +0000 (18:44 +0000)]
Fixed a couple of bugs relating to condition register reading/writing, and conditional register logic
git-svn-id: svn://svn.valgrind.org/vex/trunk@1243
Cerion Armour-Brown [Fri, 1 Jul 2005 18:41:01 +0000 (18:41 +0000)]
comment-only change: renumber register offsets correctly
git-svn-id: svn://svn.valgrind.org/vex/trunk@1242
Julian Seward [Fri, 1 Jul 2005 10:51:24 +0000 (10:51 +0000)]
Yet Another Folding Rule (YAFR) (tm)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1241
Julian Seward [Fri, 1 Jul 2005 10:50:50 +0000 (10:50 +0000)]
Track recent API change (introduction of VexArchInfo).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1240
Julian Seward [Thu, 30 Jun 2005 23:31:27 +0000 (23:31 +0000)]
Enhance IR so as to distinguish between little- and big-endian loads and
stores, so that PPC can be properly handled. Until now it's been hardwired
to assume little-endian.
As a result, IRStmt_STle is renamed IRStmt_Store and IRExpr_LDle is
renamed IRExpr_Load.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1239
Julian Seward [Thu, 30 Jun 2005 13:38:38 +0000 (13:38 +0000)]
deltaIRStmt: handle IRStmt_MFence.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1238
Julian Seward [Thu, 30 Jun 2005 12:50:50 +0000 (12:50 +0000)]
Fix pointer-type mismatches.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1237
Julian Seward [Thu, 30 Jun 2005 12:26:18 +0000 (12:26 +0000)]
Comment wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@1236
Julian Seward [Thu, 30 Jun 2005 12:21:04 +0000 (12:21 +0000)]
Fill in guest_ppc32_state_requires_precise_mem_exns() properly, so Vex
has a bit more of a chance of optimising the IR.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1235
Julian Seward [Thu, 30 Jun 2005 12:08:48 +0000 (12:08 +0000)]
Connect up the plumbing which allows the ppc32 front end to know the
cache line size it is supposed to simulate. Use this in
dis_cache_manage(). Finally reinstate 'dcbz'.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1234
Julian Seward [Thu, 30 Jun 2005 11:49:14 +0000 (11:49 +0000)]
(API-visible change): generalise the VexSubArch idea. Everywhere
where a VexSubArch was previously passed around, a VexArchInfo is now
passed around. This is a struct which carries more details about any
given architecture and in particular gives a clean way to pass around
info about PPC cache line sizes, which is needed for guest-side PPC.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1233
Cerion Armour-Brown [Wed, 29 Jun 2005 19:05:08 +0000 (19:05 +0000)]
We have more than 59 allocateable regs now (duh)
+ Better insn printout for altivec load/store
git-svn-id: svn://svn.valgrind.org/vex/trunk@1232
Cerion Armour-Brown [Wed, 29 Jun 2005 19:01:32 +0000 (19:01 +0000)]
some more isel cases: v128,f32
git-svn-id: svn://svn.valgrind.org/vex/trunk@1231
Cerion Armour-Brown [Wed, 29 Jun 2005 18:53:23 +0000 (18:53 +0000)]
Fixed bug in doHelperCall, passing LONG_LONG params
git-svn-id: svn://svn.valgrind.org/vex/trunk@1230
Cerion Armour-Brown [Wed, 29 Jun 2005 07:59:18 +0000 (07:59 +0000)]
Fixed coupla altivec typos
- hopefully fixes FC4 build
git-svn-id: svn://svn.valgrind.org/vex/trunk@1229
Cerion Armour-Brown [Tue, 28 Jun 2005 21:07:02 +0000 (21:07 +0000)]
Implemented just enough of isel for an AltiVec store
- ls runs on g5 now, yay!
git-svn-id: svn://svn.valgrind.org/vex/trunk@1228
Cerion Armour-Brown [Tue, 28 Jun 2005 20:59:18 +0000 (20:59 +0000)]
Reshuffled host-ppc32 AltiVec integer insns
Added some AltiVec fp insns and CMov
git-svn-id: svn://svn.valgrind.org/vex/trunk@1227
Cerion Armour-Brown [Tue, 28 Jun 2005 18:06:23 +0000 (18:06 +0000)]
PPC32 AltiVec host-end framework & intruction output
- no fp yet
git-svn-id: svn://svn.valgrind.org/vex/trunk@1226
Cerion Armour-Brown [Tue, 28 Jun 2005 17:30:56 +0000 (17:30 +0000)]
PPC32 AltiVec reg offsets
git-svn-id: svn://svn.valgrind.org/vex/trunk@1225
Cerion Armour-Brown [Tue, 28 Jun 2005 17:23:09 +0000 (17:23 +0000)]
AltiVec insn parsing for guest end.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1224
Cerion Armour-Brown [Fri, 24 Jun 2005 11:25:46 +0000 (11:25 +0000)]
fixed sign-extension bug for branches
git-svn-id: svn://svn.valgrind.org/vex/trunk@1223
Julian Seward [Thu, 23 Jun 2005 22:38:45 +0000 (22:38 +0000)]
Disable i-am-kludged messages in the cache control insns.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1222
Julian Seward [Thu, 23 Jun 2005 21:14:45 +0000 (21:14 +0000)]
Disable dangerous case in advance4 which is not currently needed.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1221
Cerion Armour-Brown [Thu, 23 Jun 2005 15:25:57 +0000 (15:25 +0000)]
Added isel Ist_Tmp:Ity_I64, iselInt64Expr::Iex_Get
Allowed 64-bit args for doHelperCall()
git-svn-id: svn://svn.valgrind.org/vex/trunk@1220
Cerion Armour-Brown [Thu, 23 Jun 2005 12:45:11 +0000 (12:45 +0000)]
... and write 64bit vals the right way around...
git-svn-id: svn://svn.valgrind.org/vex/trunk@1219
Cerion Armour-Brown [Thu, 23 Jun 2005 11:00:14 +0000 (11:00 +0000)]
Added to insn selector: CmpNEZ8, Ist_Put::Ity_I64
git-svn-id: svn://svn.valgrind.org/vex/trunk@1218
Cerion Armour-Brown [Thu, 23 Jun 2005 08:44:52 +0000 (08:44 +0000)]
Fix ppc32 'Call' bug
- was (very) incorrectly jumping over the call on cond failure
git-svn-id: svn://svn.valgrind.org/vex/trunk@1217
Julian Seward [Tue, 21 Jun 2005 13:51:18 +0000 (13:51 +0000)]
amd64 back end: handle 8Uto32.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1216
Cerion Armour-Brown [Mon, 20 Jun 2005 16:28:32 +0000 (16:28 +0000)]
comment wibble
git-svn-id: svn://svn.valgrind.org/vex/trunk@1215
Cerion Armour-Brown [Mon, 20 Jun 2005 14:57:59 +0000 (14:57 +0000)]
this one was x86 code. grr.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1214
Cerion Armour-Brown [Mon, 20 Jun 2005 13:52:30 +0000 (13:52 +0000)]
more ppc32 .orig files
git-svn-id: svn://svn.valgrind.org/vex/trunk@1213
Cerion Armour-Brown [Mon, 20 Jun 2005 13:45:57 +0000 (13:45 +0000)]
Floating-point for ppc32
git-svn-id: svn://svn.valgrind.org/vex/trunk@1212
Cerion Armour-Brown [Mon, 20 Jun 2005 12:42:04 +0000 (12:42 +0000)]
guest-ppc32
~~~~~~~~~~
- store-with-update instrs: Valgrind pagefault handler expects faulting address >= current stack ptr, so we need to update the stack ptr register _before_ storing the old stack ptr
- branch_ctr_ok (bad calc for 'branch if %ctr zero' case)
- mcrf: scanning bitfields in the wrong direction
- on spotting the magic sequence, delta += 24
- updated DIPs for +ve-only args
host-ppc32
~~~~~~~~~
- fixed CMov reg usage
- fixed Pin_Call in emit_PPC32Instr(): we already know how far we're jumping
- fixed Pin_Goto in emit_PPC32Instr(): vassert right range of jump deltas
other-ppc32
~~~~~~~~~~
- exported OFFSET_ppc32_(various) for valgrind
git-svn-id: svn://svn.valgrind.org/vex/trunk@1211
Cerion Armour-Brown [Mon, 20 Jun 2005 12:15:54 +0000 (12:15 +0000)]
fix 'Usage:'
git-svn-id: svn://svn.valgrind.org/vex/trunk@1210
Julian Seward [Tue, 14 Jun 2005 21:59:16 +0000 (21:59 +0000)]
icc police strike again
git-svn-id: svn://svn.valgrind.org/vex/trunk@1209
Julian Seward [Mon, 13 Jun 2005 16:30:18 +0000 (16:30 +0000)]
Make iropt not complain about missing folding rules at the default
verbosity setting (zero).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1208
Julian Seward [Mon, 13 Jun 2005 12:33:36 +0000 (12:33 +0000)]
The guest-state effect declaration for x86 'fldenv' has been wrong for
a long time -- it says fldenv writes the FP regs, which isn't true.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1207
Julian Seward [Mon, 13 Jun 2005 12:17:27 +0000 (12:17 +0000)]
Implement fldenv/fstenv on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1206
Julian Seward [Fri, 10 Jun 2005 11:04:52 +0000 (11:04 +0000)]
amd64: handle MOVUPS G to E
git-svn-id: svn://svn.valgrind.org/vex/trunk@1205
Julian Seward [Mon, 30 May 2005 11:19:54 +0000 (11:19 +0000)]
Apparently someone somewhere in some obscure library deep in the
basement of mozilla requires 'lods'.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1204
Julian Seward [Wed, 25 May 2005 00:44:13 +0000 (00:44 +0000)]
Handle fnclex, needed by g95.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1203
Julian Seward [Fri, 20 May 2005 19:21:45 +0000 (19:21 +0000)]
Add a folding rule for 1Uto64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1202
Julian Seward [Wed, 18 May 2005 12:04:04 +0000 (12:04 +0000)]
Handle XCHG Gb,Eb.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1201
Julian Seward [Wed, 18 May 2005 11:47:47 +0000 (11:47 +0000)]
Handle XCHG rAX, reg for 32-bit regs as well as 64-bit regs. I'm not
sure this is right -- the AMD64 docs are very difficult to interpret
on the subtle point of precisely what is and isn't to be regarded as a
no-op.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1200
Julian Seward [Wed, 18 May 2005 10:22:47 +0000 (10:22 +0000)]
Handle XOR Ib, AL.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1199
Julian Seward [Sat, 14 May 2005 11:17:25 +0000 (11:17 +0000)]
Fix behaviour of MOVQ on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1198
Julian Seward [Sat, 14 May 2005 02:04:12 +0000 (02:04 +0000)]
Finally fix the behaviour of MOVQ (xmm -> xmm).
git-svn-id: svn://svn.valgrind.org/vex/trunk@1197
Julian Seward [Sat, 14 May 2005 02:02:50 +0000 (02:02 +0000)]
Handle NegF64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1196
Julian Seward [Fri, 13 May 2005 13:54:48 +0000 (13:54 +0000)]
Reinstate a SBB case.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1195
Julian Seward [Thu, 12 May 2005 19:21:55 +0000 (19:21 +0000)]
Reinstate a bunch more x87 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1194
Julian Seward [Thu, 12 May 2005 17:55:01 +0000 (17:55 +0000)]
Add the beginnings of what might be a general mechanism to pass
ABI-specific knowledge through the IR compilation pipeline. This
entails a new IR construction, AbiHint.
Currently there is only one kind of hint, and it is generated by the
amd64 front end. This tells whoever wants to know that a function
call or return has happened, and so the 128 bytes below %rsp should be
considered undefined.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1193
Julian Seward [Thu, 12 May 2005 02:14:52 +0000 (02:14 +0000)]
More floating-point tuning.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1192
Julian Seward [Wed, 11 May 2005 23:16:43 +0000 (23:16 +0000)]
Add a couple more %rflag-helper specialisations.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1191
Julian Seward [Wed, 11 May 2005 23:16:13 +0000 (23:16 +0000)]
Allow reg-alloc to use %rbx. This is a callee-saved register and
therefore particularly valuable - bringing it into circulation reduces
the volume of code generated by memcheck by about 3%.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1190
Julian Seward [Wed, 11 May 2005 22:55:08 +0000 (22:55 +0000)]
Ah, the joys of register allocation. You might think that giving
reg-alloc as many registers as possible maximises performance. You
would be wrong. Giving it more registers generates more spilling of
caller-saved regs around the innumerable helper calls created by
Memcheck. What we really need are zillions of callee-save registers,
but those are in short supply. Hmm, perhaps I should let it use %rbx
too -- that's listed as callee-save.
Anyway, the current arrangement allows reg-alloc to use 8
general-purpose regs and 10 xmm registers. The x87 registers are not
used at all. This seems to work fairly well.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1189
Julian Seward [Wed, 11 May 2005 22:47:32 +0000 (22:47 +0000)]
Do a bit better for (part of) a very common memcheck idiom: "is this
pointer defined ?"
git-svn-id: svn://svn.valgrind.org/vex/trunk@1188
Julian Seward [Wed, 11 May 2005 16:24:00 +0000 (16:24 +0000)]
gcc-2.96 build fixes
git-svn-id: svn://svn.valgrind.org/vex/trunk@1187
Julian Seward [Wed, 11 May 2005 16:13:37 +0000 (16:13 +0000)]
Make the amd64 back end capable of dealing with the stuff memcheck
generates for 128-bit vector primops.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1186
Julian Seward [Wed, 11 May 2005 15:37:50 +0000 (15:37 +0000)]
AMD64 backend cleanup: get rid of instruction variants which the insn
selector doesn't generate.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1185
Julian Seward [Wed, 11 May 2005 10:05:04 +0000 (10:05 +0000)]
These cases are now verified.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1184
Julian Seward [Wed, 11 May 2005 10:03:08 +0000 (10:03 +0000)]
Placate icc.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1183
Julian Seward [Wed, 11 May 2005 02:55:54 +0000 (02:55 +0000)]
To a first approximation, this commit completes SSE2 support for AMD64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1182
Julian Seward [Wed, 11 May 2005 02:55:00 +0000 (02:55 +0000)]
Comment-only change.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1181
Julian Seward [Wed, 11 May 2005 02:13:42 +0000 (02:13 +0000)]
Lots more SSE2 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1180
Julian Seward [Wed, 11 May 2005 00:03:06 +0000 (00:03 +0000)]
SSE2, on and on and on. There are more different SSE2 instructions
than there are atoms in the universe. This much, at least, I now
know.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1179
Julian Seward [Tue, 10 May 2005 22:42:54 +0000 (22:42 +0000)]
Enough SSE2 instructions to sink a small ship. And that's not even
half of them.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1178
Julian Seward [Tue, 10 May 2005 20:08:34 +0000 (20:08 +0000)]
First pass through SSE1 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1177
Julian Seward [Tue, 10 May 2005 02:50:05 +0000 (02:50 +0000)]
Many amd64 SSE1 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1176
Julian Seward [Mon, 9 May 2005 22:23:38 +0000 (22:23 +0000)]
Finish off amd64 MMX instructions before they finish me off (it's
either them or me). Honestly, the amd64 insn set has the most complex
encoding I have ever seen.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1175
Julian Seward [Mon, 9 May 2005 18:15:21 +0000 (18:15 +0000)]
Handle primops created by memchecking MMX code.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1174
Julian Seward [Mon, 9 May 2005 17:52:56 +0000 (17:52 +0000)]
Make a whole bunch of mmx instructions work.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1173
Julian Seward [Mon, 9 May 2005 12:16:33 +0000 (12:16 +0000)]
Support GetI/PutI of 32-bit integer arrays.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1172
Julian Seward [Mon, 9 May 2005 02:57:08 +0000 (02:57 +0000)]
Even more x87 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1171
Julian Seward [Sun, 8 May 2005 23:03:48 +0000 (23:03 +0000)]
Make a whole bunch more x87 instructions work on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1170
Julian Seward [Sat, 7 May 2005 01:01:24 +0000 (01:01 +0000)]
More x87 instructions.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1169
Julian Seward [Fri, 6 May 2005 16:30:21 +0000 (16:30 +0000)]
Reinstate the specialisation rule which first exposed the bug fixed by
r1167.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1168
Julian Seward [Fri, 6 May 2005 16:29:26 +0000 (16:29 +0000)]
Fix silly bug in folding rule. This 'silly bug' took hours to track
down. Bah.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1167
Julian Seward [Fri, 6 May 2005 11:50:13 +0000 (11:50 +0000)]
Make some more x87 instructions work.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1166
Julian Seward [Fri, 6 May 2005 01:43:56 +0000 (01:43 +0000)]
Fix 64-bit bogon in bt/bts/btc/btr which caused it not to work right.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1165
Julian Seward [Thu, 5 May 2005 21:46:50 +0000 (21:46 +0000)]
Fix up %rflags handling after 64-bit multiplies.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1164
Julian Seward [Thu, 5 May 2005 21:34:02 +0000 (21:34 +0000)]
Implement a whole bunch more SSE instructions on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1163
Julian Seward [Thu, 5 May 2005 12:05:54 +0000 (12:05 +0000)]
Play a few more rounds of the SSE game on amd64.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1162
Julian Seward [Thu, 5 May 2005 12:05:11 +0000 (12:05 +0000)]
More %flags-helpers tuning.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1161
Julian Seward [Thu, 5 May 2005 12:04:14 +0000 (12:04 +0000)]
Update comment.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1160
Julian Seward [Tue, 3 May 2005 12:20:15 +0000 (12:20 +0000)]
x86 guest: generate Iop_Neg* in the x86->IR phase. Intent is to
ensure that the non-shadow (real) computation done by the program will
fail if Iop_Neg* is incorrectly handled somehow. Until this point,
Iop_Neg* is only generated by memcheck and so it will not be obvious
if it is mishandled. IOW, this commit enhances verifiability of the
x86-IR-x86 pipeline.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1159
Julian Seward [Tue, 3 May 2005 09:09:27 +0000 (09:09 +0000)]
Generate better code for CmpNEZ64(Or64(x,y)), a common idiom resulting
from memchecking of FP code.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1158
Julian Seward [Tue, 3 May 2005 09:08:23 +0000 (09:08 +0000)]
Memchecking very large BBs of FP insns on x86 sometimes needs a lot of
spill slots.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1157
Julian Seward [Mon, 2 May 2005 17:07:02 +0000 (17:07 +0000)]
When handling 'sbb %reg,%reg', first put zero into %reg. This removes
the false result dependency on the previous value of %reg.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1156
Julian Seward [Mon, 2 May 2005 16:16:15 +0000 (16:16 +0000)]
Minor tweakage: use testl rather than andl in three places on the
basis that andl trashes the tested register whereas testl doesn't. In
two out of the three cases this makes no difference since the tested
register is a copy of some other register anyway, but hey.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1155
Julian Seward [Mon, 2 May 2005 15:52:44 +0000 (15:52 +0000)]
Minor cleanups.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1154
Julian Seward [Mon, 2 May 2005 10:54:34 +0000 (10:54 +0000)]
Get rid of some functions made redundant by recent isel reorganisation.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1153
Julian Seward [Mon, 2 May 2005 10:47:22 +0000 (10:47 +0000)]
Don't complain endlessly about missing folding rule for Iop_64HLto128.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1152
Julian Seward [Wed, 27 Apr 2005 13:39:35 +0000 (13:39 +0000)]
Handle CmpNEZ16.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1151
Julian Seward [Wed, 27 Apr 2005 11:55:08 +0000 (11:55 +0000)]
Handle various more primops, and reorganise iselCondCode_wrk in line
with similar reorg on x86 side.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1150
Julian Seward [Wed, 27 Apr 2005 11:53:23 +0000 (11:53 +0000)]
Emit 'negq'.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1149
Julian Seward [Wed, 27 Apr 2005 11:52:40 +0000 (11:52 +0000)]
* Use new 64-to/from-{16,8,1} conversion primops
* disable "Z after SUBW" specialisation which apparently causes
xedit to fail for unknown reasons
git-svn-id: svn://svn.valgrind.org/vex/trunk@1148
Julian Seward [Wed, 27 Apr 2005 11:50:56 +0000 (11:50 +0000)]
Use new 64-to/from-{16,8,1} conversion primops instead of going via
Ity_I32.
git-svn-id: svn://svn.valgrind.org/vex/trunk@1147
Julian Seward [Wed, 27 Apr 2005 11:42:44 +0000 (11:42 +0000)]
Add even more 64-bit integer primops (sigh)
git-svn-id: svn://svn.valgrind.org/vex/trunk@1146
Julian Seward [Tue, 26 Apr 2005 23:39:45 +0000 (23:39 +0000)]
* Enhance the x86 instruction selector to generate for the primops
introduced in rev 1144.
* Rearrange iselCondCode and introduce a few new patterns which
deal better with the IR that Memcheck commonly generates
git-svn-id: svn://svn.valgrind.org/vex/trunk@1145