This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
This patch slightly improves the code sequence generated when using STRD instructions instead of PUSH. Rather than emit a stack decrement operation followed by a sequence of STRDs and a final STR we merge the stack decrement with the initial store. Furthermore, we arrange the STR operation so that the STRD operations will be naturally aligned (64-bit) provided that the stack was previously 64-bit aligned (the normal case). This should minimise the number of stalls in the store pipe, particularly for cortex-a15. Further optimizations are possible, but they will depend on a more general restructuring of the prologue and epilogue generating code. * arm.c (thumb2_emit_strd_push): Rewrite to use pre-decrement on initial store. * thumb2.md (thumb2_storewb_parisi): New pattern. Bootstrapped and regtested on cortex-a15 with Thumb2 and installed on trunk.
Attachment:
patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |