Rationalise ucode generation for 4-byte moves into the MMX unit (movd).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@1506 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/addrcheck/ac_main.c b/addrcheck/ac_main.c
index 8de3290..511c7c5 100644
--- a/addrcheck/ac_main.c
+++ b/addrcheck/ac_main.c
@@ -1096,11 +1096,11 @@
case MMX2_MemRd:
case MMX2_MemWr:
- sk_assert(u_in->size == 8);
+ sk_assert(u_in->size == 4 || u_in->size == 8);
t_addr = u_in->val2;
t_size = newTemp(cb);
uInstr2(cb, MOV, 4, Literal, 0, TempReg, t_size);
- uLiteral(cb, 8);
+ uLiteral(cb, u_in->size);
uInstr2(cb, CCALL, 0, TempReg, t_addr, TempReg, t_size);
uCCall(cb, (Addr) & ac_fpu_ACCESS_check, 2, 2, False );
VG_(copy_UInstr)(cb, u_in);