https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96898
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- It wouldn't be a fallback. omp-low.c just decides if it is going to use GOMP_atomic_{start,end} synchronization, __atomic_* or __sync_* to perform the reduction. And whether that uses the same or different lock doesn't matter, because for one reduction omp-low.c will only use one way.