Index: src/arm/lithium-arm.h |
diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h |
index 982ac2c5a3da11ea155696462aac61ab38b0f358..fbe52644ad4d1c9a9356a2f04ed8de38f7134acc 100644 |
--- a/src/arm/lithium-arm.h |
+++ b/src/arm/lithium-arm.h |
@@ -124,6 +124,7 @@ class LCodeGen; |
V(LoadNamedGeneric) \ |
V(MapEnumLength) \ |
V(MathAbs) \ |
+ V(MathClz32) \ |
V(MathExp) \ |
V(MathFloor) \ |
V(MathFloorOfDiv) \ |
@@ -809,6 +810,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, 3> { |
public: |
LMathExp(LOperand* value, |
@@ -2606,6 +2619,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 { |