summaryrefslogtreecommitdiff
path: root/ujit_asm_tests.c
diff options
context:
space:
mode:
authorMaxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>2020-09-15 10:44:46 -0400
committerAlan Wu <XrXr@users.noreply.github.com>2021-10-20 18:19:23 -0400
commit2e319492254e529a2f5673038ec6c3ea44087199 (patch)
tree4c7eb0334a17f1fbf343ed08a75ec73805125c62 /ujit_asm_tests.c
parent090255456aa137f28cc254c609ff95fb7fd3d71b (diff)
Ported xor and cmovcc instructions
Diffstat (limited to 'ujit_asm_tests.c')
-rw-r--r--ujit_asm_tests.c34
1 files changed, 6 insertions, 28 deletions
diff --git a/ujit_asm_tests.c b/ujit_asm_tests.c
index e163404d05..a0e3e07e15 100644
--- a/ujit_asm_tests.c
+++ b/ujit_asm_tests.c
@@ -94,29 +94,12 @@ void run_tests()
cb_set_pos(cb, 0); call(cb, RAX); check_bytes(cb, "FFD0");
cb_set_pos(cb, 0); call(cb, mem_opnd(64, RSP, 8)); check_bytes(cb, "FF542408");
- /*
// cmovcc
- test(
- delegate void (CodeBlock cb) { cb.cmovg(ESI, X86Opnd(EDI)); },
- "0F4FF7"
- );
- test(
- delegate void (CodeBlock cb) { cb.cmovg(ESI, X86Opnd(32, RBP, 12)); },
- "0F4F750C"
- );
- test(
- delegate void (CodeBlock cb) { cb.cmovl(EAX, X86Opnd(ECX)); },
- "0F4CC1"
- );
- test(
- delegate void (CodeBlock cb) { cb.cmovl(RBX, X86Opnd(RBP)); },
- "480F4CDD"
- );
- test(
- delegate void (CodeBlock cb) { cb.cmovle(ESI, X86Opnd(32, RSP, 4)); },
- "0F4E742404"
- );
- */
+ cb_set_pos(cb, 0); cmovg(cb, ESI, EDI); check_bytes(cb, "0F4FF7");
+ cb_set_pos(cb, 0); cmovg(cb, ESI, mem_opnd(32, RBP, 12)); check_bytes(cb, "0F4F750C");
+ cb_set_pos(cb, 0); cmovl(cb, EAX, ECX); check_bytes(cb, "0F4CC1");
+ cb_set_pos(cb, 0); cmovl(cb, RBX, RBP); check_bytes(cb, "480F4CDD");
+ cb_set_pos(cb, 0); cmovle(cb, ESI, mem_opnd(32, RSP, 4)); check_bytes(cb, "0F4E742404");
// cmp
/*
@@ -346,13 +329,8 @@ void run_tests()
cb_set_pos(cb, 0); sub(cb, EAX, imm_opnd(1)); check_bytes(cb, "83E801");
cb_set_pos(cb, 0); sub(cb, RAX, imm_opnd(2)); check_bytes(cb, "4883E802");
- /*
// xor
- test(
- delegate void (CodeBlock cb) { cb.xor(X86Opnd(EAX), X86Opnd(EAX)); },
- "31C0"
- );
- */
+ cb_set_pos(cb, 0); xor(cb, EAX, EAX); check_bytes(cb, "31C0");
printf("Assembler tests done\n");
}