aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2012-04-26 23:33:56 +0200
committerMike Pall <mike>2012-04-26 23:33:56 +0200
commit0522f74f6936f578b45b5e6cd659d0d6f94c7d5e (patch)
tree9e23f18c57a696070d73fb27a5db650a9f3856b9 /src
parent904cc1facb535b575d8d0c7b83732ce644f161fb (diff)
downloadluajit-0522f74f6936f578b45b5e6cd659d0d6f94c7d5e.tar.gz
luajit-0522f74f6936f578b45b5e6cd659d0d6f94c7d5e.tar.bz2
luajit-0522f74f6936f578b45b5e6cd659d0d6f94c7d5e.zip
ARM: Fix register allocation for ldrd-optimized HREFK.
Diffstat (limited to 'src')
-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)
656 } 656 }
657 asm_guardcc(as, CC_NE); 657 asm_guardcc(as, CC_NE);
658 if (!irt_ispri(irkey->t)) { 658 if (!irt_ispri(irkey->t)) {
659 RegSet even = (as->freeset & (as->freeset >> 1) & allow & RSET_GPREVEN); 659 RegSet even = (as->freeset & allow);
660 even = even & (even >> 1) & RSET_GPREVEN;
660 if (even) { 661 if (even) {
661 key = ra_scratch(as, even); 662 key = ra_scratch(as, even);
662 if (rset_test(as->freeset, key+1)) { 663 if (rset_test(as->freeset, key+1)) {