Message ID | CACUk7=UZ0srt8xHE+=Th2ybw82JBGiW4nghjwqToG12siqur4g@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 10/19/2011 3:27 PM, Ramana Radhakrishnan wrote: > Index: gcc/config/arm/arm.c > - live_regs_mask |= extra_mask<< (size / UNITS_PER_WORD); > + live_regs_mask |= extra_mask<< ((size + 3) / UNITS_PER_WORD); IIUC, wouldn't ((size + UNITS_PER_WORD - 1) / UNITS_PER_WORD) be clearer? -Nathan
On Wed, Oct 19, 2011 at 08:27:26PM +0100, Ramana Radhakrishnan wrote: > Ok to backport to 4.6 branch given it is branch freeze time ? I'll be Yeah (with the changes Nathan suggested). > 2011-10-19 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> > > PR target/50106 > * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return > reg size from 1-3. Jakub
Index: gcc/config/arm/arm.c =================================================================== --- gcc/config/arm/arm.c (revision 180200) +++ gcc/config/arm/arm.c (working copy) @@ -21652,7 +21652,7 @@ if (extra_pop > 0) { unsigned long extra_mask = (1 << extra_pop) - 1; - live_regs_mask |= extra_mask << (size / UNITS_PER_WORD); + live_regs_mask |= extra_mask << ((size + 3) / UNITS_PER_WORD); } /* The prolog may have pushed some high registers to use as