| Index: test/cctest/test-disasm-ia32.cc
|
| ===================================================================
|
| --- test/cctest/test-disasm-ia32.cc (revision 3027)
|
| +++ test/cctest/test-disasm-ia32.cc (working copy)
|
| @@ -363,7 +363,31 @@
|
| __ divsd(xmm1, xmm0);
|
| __ movdbl(xmm1, Operand(ebx, ecx, times_4, 10000));
|
| __ movdbl(Operand(ebx, ecx, times_4, 10000), xmm1);
|
| + __ comisd(xmm0, xmm1);
|
| }
|
| +
|
| + // cmov.
|
| + {
|
| + CHECK(CpuFeatures::IsSupported(CpuFeatures::CMOV));
|
| + CpuFeatures::Scope use_cmov(CpuFeatures::CMOV);
|
| + __ cmov(overflow, eax, Operand(eax, 0));
|
| + __ cmov(no_overflow, eax, Operand(eax, 1));
|
| + __ cmov(below, eax, Operand(eax, 2));
|
| + __ cmov(above_equal, eax, Operand(eax, 3));
|
| + __ cmov(equal, eax, Operand(ebx, 0));
|
| + __ cmov(not_equal, eax, Operand(ebx, 1));
|
| + __ cmov(below_equal, eax, Operand(ebx, 2));
|
| + __ cmov(above, eax, Operand(ebx, 3));
|
| + __ cmov(sign, eax, Operand(ecx, 0));
|
| + __ cmov(not_sign, eax, Operand(ecx, 1));
|
| + __ cmov(parity_even, eax, Operand(ecx, 2));
|
| + __ cmov(parity_odd, eax, Operand(ecx, 3));
|
| + __ cmov(less, eax, Operand(edx, 0));
|
| + __ cmov(greater_equal, eax, Operand(edx, 1));
|
| + __ cmov(less_equal, eax, Operand(edx, 2));
|
| + __ cmov(greater, eax, Operand(edx, 3));
|
| + }
|
| +
|
| __ ret(0);
|
|
|
| CodeDesc desc;
|
|
|