Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index cfaed15077a1f8dc664dbda56ad045b6f4f42c5d..a58208c816f4f0471be89a44f6e6374b2bc0acdc 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -124,6 +124,7 @@ class LCodeGen; |
V(LoadNamedGeneric) \ |
V(MapEnumLength) \ |
V(MathAbs) \ |
+ V(MathClz32) \ |
V(MathExp) \ |
V(MathFloor) \ |
V(MathFloorOfDiv) \ |
@@ -760,6 +761,18 @@ class LMathLog V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
}; |
+class LMathClz32 V8_FINAL : public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LMathClz32(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ LOperand* value() { return inputs_[0]; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(MathClz32, "math-clz32") |
+}; |
+ |
+ |
class LMathExp V8_FINAL : public LTemplateInstruction<1, 1, 2> { |
public: |
LMathExp(LOperand* value, LOperand* temp1, LOperand* temp2) { |
@@ -2529,6 +2542,7 @@ class LChunkBuilder V8_FINAL : public LChunkBuilderBase { |
LInstruction* DoMathExp(HUnaryMathOperation* instr); |
LInstruction* DoMathSqrt(HUnaryMathOperation* instr); |
LInstruction* DoMathPowHalf(HUnaryMathOperation* instr); |
+ LInstruction* DoMathClz32(HUnaryMathOperation* instr); |
private: |
enum Status { |