| Index: src/a64/lithium-a64.h
|
| diff --git a/src/a64/lithium-a64.h b/src/a64/lithium-a64.h
|
| index acfdb8fcfb803c045896c8543082f59c87d94fa3..f77f7501cf170748f502e063056f9a72c39354cc 100644
|
| --- a/src/a64/lithium-a64.h
|
| +++ b/src/a64/lithium-a64.h
|
| @@ -89,6 +89,7 @@ class LCodeGen;
|
| V(DebugBreak) \
|
| V(DeclareGlobals) \
|
| V(Deoptimize) \
|
| + V(DivConstI) \
|
| V(DivI) \
|
| V(DoubleToIntOrSmi) \
|
| V(Drop) \
|
| @@ -1250,17 +1251,37 @@ class LDeoptimize V8_FINAL : public LTemplateInstruction<0, 0, 0> {
|
| };
|
|
|
|
|
| -class LDivI V8_FINAL : public LTemplateInstruction<1, 2, 1> {
|
| +class LDivConstI V8_FINAL : public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| - LDivI(LOperand* left, LOperand* right, LOperand* temp) {
|
| + LDivConstI(LOperand* left, LOperand* right) {
|
| inputs_[0] = left;
|
| inputs_[1] = right;
|
| - temps_[0] = temp;
|
| }
|
|
|
| LOperand* left() { return inputs_[0]; }
|
| LOperand* right() { return inputs_[1]; }
|
| - LOperand* temp() { return temps_[0]; }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(DivConstI, "div-const-i")
|
| + DECLARE_HYDROGEN_ACCESSOR(Div)
|
| +};
|
| +
|
| +
|
| +class LDivI V8_FINAL : public LTemplateInstruction<1, 2, 3> {
|
| + public:
|
| + LDivI(LOperand* left, LOperand* right, LOperand* temp1, LOperand* temp2,
|
| + LOperand* temp3) {
|
| + inputs_[0] = left;
|
| + inputs_[1] = right;
|
| + temps_[0] = temp1;
|
| + temps_[1] = temp2;
|
| + temps_[2] = temp3;
|
| + }
|
| +
|
| + LOperand* left() { return inputs_[0]; }
|
| + LOperand* right() { return inputs_[1]; }
|
| + LOperand* temp1() { return temps_[0]; }
|
| + LOperand* temp2() { return temps_[1]; }
|
| + LOperand* temp3() { return temps_[2]; }
|
|
|
| DECLARE_CONCRETE_INSTRUCTION(DivI, "div-i")
|
| DECLARE_HYDROGEN_ACCESSOR(Div)
|
|
|