In the last mail Alan Cox said:

> > The second relates to PC being the destination of LDM and LDR instructions,
> > where the LDM or LDR is on the last word of a page. The pipeline read for
> 
> So generate .aligns before the LDM/LDR and follow it with a nop.

Discussion today with tm2 on IRC suggested that .align 3 to align at
an 8 byte address doesn't need to be followed with a no-op, as one has
already guaranteed that the LDM itself isn't on the last word of a
page. Was this what you were suggesting earlier?

This is probably a better fix that Russell's suggestion, as his always
takes 1 word extra, whereas this one on average takes 0.5 words extra.

Of course I've implemented Russell's first, and tested it :-)
(it appears to work, as perl now passes the two tests it was failing)
(produces correct assembler for APCS-32 and 26, with or without frame
pointer, both in output_return_instruction() and output_bepilogue() )
I've now implemented the improved version, but not tested it.

Currently I've got TARGET_STRONGARM_K and -mstrongarmk-fix as the
internal macro and CLI flag - are these good names, or did I miss
someone suggesting something more appropriate?

Nick
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]

Reply via email to