Index: src/mips/assembler-mips.cc |
diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc |
index 865e64c87d26fabb81a7511d774d1fb9b8440c60..8ce0754fcd497ee7a68a71c5512acf3aca99755b 100644 |
--- a/src/mips/assembler-mips.cc |
+++ b/src/mips/assembler-mips.cc |
@@ -1797,8 +1797,13 @@ int32_t Assembler::LoadRegPlusUpperOffsetPartToAt(const MemOperand& src) { |
if (src.offset_ & kNegOffset) { |
hi += 1; |
} |
- lui(at, hi); |
- addu(at, at, src.rm()); |
+ |
+ if (IsMipsArchVariant(kMips32r6)) { |
+ aui(at, src.rm(), hi); |
+ } else { |
+ lui(at, hi); |
+ addu(at, at, src.rm()); |
+ } |
return (src.offset_ & kImm16Mask); |
} |