Index: src/mips/simulator-mips.cc |
diff --git a/src/mips/simulator-mips.cc b/src/mips/simulator-mips.cc |
index 22e4381bea08dcc05c6f60df51081e125398342e..38b7312f7fc2ffa2a53e32da6eb7fe3bee946932 100644 |
--- a/src/mips/simulator-mips.cc |
+++ b/src/mips/simulator-mips.cc |
@@ -4040,7 +4040,14 @@ void Simulator::DecodeTypeImmediate(Instruction* instr) { |
SetResult(rt_reg, rs ^ oe_imm16); |
break; |
case LUI: |
balazs.kilvady
2015/11/26 17:10:50
Please use this kind of comment (like at branches)
|
- SetResult(rt_reg, oe_imm16 << 16); |
+ if (rs_reg != 0) { |
+ // AUI |
+ DCHECK(IsMipsArchVariant(kMips32r6)); |
+ SetResult(rt_reg, rs + (se_imm16 << 16)); |
+ } else { |
+ // LUI |
+ SetResult(rt_reg, oe_imm16 << 16); |
+ } |
break; |
// ------------- Memory instructions. |
case LB: |