https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96607
--- Comment #7 from Petr Sumbera <sumbera at volny dot cz> --- Just to confirm that '-fno-delayed-branch' as workaround seems to work (at least based on provided test case). Probably better is to modify the code like this: --- gcc-10.2.0/gcc/config/sparc/sparc.c +++ gcc-10.2.0/gcc/config/sparc/sparc.c @@ -3963,6 +3963,8 @@ if ((TARGET_GNU_TLS && HAVE_GNU_LD) || !TARGET_TLS) return 1; + return 0; + pat = PATTERN (trial); /* We must reject tgd_add{32|64}, i.e. --- Of course proper fix is needed. Any suggestion to the condition (in code) below?