https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103274

--- Comment #4 from Martin Storsjö <martin at martin dot st> ---
Also for additional context; with GCC 9.x, this testcase had the needed nop
instruction between "call" and ".seh_endproc".

In GCC 10.x (regressed in
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=095f78c62157124ad479a3f98b6995ced090b807),
-freorder-blocks-and-partition applies on this function and it gets split into
a hot and cold part, and the needed "nop" instruction disappeared.

If building with -fno-reorder-blocks-and-partition, the issue disappears and
you get roughly the same output as in GCC 9.x

This seems like the same issue as was fixed in
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=15278fb2877184c75a6ee3a6def09efbb191968b;hp=9d3b9a3e70e634c7c48bb12bb35ec8219024f98b
- but that fix doesn't seem to help here, as builds of GCC that include that
commit still are missing the nop between "call" and ".seh_endproc".

Reply via email to