Index: test/cctest/test-disasm-ia32.cc |
diff --git a/test/cctest/test-disasm-ia32.cc b/test/cctest/test-disasm-ia32.cc |
index e0fe9697bafa35d0bc613b2cb3142d0e53cb9563..ab08cfaa8b6ec2a847eb0fae8abbdf0d599e215a 100644 |
--- a/test/cctest/test-disasm-ia32.cc |
+++ b/test/cctest/test-disasm-ia32.cc |
@@ -391,6 +391,8 @@ TEST(DisasmIa320) { |
// Move operation |
__ movaps(xmm0, xmm1); |
__ shufps(xmm0, xmm0, 0x0); |
+ __ movups(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ movups(Operand(ebx, ecx, times_4, 10000), xmm1); |
__ cvtsd2ss(xmm0, xmm1); |
__ cvtsd2ss(xmm0, Operand(ebx, ecx, times_4, 10000)); |
@@ -468,6 +470,55 @@ TEST(DisasmIa320) { |
__ punpckldq(xmm1, xmm6); |
__ punpckhdq(xmm7, xmm5); |
+ |
+ __ paddd(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ paddd(xmm1, xmm0); |
+ __ psubd(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ psubd(xmm1, xmm0); |
+ __ pmuludq(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ pmuludq(xmm1, xmm0); |
+ __ punpackldq(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ punpackldq(xmm1, xmm0); |
+ |
+ __ cvtdq2ps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ cvtdq2ps(xmm1, xmm0); |
+ __ cvtps2dq(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ cvtps2dq(xmm1, xmm0); |
+ } |
+ { |
+ __ andps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ andps(xmm1, xmm0); |
+ __ xorps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ xorps(xmm1, xmm0); |
+ __ orps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ orps(xmm1, xmm0); |
+ |
+ __ addps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ addps(xmm1, xmm0); |
+ __ subps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ subps(xmm1, xmm0); |
+ __ mulps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ mulps(xmm1, xmm0); |
+ __ divps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ divps(xmm1, xmm0); |
+ __ minps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ minps(xmm1, xmm0); |
+ __ maxps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ maxps(xmm1, xmm0); |
+ __ rcpps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ rcpps(xmm1, xmm0); |
+ __ rsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ rsqrtps(xmm1, xmm0); |
+ __ sqrtps(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ sqrtps(xmm1, xmm0); |
+ |
+ __ cmpps(xmm1, xmm0, 123); |
+ __ cmpeqps(xmm1, xmm0); |
+ __ cmpltps(xmm1, xmm0); |
+ __ cmpleps(xmm1, xmm0); |
+ __ cmpneqps(xmm1, xmm0); |
+ __ cmpnltps(xmm1, xmm0); |
+ __ cmpnleps(xmm1, xmm0); |
} |
// cmov. |
@@ -496,6 +547,9 @@ TEST(DisasmIa320) { |
__ pextrd(eax, xmm0, 1); |
__ pinsrd(xmm1, eax, 0); |
__ extractps(eax, xmm1, 0); |
+ __ insertps(xmm1, xmm0, 0); |
+ __ pmulld(xmm1, Operand(ebx, ecx, times_4, 10000)); |
+ __ pmulld(xmm1, xmm0); |
} |
} |