summaryrefslogtreecommitdiff
path: root/ujit_asm_tests.c
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <[email protected]>2020-09-18 12:20:43 -0400
committerAlan Wu <[email protected]>2021-10-20 18:19:23 -0400
commitd1c9ca86c191ef92d9bcd1242aeb7eaa35381e6c (patch)
tree43ca7b474c7be83d01e8dc4663966771c6cdd5ea /ujit_asm_tests.c
parentb8a3f2ed6177c753a35feaa4239a47de0a97ee77 (diff)
Port print_int, movsx. Implement putself.
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");