summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/test-disasm-ia32.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/test-disasm-ia32.cc')
-rw-r--r--deps/v8/test/cctest/test-disasm-ia32.cc61
1 files changed, 61 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/test-disasm-ia32.cc b/deps/v8/test/cctest/test-disasm-ia32.cc
index 4078bd429c..563d3a87cf 100644
--- a/deps/v8/test/cctest/test-disasm-ia32.cc
+++ b/deps/v8/test/cctest/test-disasm-ia32.cc
@@ -435,6 +435,8 @@ TEST(DisasmIa320) {
__ maxps(xmm1, Operand(ebx, ecx, times_4, 10000));
__ rcpps(xmm1, xmm0);
__ rcpps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ sqrtps(xmm1, xmm0);
+ __ sqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
__ rsqrtps(xmm1, xmm0);
__ rsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
@@ -444,6 +446,8 @@ TEST(DisasmIa320) {
__ cmpltps(xmm5, Operand(ebx, ecx, times_4, 10000));
__ cmpleps(xmm5, xmm1);
__ cmpleps(xmm5, Operand(ebx, ecx, times_4, 10000));
+ __ cmpunordps(xmm5, xmm1);
+ __ cmpunordps(xmm5, Operand(ebx, ecx, times_4, 10000));
__ cmpneqps(xmm5, xmm1);
__ cmpneqps(xmm5, Operand(ebx, ecx, times_4, 10000));
@@ -467,6 +471,9 @@ TEST(DisasmIa320) {
__ movdqu(xmm0, Operand(ebx, ecx, times_4, 10000));
__ movdqu(Operand(ebx, ecx, times_4, 10000), xmm0);
+ __ movapd(xmm0, xmm1);
+ __ movapd(xmm0, Operand(edx, 4));
+
__ movd(xmm0, edi);
__ movd(xmm0, Operand(ebx, ecx, times_4, 10000));
__ movd(eax, xmm1);
@@ -490,6 +497,36 @@ TEST(DisasmIa320) {
__ cmpltsd(xmm0, xmm1);
__ andpd(xmm0, xmm1);
+ __ andpd(xmm0, Operand(ebx, ecx, times_4, 10000));
+ __ andnpd(xmm0, xmm1);
+ __ andnpd(xmm0, Operand(ebx, ecx, times_4, 10000));
+ __ orpd(xmm0, xmm1);
+ __ orpd(xmm0, Operand(ebx, ecx, times_4, 10000));
+ __ xorpd(xmm0, xmm1);
+ __ xorpd(xmm0, Operand(ebx, ecx, times_4, 10000));
+ __ addpd(xmm1, xmm0);
+ __ addpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ subpd(xmm1, xmm0);
+ __ subpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ mulpd(xmm1, xmm0);
+ __ mulpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ divpd(xmm1, xmm0);
+ __ divpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ minpd(xmm1, xmm0);
+ __ minpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ maxpd(xmm1, xmm0);
+ __ maxpd(xmm1, Operand(ebx, ecx, times_4, 10000));
+
+ __ cmpeqpd(xmm5, xmm1);
+ __ cmpeqpd(xmm5, Operand(ebx, ecx, times_4, 10000));
+ __ cmpltpd(xmm5, xmm1);
+ __ cmpltpd(xmm5, Operand(ebx, ecx, times_4, 10000));
+ __ cmplepd(xmm5, xmm1);
+ __ cmplepd(xmm5, Operand(ebx, ecx, times_4, 10000));
+ __ cmpunordpd(xmm5, xmm1);
+ __ cmpunordpd(xmm5, Operand(ebx, ecx, times_4, 10000));
+ __ cmpneqpd(xmm5, xmm1);
+ __ cmpneqpd(xmm5, Operand(ebx, ecx, times_4, 10000));
__ psllw(xmm0, 17);
__ pslld(xmm0, 17);
@@ -623,6 +660,8 @@ TEST(DisasmIa320) {
__ vandps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vandnps(xmm0, xmm1, xmm2);
__ vandnps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vorps(xmm0, xmm1, xmm2);
+ __ vorps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vxorps(xmm0, xmm1, xmm2);
__ vxorps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vaddps(xmm0, xmm1, xmm2);
@@ -639,9 +678,13 @@ TEST(DisasmIa320) {
__ vmaxps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vrcpps(xmm1, xmm0);
__ vrcpps(xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vsqrtps(xmm1, xmm0);
+ __ vsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
__ vrsqrtps(xmm1, xmm0);
__ vrsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000));
__ vmovaps(xmm0, xmm1);
+ __ vmovapd(xmm0, xmm1);
+ __ vmovapd(xmm0, Operand(ebx, ecx, times_4, 10000));
__ vshufps(xmm0, xmm1, xmm2, 3);
__ vshufps(xmm0, xmm1, Operand(edx, 4), 3);
__ vhaddps(xmm0, xmm1, xmm2);
@@ -653,11 +696,17 @@ TEST(DisasmIa320) {
__ vcmpltps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
__ vcmpleps(xmm5, xmm4, xmm1);
__ vcmpleps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+ __ vcmpunordps(xmm5, xmm4, xmm1);
+ __ vcmpunordps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
__ vcmpneqps(xmm5, xmm4, xmm1);
__ vcmpneqps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
__ vandpd(xmm0, xmm1, xmm2);
__ vandpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vandnpd(xmm0, xmm1, xmm2);
+ __ vandnpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vorpd(xmm0, xmm1, xmm2);
+ __ vorpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vxorpd(xmm0, xmm1, xmm2);
__ vxorpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
__ vaddpd(xmm0, xmm1, xmm2);
@@ -673,10 +722,22 @@ TEST(DisasmIa320) {
__ vmaxpd(xmm0, xmm1, xmm2);
__ vmaxpd(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000));
+ __ vcmpeqpd(xmm5, xmm4, xmm1);
+ __ vcmpeqpd(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+ __ vcmpltpd(xmm5, xmm4, xmm1);
+ __ vcmpltpd(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+ __ vcmplepd(xmm5, xmm4, xmm1);
+ __ vcmplepd(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+ __ vcmpunordpd(xmm5, xmm4, xmm1);
+ __ vcmpunordpd(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+ __ vcmpneqpd(xmm5, xmm4, xmm1);
+ __ vcmpneqpd(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000));
+
__ vpsllw(xmm0, xmm7, 21);
__ vpslld(xmm0, xmm7, 21);
__ vpsrlw(xmm0, xmm7, 21);
__ vpsrld(xmm0, xmm7, 21);
+ __ vpsrlq(xmm0, xmm7, 21);
__ vpsraw(xmm0, xmm7, 21);
__ vpsrad(xmm0, xmm7, 21);