]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
x86/x64: Limit VLOAD fusion to simple cases.
authorMike Pall <mike>
Wed, 27 Jul 2022 09:32:33 +0000 (11:32 +0200)
committerMike Pall <mike>
Wed, 27 Jul 2022 09:32:33 +0000 (11:32 +0200)
Reported by ccagml.

src/lj_asm_x86.h

index 4465efa2b7909c95483ee76cdd6ee2b6d64de9f5..2bf9d939ca85b43e3c0f70ea73449351aaabe0e9 100644 (file)
@@ -485,7 +485,8 @@ static Reg asm_fuseload(ASMState *as, IRRef ref, RegSet allow)
        asm_fusexref(as, ir->op1, xallow);
        return RID_MRM;
       }
-    } else if (ir->o == IR_VLOAD && !(LJ_GC64 && irt_isaddr(ir->t))) {
+    } else if (ir->o == IR_VLOAD && IR(ir->op1)->o == IR_AREF &&
+              !(LJ_GC64 && irt_isaddr(ir->t))) {
       asm_fuseahuref(as, ir->op1, xallow);
       as->mrm.ofs += 8 * ir->op2;
       return RID_MRM;