| Index: test/cctest/test-disasm-ia32.cc
|
| diff --git a/test/cctest/test-disasm-ia32.cc b/test/cctest/test-disasm-ia32.cc
|
| index 2b4c82f2b12953df87b28e5235bebe2639965353..4d771d2ffbd2dce4041295e8e63ebc7be0e8a5b6 100644
|
| --- a/test/cctest/test-disasm-ia32.cc
|
| +++ b/test/cctest/test-disasm-ia32.cc
|
| @@ -403,6 +403,58 @@ TEST(DisasmIa320) {
|
| __ psrlq(xmm0, 17);
|
| __ psrlq(xmm0, xmm1);
|
| __ por(xmm0, xmm1);
|
| +
|
| + // new instruction introduced by SIMD
|
| + __ cvtdq2ps(xmm1, Operand(ebx, ecx, times_4, 10000));
|
| + __ cvtdq2ps(xmm1, xmm0);
|
| + __ cvtps2dq(xmm1, Operand(ebx, ecx, times_4, 10000));
|
| + __ cvtps2dq(xmm1, xmm0);
|
| + __ 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);
|
| + {
|
| + __ shufps(xmm1, xmm1, 0x0);
|
| + __ movups(xmm1, Operand(ebx, ecx, times_4, 10000));
|
| + __ movups(Operand(ebx, ecx, times_4, 10000), xmm1);
|
| +
|
| + __ 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);
|
| +
|
| + __ cmpeqps(xmm1, xmm0);
|
| + __ cmpltps(xmm1, xmm0);
|
| + __ cmpleps(xmm1, xmm0);
|
| + __ cmpneqps(xmm1, xmm0);
|
| + __ cmpnltps(xmm1, xmm0);
|
| + __ cmpnleps(xmm1, xmm0);
|
| + }
|
| }
|
| }
|
|
|
| @@ -436,6 +488,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);
|
| }
|
| }
|
|
|
|
|