Index: src/compiler/machine-operator-reducer.cc |
diff --git a/src/compiler/machine-operator-reducer.cc b/src/compiler/machine-operator-reducer.cc |
index b2437de6473dbe7e26b4f687d3c8a53624fa0a26..07d6820f069ebcf4d878269770fb6abed934784c 100644 |
--- a/src/compiler/machine-operator-reducer.cc |
+++ b/src/compiler/machine-operator-reducer.cc |
@@ -396,11 +396,21 @@ Reduction MachineOperatorReducer::Reduce(Node* node) { |
} |
break; |
} |
+ case IrOpcode::kFloat64Atanh: { |
+ Float64Matcher m(node->InputAt(0)); |
+ if (m.HasValue()) return ReplaceFloat64(base::ieee754::atanh(m.Value())); |
+ break; |
+ } |
case IrOpcode::kFloat64Exp: { |
Float64Matcher m(node->InputAt(0)); |
if (m.HasValue()) return ReplaceFloat64(base::ieee754::exp(m.Value())); |
break; |
} |
+ case IrOpcode::kFloat64Expm1: { |
+ Float64Matcher m(node->InputAt(0)); |
+ if (m.HasValue()) return ReplaceFloat64(base::ieee754::expm1(m.Value())); |
+ break; |
+ } |
case IrOpcode::kFloat64Log: { |
Float64Matcher m(node->InputAt(0)); |
if (m.HasValue()) return ReplaceFloat64(base::ieee754::log(m.Value())); |
@@ -421,6 +431,11 @@ Reduction MachineOperatorReducer::Reduce(Node* node) { |
if (m.HasValue()) return ReplaceFloat64(base::ieee754::log10(m.Value())); |
break; |
} |
+ case IrOpcode::kFloat64Cbrt: { |
+ Float64Matcher m(node->InputAt(0)); |
+ if (m.HasValue()) return ReplaceFloat64(base::ieee754::cbrt(m.Value())); |
+ break; |
+ } |
case IrOpcode::kChangeFloat32ToFloat64: { |
Float32Matcher m(node->InputAt(0)); |
if (m.HasValue()) return ReplaceFloat64(m.Value()); |