| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index ba8ccc5cc995ceade12a62eb68048aa4b5a0d726..0c957459739377a6ce544a9e2963321d0954c1ff 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -1013,36 +1013,6 @@ void LCodeGen::DoModI(LModI* instr) {
|
| __ bind(&left_is_not_negative);
|
| __ andl(left_reg, Immediate(divisor - 1));
|
| __ bind(&done);
|
| -
|
| - } else if (hmod->fixed_right_arg().has_value) {
|
| - Register left_reg = ToRegister(instr->left());
|
| - ASSERT(left_reg.is(ToRegister(instr->result())));
|
| - Register right_reg = ToRegister(instr->right());
|
| -
|
| - int32_t divisor = hmod->fixed_right_arg().value;
|
| - ASSERT(IsPowerOf2(divisor));
|
| -
|
| - // Check if our assumption of a fixed right operand still holds.
|
| - __ cmpl(right_reg, Immediate(divisor));
|
| - DeoptimizeIf(not_equal, instr->environment());
|
| -
|
| - Label left_is_not_negative, done;
|
| - if (left->CanBeNegative()) {
|
| - __ testl(left_reg, left_reg);
|
| - __ j(not_sign, &left_is_not_negative, Label::kNear);
|
| - __ negl(left_reg);
|
| - __ andl(left_reg, Immediate(divisor - 1));
|
| - __ negl(left_reg);
|
| - if (hmod->CheckFlag(HValue::kBailoutOnMinusZero)) {
|
| - DeoptimizeIf(zero, instr->environment());
|
| - }
|
| - __ jmp(&done, Label::kNear);
|
| - }
|
| -
|
| - __ bind(&left_is_not_negative);
|
| - __ andl(left_reg, Immediate(divisor - 1));
|
| - __ bind(&done);
|
| -
|
| } else {
|
| Register left_reg = ToRegister(instr->left());
|
| ASSERT(left_reg.is(rax));
|
|
|