https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91189
Bug ID: 91189 Summary: 20% binary size regression in avr-gcc 9.1.0 from 8.3.0 Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: larsch at belunktum dot dk Target Milestone: --- There seem to be a severe ~20% code size regression on AVR target (atmega328p) in gcc 9.1.0. I'm building https://github.com/gnea/grbl, which need to fit in 32k. This used to work just fine (29786 bytes), but with 9.1.0 it is way over target size (35492 bytes). Compile options are the default '-Os -flto' on both. gcc 8.3.0 % avr-gcc --version avr-gcc (GCC) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % avr-size grbl.hex text data bss dec hex filename 0 29786 0 29786 745a grbl.hex gcc 9.1.0: % avr-gcc --version avr-gcc (GCC) 9.1.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % avr-size grbl.hex text data bss dec hex filename 0 35492 0 35492 8aa4 grbl.hex