summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/x64/x64-codegen.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/arch/x64/x64-codegen.h b/src/arch/x64/x64-codegen.h
index ad53898..629189b 100644
--- a/src/arch/x64/x64-codegen.h
+++ b/src/arch/x64/x64-codegen.h
@@ -480,6 +480,15 @@ typedef union {
x64_codegen_post(inst); \
} while (0)
+#define x64_movsxd_reg_memindex(inst, reg, basereg, disp, indexreg, shift) \
+ do { \
+ x64_codegen_pre(inst); \
+ x64_emit_rex(inst,8,(reg),0,(basereg)); \
+ *(inst)++ = (unsigned char)0x63; \
+ x64_memindex_emit((inst), (reg), (basereg), (disp), (indexreg), (shift)); \
+ x64_codegen_post(inst); \
+ } while (0)
+
#define x64_movsxd_reg_reg(inst,dreg,reg) \
do { \
x64_codegen_pre(inst); \
@@ -1413,11 +1422,11 @@ typedef union {
#define x64_movd_xreg_membase(inst,dreg,basereg,disp) emit_sse_reg_membase((inst), (dreg), (basereg), (disp), 0x66, 0x0f, 0x6e)
+#define x64_sse_movlhps_reg_reg(inst,dreg,sreg) \
+ emit_sse_reg_reg_op2((inst), (dreg), (sreg), 0x0f, 0x16)
-#define x64_movlhps_reg_reg(inst,dreg,sreg) emit_sse_reg_reg_op2((inst), (dreg), (sreg), 0x0f, 0x16)
-
-#define x64_movhlps_reg_reg(inst,dreg,sreg) emit_sse_reg_reg_op2((inst), (dreg), (sreg), 0x0f, 0x12)
-
+#define x64_sse_movhlps_reg_reg(inst,dreg,sreg) \
+ emit_sse_reg_reg_op2((inst), (dreg), (sreg), 0x0f, 0x12)
#define x64_sse_movups_membase_reg(inst, basereg, disp, reg) \
emit_sse_membase_reg_op2((inst), (basereg), (disp), (reg), 0x0f, 0x11)
OpenPOWER on IntegriCloud