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

--- Comment #2 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Amazing bug. Note that it depends on high-order bits of return address
overwriting o.i, so may need -no-pie -fno-pie to reproduce. Alternatively,
changing 'if (o.i)' to 'if (o.i != 1)' allows to reproduce with PIE as well.

postreload-cse incorrectly eliminates the store that prepares the second
argument of 'm' on the stack (the same store was previously done when preparing
the argument for 'r'), disregarding that the stack pointer moved back-and-forth
in between.

Reply via email to