https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #78 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- Created attachment 33813 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33813&action=edit a trial patch for the issue c#76 With it, the generated code for c#76 test case looks similar with the one with non LRA compiler. The total code size regression for CSiBE is reduced to 0.43%. The patch introduces a new targetm function legitimize_address_display. I've tested it on arm thumb with adding a similar new targetm function to arm.c. There is only one CSiBE test of which code size is changed from 400 to 396 at -Os and there are no size changes at -O2 on thumb. Although arm thumb is better than SH about those base+display addressing because of 8-bit display for stack pointer register and no R0-ness, it's a bit surprising to me.