summaryrefslogtreecommitdiff
path: root/ujit_asm_tests.c
diff options
context:
space:
mode:
Diffstat (limited to 'ujit_asm_tests.c')
-rw-r--r--ujit_asm_tests.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/ujit_asm_tests.c b/ujit_asm_tests.c
index 406253ba26..5de7978858 100644
--- a/ujit_asm_tests.c
+++ b/ujit_asm_tests.c
@@ -218,6 +218,32 @@ void run_tests()
cb_set_pos(cb, 0); mov(cb, mem_opnd(8, RSP, 0), imm_opnd(-3)); check_bytes(cb, "C60424FD");
cb_set_pos(cb, 0); mov(cb, mem_opnd(64, RDI, 8), imm_opnd(1)); check_bytes(cb, "48C7470801000000");
+ // movsx
+ /*
+ test(
+ delegate void (CodeBlock cb) { cb.movsx(X86Opnd(AX), X86Opnd(AL)); },
+ "660FBEC0"
+ );
+ test(
+ delegate void (CodeBlock cb) { cb.movsx(X86Opnd(EDX), X86Opnd(AL)); },
+ "0FBED0"
+ );
+ test(
+ delegate void (CodeBlock cb) { cb.movsx(X86Opnd(RAX), X86Opnd(BL)); },
+ "480FBEC3"
+ );
+ test(
+ delegate void (CodeBlock cb) { cb.movsx(X86Opnd(ECX), X86Opnd(AX)); },
+ "0FBFC8"
+ );
+ test(
+ delegate void (CodeBlock cb) { cb.movsx(X86Opnd(R11), X86Opnd(CL)); },
+ "4C0FBED9"
+ );
+ */
+ cb_set_pos(cb, 0); movsx(cb, R10, mem_opnd(32, RSP, 12)); check_bytes(cb, "4C6354240C");
+ cb_set_pos(cb, 0); movsx(cb, RAX, mem_opnd(8, RSP, 0)); check_bytes(cb, "480FBE0424");
+
// neg
cb_set_pos(cb, 0); neg(cb, RAX); check_bytes(cb, "48F7D8");