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);