FEATURE_FLAGS = -fshort-enums -fpack-struct -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -flto -fno-fat-lto-objects
text data bss dec hex filename
231286 6306 42409 280001 445c1 main.elf
FEATURE_FLAGS = -ffunction-sections -fdata-sections -flto -fno-split-wide-types
text data bss dec hex filename
224770 6318 42415 273503 42c5f main.elf
FEATURE_FLAGS = -fshort-enums -fpack-struct -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -flto -fno-fat-lto-objects
text data bss dec hex filename
230984 6088 42409 279481 443b9 main.elf
FEATURE_FLAGS = -ffunction-sections -fdata-sections -flto -fno-split-wide-types
text data bss dec hex filename
226060 6100 42415 274575 4308f main.elf
FEATURE_FLAGS = -fshort-enums -fpack-struct -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -flto -fno-fat-lto-objects
text data bss dec hex filename
217344 6014 42409 265767 40e27 main.elf
FEATURE_FLAGS = -ffunction-sections -fdata-sections -flto -fno-split-wide-types
text data bss dec hex filename
218016 6026 42415 266457 410d9 main.elf
FEATURE_FLAGS = -fshort-enums -fpack-struct -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -flto -fno-fat-lto-objects
text data bss dec hex filename
217670 6018 42409 266097 40f71 main.elf
FEATURE_FLAGS = -ffunction-sections -fdata-sections -flto -fno-split-wide-types
text data bss dec hex filename
218312 6030 42415 266757 41205 main.elf
There is some discussion that 8.2+ produces more optimized code for interrupts by introducing pseduo-instructions. https://sourceware.org/bugzilla/show_bug.cgi?id=21683#c4