diff options
Diffstat (limited to 'deps/v8/test/cctest/test-disasm-ia32.cc')
-rw-r--r-- | deps/v8/test/cctest/test-disasm-ia32.cc | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/test-disasm-ia32.cc b/deps/v8/test/cctest/test-disasm-ia32.cc index 3331521df9..5a560df8c3 100644 --- a/deps/v8/test/cctest/test-disasm-ia32.cc +++ b/deps/v8/test/cctest/test-disasm-ia32.cc @@ -428,6 +428,19 @@ TEST(DisasmIa320) { __ minps(xmm1, Operand(ebx, ecx, times_4, 10000)); __ maxps(xmm1, xmm0); __ maxps(xmm1, Operand(ebx, ecx, times_4, 10000)); + __ rcpps(xmm1, xmm0); + __ rcpps(xmm1, Operand(ebx, ecx, times_4, 10000)); + __ rsqrtps(xmm1, xmm0); + __ rsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000)); + + __ cmpeqps(xmm5, xmm1); + __ cmpeqps(xmm5, Operand(ebx, ecx, times_4, 10000)); + __ cmpltps(xmm5, xmm1); + __ cmpltps(xmm5, Operand(ebx, ecx, times_4, 10000)); + __ cmpleps(xmm5, xmm1); + __ cmpleps(xmm5, Operand(ebx, ecx, times_4, 10000)); + __ cmpneqps(xmm5, xmm1); + __ cmpneqps(xmm5, Operand(ebx, ecx, times_4, 10000)); __ ucomiss(xmm0, xmm1); __ ucomiss(xmm0, Operand(ebx, ecx, times_4, 10000)); @@ -437,6 +450,10 @@ TEST(DisasmIa320) { __ cvtsi2sd(xmm1, Operand(ebx, ecx, times_4, 10000)); __ cvtss2sd(xmm1, Operand(ebx, ecx, times_4, 10000)); __ cvtss2sd(xmm1, xmm0); + __ cvtdq2ps(xmm1, xmm0); + __ cvtdq2ps(xmm1, Operand(ebx, ecx, times_4, 10000)); + __ cvttps2dq(xmm1, xmm0); + __ cvttps2dq(xmm1, Operand(ebx, ecx, times_4, 10000)); __ movsd(xmm1, Operand(ebx, ecx, times_4, 10000)); __ movsd(Operand(ebx, ecx, times_4, 10000), xmm1); // 128 bit move instructions. @@ -566,6 +583,19 @@ TEST(DisasmIa320) { __ vdivps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); __ vmaxps(xmm0, xmm1, xmm2); __ vmaxps(xmm0, xmm1, Operand(ebx, ecx, times_4, 10000)); + __ vrcpps(xmm1, xmm0); + __ vrcpps(xmm1, Operand(ebx, ecx, times_4, 10000)); + __ vrsqrtps(xmm1, xmm0); + __ vrsqrtps(xmm1, Operand(ebx, ecx, times_4, 10000)); + + __ vcmpeqps(xmm5, xmm4, xmm1); + __ vcmpeqps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000)); + __ vcmpltps(xmm5, xmm4, xmm1); + __ vcmpltps(xmm5, xmm4, Operand(ebx, ecx, times_4, 10000)); + __ vcmpleps(xmm5, xmm4, xmm1); + __ vcmpleps(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)); @@ -590,6 +620,12 @@ TEST(DisasmIa320) { __ vpsrld(xmm0, xmm7, 21); __ vpsraw(xmm0, xmm7, 21); __ vpsrad(xmm0, xmm7, 21); + + __ vcvtdq2ps(xmm1, xmm0); + __ vcvtdq2ps(xmm1, Operand(ebx, ecx, times_4, 10000)); + __ vcvttps2dq(xmm1, xmm0); + __ vcvttps2dq(xmm1, Operand(ebx, ecx, times_4, 10000)); + #define EMIT_SSE2_AVXINSTR(instruction, notUsed1, notUsed2, notUsed3) \ __ v##instruction(xmm7, xmm5, xmm1); \ __ v##instruction(xmm7, xmm5, Operand(edx, 4)); |