* Noah Meyerhans: > On Sat, Apr 11, 2020 at 09:14:11PM +0200, Florian Weimer wrote: >> > At least if I'm reading the code right (which I may very well not be >> > doing, being generally unfamiliar with gcc internals), -mtune=generic >> > enables the equivalent of ARMv8 support: >> > >> > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/common/config/aarch64/aarch64-common.c;h=0bddcc8c3e9282a957c5479b4df7f68058093bab;hb=HEAD#l176 >> > >> > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/aarch64/aarch64-cores.def;h=ea9b98b4b0ad2a578755561bba5b6d5c56115994;hb=HEAD >> > >> > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/aarch64/aarch64.h;h=8f08bad3562c4cbe8acdf5891e84f89d23ea6784;hb=HEAD#l226 >> >> Hmm. I don't see anything that sets TARGET_OUTLINE_ATOMICS by >> default. > > Only -moutline-atomics enables that. Otherwise, unconditional support > for atomics is enabled by TARGET_LSE, which itself is enabled by a > number of options, e.g. -marmv8-a+lse, -marmv8.1-a, etc. > > See > https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/aarch64/aarch64.c;h=4af562a81ea760891fac3cf7101b8bf887fe7a0d;hb=HEAD#l18961
Sorry, I have a feeling that we are discussing different matters. I believe that ideally, Debian (and Fedora etc.) should follow upstream GCC defaults. I don't think we are in this state (code_for_aarch64_compare_and_swap uses the atomics.md patterns to call aarch64_split_compare_and_swap, as far as I can see). Or put differently: If upstream doesn't want to default to -moutline-atomics, why should Debian?