https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110592
--- Comment #9 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- > I don't understand, how would that help? As I understand it, whenever > `-mcpu=v7', the memory model is just ignored -- even if we set it to TSO -- > because all rules that depend on it are gated on TARGET_V8 || TARGET_V9 or > simila Well, the subject of the PR is "GCC should default to TSO memory model when compiling for sparc32" so you'll get exactly that. > I'm not asking for you to change defaults in Linux or Solaris -- I'm just > asking to be _able_ to say `-mcpu=v7 -mmemory-model=tso' and get v7-only > instruction streams with the LDSTUBs needed for TSO. Right now, with > `-mcpu=v7', passing `-mmemory-model=tso' has no effect. I'm suggesting changing the default *like* on Linux or Solaris, not to change anything on Linux or Solaris. So you want to mix memory models and synchronization instructions with -mcpu=v7, although they were introduced in the V8 architecture?