From e1339aed3db2fb8488a170383fc456fe04879709 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 27 Jul 2022 11:32:33 +0200 Subject: [PATCH] x86/x64: Limit VLOAD fusion to simple cases. Reported by ccagml. --- src/lj_asm_x86.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_asm_x86.h b/src/lj_asm_x86.h index 4465efa2..2bf9d939 100644 --- a/src/lj_asm_x86.h +++ b/src/lj_asm_x86.h @@ -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;