Index: src/ia32/lithium-ia32.h |
diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h |
index 811700a544aa9767d00b637930323a81c2a62794..073bcdd6d3b0309955da6b8257de36986b913fff 100644 |
--- a/src/ia32/lithium-ia32.h |
+++ b/src/ia32/lithium-ia32.h |
@@ -126,6 +126,7 @@ class LCodeGen; |
V(LoadRoot) \ |
V(MapEnumLength) \ |
V(MathAbs) \ |
+ V(MathClz32) \ |
V(MathExp) \ |
V(MathFloor) \ |
V(MathFloorOfDiv) \ |
@@ -782,6 +783,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, |
@@ -2612,6 +2625,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 { |