summaryrefslogtreecommitdiff
path: root/gcc/config/arm
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-01 15:55:21 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-01 15:55:21 +0000
commit2c8ecb87088319b88bce63d360cada7bf1de1060 (patch)
tree63c424deb8e8d2b2388a778f43087c2f69ca933c /gcc/config/arm
parent0f1fb0598f8cd862d3aa85ba81299ce3579142fa (diff)
downloadgcc-2c8ecb87088319b88bce63d360cada7bf1de1060.tar.gz
* config/arm/arm.c (thumb_compute_saved_rag_mask): Or with bitmask,
not register number. (thumb_find_work_register): Search full register range. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88399 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm')
-rw-r--r--gcc/config/arm/arm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index a8934c3e475..193e6e1224a 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3018,7 +3018,7 @@ thumb_find_work_register (int live_regs_mask)
return LAST_ARG_REGNUM;
/* Look for a pushed register. */
- for (reg = 0; reg < LAST_LO_REGNUM; reg++)
+ for (reg = LAST_LO_REGNUM; reg >=0; reg--)
if (live_regs_mask & (1 << reg))
return reg;
@@ -8733,7 +8733,7 @@ thumb_compute_save_reg_mask (void)
}
if (flag_pic && !TARGET_SINGLE_PIC_BASE)
- mask |= PIC_OFFSET_TABLE_REGNUM;
+ mask |= (1 << PIC_OFFSET_TABLE_REGNUM);
if (TARGET_SINGLE_PIC_BASE)
mask &= ~(1 << arm_pic_register);