summaryrefslogtreecommitdiff
path: root/src/lj_asm_arm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_asm_arm.h')
-rw-r--r--src/lj_asm_arm.h3
1 files changed, 2 insertions, 1 deletions
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)) {