Messages in this thread | | | Date | Mon, 11 Apr 2022 14:02:46 -0500 | Subject | Re: GCC 12 miscompilation of volatile asm (was: Re: [PATCH] arm64/io: Remind compiler that there is a memory side effect) | From | Jeremy Linton <> |
| |
Hi,
On 4/11/22 05:31, Mark Rutland wrote: > On Tue, Apr 05, 2022 at 01:51:30PM +0100, Mark Rutland wrote: >> Hi all, >> >> [adding kernel folk who work on asm stuff] >> >> As a heads-up, GCC 12 (not yet released) appears to erroneously optimize away >> calls to functions with volatile asm. Szabolcs has raised an issue on the GCC >> bugzilla: >> >> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105160 >> >> ... which is a P1 release blocker, and is currently being investigated. > > Jan Hubicka fixed this in GCC commit: > > aabb9a261ef060cf ("Propagate nondeterministic and side_effects flags in modref summary after inlining") > > ... and all my local tests look good with that applied. > > Compiler explorer's trunk build now has that fix, so the examples from before > now look good: > > aarch64: https://godbolt.org/z/vMczqjYvs > > x86_64: https://godbolt.org/z/cveff9hq5 > > Jeremy, now that the real issue has been identified and fixed, I assume you'll > send a revert for commit: > > 8d3ea3d402db94b6 ("net: bcmgenet: Use stronger register read/writes to assure ordering") > > ... ?
Yes, that's the plan.
Thanks,
| |