Index: src/compiler/x64/code-generator-x64.cc |
diff --git a/src/compiler/x64/code-generator-x64.cc b/src/compiler/x64/code-generator-x64.cc |
index cb5536c3620a3f5ff975d1ffdc0f838c5e02bb47..b95402a9ef28a05e2bbe967e898e2957e01f273a 100644 |
--- a/src/compiler/x64/code-generator-x64.cc |
+++ b/src/compiler/x64/code-generator-x64.cc |
@@ -166,7 +166,7 @@ class OutOfLineLoadNaN final : public OutOfLineCode { |
OutOfLineLoadNaN(CodeGenerator* gen, XMMRegister result) |
: OutOfLineCode(gen), result_(result) {} |
- void Generate() final { __ pcmpeqd(result_, result_); } |
+ void Generate() final { __ Pcmpeqd(result_, result_); } |
private: |
XMMRegister const result_; |
@@ -335,7 +335,7 @@ class OutOfLineTruncateDoubleToI final : public OutOfLineCode { |
\ |
void Generate() final { \ |
__ leal(kScratchRegister, Operand(index1_, index2_)); \ |
- __ pcmpeqd(result_, result_); \ |
+ __ Pcmpeqd(result_, result_); \ |
__ cmpl(kScratchRegister, Immediate(length_)); \ |
__ j(above_equal, exit()); \ |
__ asm_instr(result_, \ |
@@ -1044,9 +1044,9 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
break; |
case kAVXFloat32Abs: { |
// TODO(bmeurer): Use RIP relative 128-bit constants. |
- __ pcmpeqd(kScratchDoubleReg, kScratchDoubleReg); |
- __ psrlq(kScratchDoubleReg, 33); |
CpuFeatureScope avx_scope(masm(), AVX); |
+ __ vpcmpeqd(kScratchDoubleReg, kScratchDoubleReg, kScratchDoubleReg); |
+ __ vpsrlq(kScratchDoubleReg, kScratchDoubleReg, 33); |
if (instr->InputAt(0)->IsDoubleRegister()) { |
__ vandps(i.OutputDoubleRegister(), kScratchDoubleReg, |
i.InputDoubleRegister(0)); |
@@ -1058,9 +1058,9 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
} |
case kAVXFloat32Neg: { |
// TODO(bmeurer): Use RIP relative 128-bit constants. |
- __ pcmpeqd(kScratchDoubleReg, kScratchDoubleReg); |
- __ psllq(kScratchDoubleReg, 31); |
CpuFeatureScope avx_scope(masm(), AVX); |
+ __ vpcmpeqd(kScratchDoubleReg, kScratchDoubleReg, kScratchDoubleReg); |
+ __ vpsllq(kScratchDoubleReg, kScratchDoubleReg, 31); |
if (instr->InputAt(0)->IsDoubleRegister()) { |
__ vxorps(i.OutputDoubleRegister(), kScratchDoubleReg, |
i.InputDoubleRegister(0)); |
@@ -1072,9 +1072,9 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
} |
case kAVXFloat64Abs: { |
// TODO(bmeurer): Use RIP relative 128-bit constants. |
- __ pcmpeqd(kScratchDoubleReg, kScratchDoubleReg); |
- __ psrlq(kScratchDoubleReg, 1); |
CpuFeatureScope avx_scope(masm(), AVX); |
+ __ vpcmpeqd(kScratchDoubleReg, kScratchDoubleReg, kScratchDoubleReg); |
+ __ vpsrlq(kScratchDoubleReg, kScratchDoubleReg, 1); |
if (instr->InputAt(0)->IsDoubleRegister()) { |
__ vandpd(i.OutputDoubleRegister(), kScratchDoubleReg, |
i.InputDoubleRegister(0)); |
@@ -1086,9 +1086,9 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
} |
case kAVXFloat64Neg: { |
// TODO(bmeurer): Use RIP relative 128-bit constants. |
- __ pcmpeqd(kScratchDoubleReg, kScratchDoubleReg); |
- __ psllq(kScratchDoubleReg, 63); |
CpuFeatureScope avx_scope(masm(), AVX); |
+ __ vpcmpeqd(kScratchDoubleReg, kScratchDoubleReg, kScratchDoubleReg); |
+ __ vpsllq(kScratchDoubleReg, kScratchDoubleReg, 63); |
if (instr->InputAt(0)->IsDoubleRegister()) { |
__ vxorpd(i.OutputDoubleRegister(), kScratchDoubleReg, |
i.InputDoubleRegister(0)); |