Hi Christophe, On Mon, May 09, 2016 at 03:54:26PM +0200, Christophe Lyon wrote: > After this patch, I've noticed that > gcc.target/arm/pr43920-2.c > now fails at: > /* { dg-final { scan-assembler-times "pop" 2 } } */ > > Before the patch, the generated code was: > [...] > pop {r3, r4, r5, r6, r7, pc} > .L4: > mov r0, #-1 > .L1: > pop {r3, r4, r5, r6, r7, pc} > > it is now: > [...] > .L1: > pop {r3, r4, r5, r6, r7, pc} > .L4: > mov r0, #-1 > b .L1 > > The new version does not seem better, as it adds a branch on the path > and it is not smaller.
That looks like bb-reorder isn't doing its job? Maybe it thinks that pop is too expensive to copy? Segher