ARM: Fix register allocation for ldrd-optimized HREFK.

This commit is contained in:
Mike Pall 2012-04-26 23:33:56 +02:00
parent 904cc1facb
commit 0522f74f69

View File

@ -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)) {