Hi Wilco,

On Fri, Jan 05, 2018 at 12:22:44PM +0000, Wilco Dijkstra wrote:
> An example epilog in a shrinkwrapped function before:
> 
> ldp    x21, x22, [sp,#16]
> ldr    x23, [sp,#32]
> ldr    x24, [sp,#40]
> ldp    x25, x26, [sp,#48]
> ldr    x27, [sp,#64]
> ldr    x28, [sp,#72]
> ldr    x30, [sp,#80]
> ldr    d8, [sp,#88]
> ldp    x19, x20, [sp],#96
> ret

In this example, the compiler already can make a ldp for both x23/x24 and
x27/x28 just fine (if not in emit_epilogue_components, then simply in a
peephole); why did that not work?  Or is this not the actual generated
machine code (and there are labels between the insns, for example)?


Segher

Reply via email to