https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89865
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bergner at gcc dot gnu.org, | |vmakarov at gcc dot gnu.org --- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Actually, there are only very few revisions since 8.x that change something on this testcase with -Os -fno-shrink-wrap -masm=att -fno-asynchronous-unwind-tables (the latter to be able to more accurately compare *.s sizes). GCC 8.3 emits code pretty similar to trunk immediately before r264897, just scheduling decisions reorder some instructions, nothing else. ls -l pr49095.s{.8*,r2*} -rw-rw-r--. 1 jakub jakub 16364 Mar 28 12:58 pr49095.s.8.3.1 -rw-rw-r--. 1 jakub jakub 16361 Mar 28 12:50 pr49095.s.r264892 -rw-rw-r--. 1 jakub jakub 17545 Mar 28 12:50 pr49095.s.r264897 -rw-rw-r--. 1 jakub jakub 17545 Mar 28 12:51 pr49095.s.r265393 -rw-rw-r--. 1 jakub jakub 16361 Mar 28 12:51 pr49095.s.r265398 -rw-rw-r--. 1 jakub jakub 16361 Mar 28 12:55 pr49095.s.r266382 -rw-rw-r--. 1 jakub jakub 18989 Mar 28 12:55 pr49095.s.r266385 -rw-rw-r--. 1 jakub jakub 18989 Mar 28 12:55 pr49095.s.r269951 r264892 is identical to r265398 and r266382, r264897 to r265393, and r266385 to r269951. Judging by both assembly size and .text size: size pr49095.o.* text data bss dec hex filename 1585 0 0 1585 631 pr49095.o.8.3.1 1585 0 0 1585 631 pr49095.o.r264892 2066 0 0 2066 812 pr49095.o.r264897 2066 0 0 2066 812 pr49095.o.r265393 1585 0 0 1585 631 pr49095.o.r265398 1585 0 0 1585 631 pr49095.o.r266382 2545 0 0 2545 9f1 pr49095.o.r266385 2545 0 0 2545 9f1 pr49095.o.r269951 (this is -Os, so that is what matters), r264897 made the generated code worse, then r265398 reverted it to the previously generated code and r266385 made it even worse.