[Bug other/91189] 20% binary size regression in avr-gcc 9.1.0 from 8.3.0
witold.a.markowski at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Dec 13 15:49:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91189
Witold Markowski <witold.a.markowski at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |witold.a.markowski at gmail dot co
| |m
--- Comment #5 from Witold Markowski <witold.a.markowski at gmail dot com> ---
I did a small research in this topic and now I know that avr-gcc-9.1.0 compiler
generates some additional, overhead operations, like:
932: 6e 87 std Y+14, r22 ; 0x0e
934: 7f 87 std Y+15, r23 ; 0x0f
936: 88 8b std Y+16, r24 ; 0x10
938: 99 8b std Y+17, r25 ; 0x11
93a: 6e 85 ldd r22, Y+14 ; 0x0e
93c: 7f 85 ldd r23, Y+15 ; 0x0f
93e: 88 89 ldd r24, Y+16 ; 0x10
940: 99 89 ldd r25, Y+17 ; 0x11
Storing and reading back the same registers.
I just found that exactly the same case is already reported with issue id
90706. Because of this I will not attach any examples here. In my opinion the
current issue depends on 90706 (please somebody update the 'Depends on' field
of the issue).
When 90706 is fixed then we should recheck this again and we will se how much
it improves the situation.
More information about the Gcc-bugs
mailing list