aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lj_emit_arm64.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_emit_arm64.h b/src/lj_emit_arm64.h
index 52d010b8..6926c71a 100644
--- a/src/lj_emit_arm64.h
+++ b/src/lj_emit_arm64.h
@@ -142,7 +142,7 @@ static void emit_lso(ASMState *as, A64Ins ai, Reg rd, Reg rn, int64_t ofs)
142 } else { 142 } else {
143 goto nopair; 143 goto nopair;
144 } 144 }
145 if (ofsm >= (int)((unsigned int)-64<<sc) && ofsm <= (63<<sc)) { 145 if (lj_ror((unsigned int)ofsm + (64u<<sc), sc) <= 127u) {
146 *as->mcp = aip | A64F_N(rn) | (((ofsm >> sc) & 0x7f) << 15) | 146 *as->mcp = aip | A64F_N(rn) | (((ofsm >> sc) & 0x7f) << 15) |
147 (ai ^ ((ai == A64I_LDRx || ai == A64I_STRx) ? 0x50000000 : 0x90000000)); 147 (ai ^ ((ai == A64I_LDRx || ai == A64I_STRx) ? 0x50000000 : 0x90000000));
148 return; 148 return;