Sfoglia il codice sorgente

ARM64: Fix LDP code generation.

Thanks to Zhongwei Yao. #1028
Mike Pall 2 anni fa
parent
commit
9493acc1a2
1 ha cambiato i file con 1 aggiunte e 1 eliminazioni
  1. 1 1
      src/lj_emit_arm64.h

+ 1 - 1
src/lj_emit_arm64.h

@@ -143,7 +143,7 @@ static void emit_lso(ASMState *as, A64Ins ai, Reg rd, Reg rn, int64_t ofs)
       goto nopair;
     }
     if (ofsm >= (int)((unsigned int)-64<<sc) && ofsm <= (63<<sc)) {
-      *as->mcp = aip | A64F_N(rn) | ((ofsm >> sc) << 15) |
+      *as->mcp = aip | A64F_N(rn) | (((ofsm >> sc) & 0x7f) << 15) |
 	(ai ^ ((ai == A64I_LDRx || ai == A64I_STRx) ? 0x50000000 : 0x90000000));
       return;
     }