Index: src/mips/macro-assembler-mips.h |
diff --git a/src/mips/macro-assembler-mips.h b/src/mips/macro-assembler-mips.h |
index f4724729cf2c89787ea358aeab00f57b05e6b854..8913591dad0fed9b42f9c943b142622f320db45d 100644 |
--- a/src/mips/macro-assembler-mips.h |
+++ b/src/mips/macro-assembler-mips.h |
@@ -647,8 +647,12 @@ class MacroAssembler: public Assembler { |
#undef DEFINE_INSTRUCTION2 |
#undef DEFINE_INSTRUCTION3 |
+ // Load Scaled Address instructions. Parameter sa (shift argument) must be |
+ // between [1, 31] (inclusive). On pre-r6 architectures the scratch register |
+ // may be clobbered. |
void Lsa(Register rd, Register rs, Register rt, uint8_t sa, |
Register scratch = at); |
+ |
void Pref(int32_t hint, const MemOperand& rs); |
@@ -1790,7 +1794,7 @@ void MacroAssembler::GenerateSwitchTable(Register index, size_t case_count, |
if (kArchVariant >= kMips32r6) { |
BlockTrampolinePoolFor(case_count + 5); |
addiupc(at, 5); |
- lsa(at, at, index, kPointerSizeLog2); |
+ Lsa(at, at, index, kPointerSizeLog2); |
lw(at, MemOperand(at)); |
} else { |
Label here; |