Index: test/cctest/test-disasm-x64.cc |
diff --git a/test/cctest/test-disasm-x64.cc b/test/cctest/test-disasm-x64.cc |
index b855626cee33277f26a5480c175912de60db5934..59ad683ba4e684a780a9cc7c69b20ef077247a35 100644 |
--- a/test/cctest/test-disasm-x64.cc |
+++ b/test/cctest/test-disasm-x64.cc |
@@ -745,12 +745,31 @@ TEST(DisasmX64) { |
// xchg. |
{ |
+ __ xchgb(rax, Operand(rax, 8)); |
+ __ xchgw(rax, Operand(rbx, 8)); |
__ xchgq(rax, rax); |
__ xchgq(rax, rbx); |
__ xchgq(rbx, rbx); |
__ xchgq(rbx, Operand(rsp, 12)); |
} |
+ // cmpxchg. |
+ { |
+ __ cmpxchgb(Operand(rsp, 12), rax); |
+ __ cmpxchgw(Operand(rbx, rcx, times_4, 10000), rax); |
+ __ cmpxchgl(Operand(rbx, rcx, times_4, 10000), rax); |
+ __ cmpxchgq(Operand(rbx, rcx, times_4, 10000), rax); |
+ } |
+ |
+ // lock prefix. |
+ { |
+ __ lock(); |
+ __ cmpxchgl(Operand(rsp, 12), rbx); |
+ |
+ __ lock(); |
+ __ xchgw(rax, Operand(rcx, 8)); |
+ } |
+ |
// Nop instructions |
for (int i = 0; i < 16; i++) { |
__ Nop(i); |