https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69765
Bug ID: 69765 Summary: [SH] Addidional reg copies when compiling with LRA Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: olegendo at gcc dot gnu.org CC: kkojima at gcc dot gnu.org, vmakarov at gcc dot gnu.org Target Milestone: --- Target: sh*-*-* Compiling the following code double _Complex foo(double _Complex arg); double _Complex bar(double _Complex arg) { return foo(arg); } with -O2 -m2 -mb -mno-lra: _bar: mov.l .L2,r0 jmp @r0 nop .L3: .align 2 .L2: .long _foo and with -O2 -m2 -mb -mlra: _bar: mov r4,r0 mov r0,r4 mov.l .L2,r0 mov r5,r1 mov r6,r2 mov r7,r3 mov r1,r5 mov r2,r6 jmp @r0 mov r3,r7 .L3: .align 2 .L2: .long _foo