| Index: src/compiler/ia32/instruction-selector-ia32.cc
|
| diff --git a/src/compiler/ia32/instruction-selector-ia32.cc b/src/compiler/ia32/instruction-selector-ia32.cc
|
| index f1d2ab616f662b8d56a17b8c2db53666792ee8c1..22ddfc8c51abcd931ed1bc02cffeb6ae3bcef1ba 100644
|
| --- a/src/compiler/ia32/instruction-selector-ia32.cc
|
| +++ b/src/compiler/ia32/instruction-selector-ia32.cc
|
| @@ -1082,9 +1082,13 @@ void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) {
|
| VisitRR(this, node, kSSEFloat64Round | MiscField::encode(kRoundToNearest));
|
| }
|
|
|
| -void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); }
|
| +void InstructionSelector::VisitFloat32Neg(Node* node) {
|
| + VisitFloatUnop(this, node, node->InputAt(0), kAVXFloat32Neg, kSSEFloat32Neg);
|
| +}
|
|
|
| -void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); }
|
| +void InstructionSelector::VisitFloat64Neg(Node* node) {
|
| + VisitFloatUnop(this, node, node->InputAt(0), kAVXFloat64Neg, kSSEFloat64Neg);
|
| +}
|
|
|
| void InstructionSelector::VisitFloat64Ieee754Binop(Node* node,
|
| InstructionCode opcode) {
|
| @@ -1701,7 +1705,8 @@ MachineOperatorBuilder::Flags
|
| InstructionSelector::SupportedMachineOperatorFlags() {
|
| MachineOperatorBuilder::Flags flags =
|
| MachineOperatorBuilder::kWord32ShiftIsSafe |
|
| - MachineOperatorBuilder::kWord32Ctz;
|
| + MachineOperatorBuilder::kWord32Ctz | MachineOperatorBuilder::kFloat32Neg |
|
| + MachineOperatorBuilder::kFloat64Neg;
|
| if (CpuFeatures::IsSupported(POPCNT)) {
|
| flags |= MachineOperatorBuilder::kWord32Popcnt;
|
| }
|
|
|