https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77308
Bernd Edlinger <bernd.edlinger at hotmail dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bernd.edlinger at hotmail dot de --- Comment #3 from Bernd Edlinger <bernd.edlinger at hotmail dot de> --- (In reply to Andrew Pinski from comment #1) > Does -fno-schedule-insns help? Sometimes the scheduler before the register > allocator causes register pressure and forces more register spills. Yes, with -fno-schedule-insns it is a little bit smaller: sha512_block_data_order: @ Function supports interworking. @ args = 0, pretend = 0, frame = 3472 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} sub sp, sp, #3472 sub sp, sp, #4 but it could be worse :-) with -fno-ira-share-spill-slots: sha512_block_data_order: @ Function supports interworking. @ args = 0, pretend = 0, frame = 6640 @ frame_needed = 0, uses_anonymous_args = 0 push {r4, r5, r6, r7, r8, r9, r10, fp, lr} sub sp, sp, #6592 sub sp, sp, #52