https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87079
Bug ID: 87079 Summary: nios2 optimization for size - case of regression relatively to 5.3.0 Product: gcc Version: 8.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: already5chosen at yahoo dot com Target Milestone: --- Created attachment 44586 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44586&action=edit 5.3->8.3 regression - shifts instead of mulx The issue was already reported together with another case that proved unrelated to nios2. The original thread is now dedicated to this more general issue, so I am repeating the reort of the first issue for convenience of tracking. A case of significant regression in optimization for size between 5.3.0 (a version supplied in Altera Nios2 SDK) and 8.2.0. Compiled with -Wall -Os -ffreestanding -fbuiltin -mhw-div -mhw-mul -mhw-mulx It looks like -Os flag caused to compiler to forget that hw-mulx is present. The problem appears unique to nios2 back end. Similar back ends (MIPS32r6 and RISCV32IM) are not affected.