lkml.org 
[lkml]   [2022]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: GCC 12 miscompilation of volatile asm (was: Re: [PATCH] arm64/io: Remind compiler that there is a memory side effect)
From
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,

\
 
 \ /
  Last update: 2022-04-11 21:04    [W:0.066 / U:0.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site