http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38644
--- Comment #57 from Mikael Pettersson <mikpe at it dot uu.se> 2011-10-31 08:32:09 UTC --- (In reply to comment #56) > (In reply to comment #54) > > I tested with GCC 4.6.2 and the patch provided by Mikael Pettersson. It > > works > > for -march=armv4t and -march=armv5t, but not for -march=armv5te: > > > > Sebastian, > > Actually you may try this, > > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c > index aed748c..8269c1a 100755 > --- a/gcc/config/arm/arm.c > +++ b/gcc/config/arm/arm.c > @@ -22273,6 +22273,8 @@ thumb1_expand_epilogue (void) > gcc_assert (amount >= 0); > if (amount) > { > + emit_insn (gen_blockage ()); > + > if (amount < 512) > emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, > GEN_INT (amount))); > > Thanks, > -Jiangning Yeah, that should be even better than my patch. Thanks.