diff options
| author | Mike Pall <mike> | 2012-04-26 23:33:56 +0200 |
|---|---|---|
| committer | Mike Pall <mike> | 2012-04-26 23:33:56 +0200 |
| commit | 0522f74f6936f578b45b5e6cd659d0d6f94c7d5e (patch) | |
| tree | 9e23f18c57a696070d73fb27a5db650a9f3856b9 /src | |
| parent | 904cc1facb535b575d8d0c7b83732ce644f161fb (diff) | |
| download | luajit-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.h | 3 |
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)) { |
