The concern with making the new behavior non-default is of course that the generated code will eventually end up on an A.7-capable platform. An A.6-classic option for compiling code that will never run on a newer machine seems OK. But I'm not sure that seq_cst stores are dynamically frequent enough in C++ code for this to be worth the trouble. Unlike loads, they are also costly on x86, programmers may also have been somewhat trained to avoid them where possible. (And probably where not possible, too :-( ) Hans On Fri, Apr 28, 2023 at 10:43 AM Palmer Dabbelt wrote: > On Fri, 28 Apr 2023 10:40:15 PDT (-0700), jeffreyalaw@gmail.com wrote: > > > > > > On 4/27/23 10:22, Patrick O'Neill wrote: > >> This change makes atomic stores strictly stronger than table A.6 of the > >> ISA manual. This mapping makes the overall patchset compatible with > >> table A.7 as well. > >> > >> 2023-04-27 Patrick O'Neill > >> > >> PR 89835 > > Should be "PR target/89835" > > > >> > >> gcc/ChangeLog: > >> > >> * config/riscv/sync.md: > > Needs some text here :-) > > > > > > I'm not objecting to this patch, but I think we've got an option > > question about whether or not this approach is too expensive for > > existing or soon arriving implementations. > > > > If the decision on that topic is to just pay the cost, then this patch > > is fine. If we decide to make compatibility optional to avoid the > > additional cost, then this will need suitable adjustments. > > IMO the only hardware that's going to be here by gcc-14 and to have > enough concurrency for these to matter is the Ventana stuff. I think > you're the only one who can figure out if these are slow, at least until > that stuff is availiable outside the lab. > > So are they too slow for you? > > > > > Jeff >