From 0522f74f6936f578b45b5e6cd659d0d6f94c7d5e Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Thu, 26 Apr 2012 23:33:56 +0200 Subject: [PATCH] ARM: Fix register allocation for ldrd-optimized HREFK. --- src/lj_asm_arm.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_asm_arm.h b/src/lj_asm_arm.h index 77751ca9..0501f4bc 100644 --- a/src/lj_asm_arm.h +++ b/src/lj_asm_arm.h @@ -656,7 +656,8 @@ static void asm_hrefk(ASMState *as, IRIns *ir) } asm_guardcc(as, CC_NE); if (!irt_ispri(irkey->t)) { - RegSet even = (as->freeset & (as->freeset >> 1) & allow & RSET_GPREVEN); + RegSet even = (as->freeset & allow); + even = even & (even >> 1) & RSET_GPREVEN; if (even) { key = ra_scratch(as, even); if (rset_test(as->freeset, key+1)) { -- 2.11.4.GIT