| Index: src/compiler/x64/instruction-selector-x64.cc
|
| diff --git a/src/compiler/x64/instruction-selector-x64.cc b/src/compiler/x64/instruction-selector-x64.cc
|
| index 7315b22beab771571284b2acd99454ec56eb32ca..4d9622ad14739a8c1c091e12b5772d60915ee6a1 100644
|
| --- a/src/compiler/x64/instruction-selector-x64.cc
|
| +++ b/src/compiler/x64/instruction-selector-x64.cc
|
| @@ -1455,9 +1455,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) {
|
| @@ -2182,7 +2186,8 @@ MachineOperatorBuilder::Flags
|
| InstructionSelector::SupportedMachineOperatorFlags() {
|
| MachineOperatorBuilder::Flags flags =
|
| MachineOperatorBuilder::kWord32ShiftIsSafe |
|
| - MachineOperatorBuilder::kWord32Ctz | MachineOperatorBuilder::kWord64Ctz;
|
| + MachineOperatorBuilder::kWord32Ctz | MachineOperatorBuilder::kWord64Ctz |
|
| + MachineOperatorBuilder::kFloat32Neg | MachineOperatorBuilder::kFloat64Neg;
|
| if (CpuFeatures::IsSupported(POPCNT)) {
|
| flags |= MachineOperatorBuilder::kWord32Popcnt |
|
| MachineOperatorBuilder::kWord64Popcnt;
|
|
|