Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index 4553dbc9e8e8264504ec348ba03268726cf76eaf..78943f0edba17e2cf2229800a27f0217c5cb866f 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -1406,11 +1406,11 @@ void MacroAssembler::li(Register rd, Operand j, LiFlags mode) { |
addiu(rd, zero_reg, j.imm32_); |
} else if (!(j.imm32_ & kHiMask)) { |
ori(rd, zero_reg, j.imm32_); |
- } else if (!(j.imm32_ & kImm16Mask)) { |
- lui(rd, (j.imm32_ >> kLuiShift) & kImm16Mask); |
} else { |
lui(rd, (j.imm32_ >> kLuiShift) & kImm16Mask); |
- ori(rd, rd, (j.imm32_ & kImm16Mask)); |
+ if (j.imm32_ & kImm16Mask) { |
+ ori(rd, rd, (j.imm32_ & kImm16Mask)); |
+ } |
} |
} else { |
if (MustUseReg(j.rmode_)) { |