diff options
Diffstat (limited to 'deps/v8/test/cctest/test-disasm-ia32.cc')
-rw-r--r-- | deps/v8/test/cctest/test-disasm-ia32.cc | 61 |
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); |