https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102772
--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- > --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > Is this with Solaris as or GNU as? both. > I've tried to reproduce it with a cross from x86_64-linux to > i386-pc-solaris2.11 and have > #define HAVE_AS_TLS 1 > in auto-host.h, but I don't see any movaps instructions in pointer2.f90 with > -O2 -fopenmp or -O3 -fopenmp. I do, both at -O2 and -O3: pointer2.s: movaps %xmm1, thr.1@ntpoff(%ebx) pointer2.s: movaps %xmm2, thr.1@ntpoff+16(%ebx) > When I add -msse2 to command line, I see some but it is unclear which exact is > it. > So, can you please attach pointer2.s and say on which exact insn it fails? Will do. Thread 49 received signal SIGSEGV, Segmentation fault. [Switching to Thread 2 (LWP 2)] 0x0805181a in MAIN__._omp_fn.0 () 1: x/i $pc => 0x805181a <MAIN__._omp_fn.0+42>: movaps %xmm1,-0x28(%ebx) (gdb) x/10i $pc-10 0x8051810 <MAIN__._omp_fn.0+32>: shlb $0x46,-0x75(%ebx,%eiz,1) 0x8051815 <MAIN__._omp_fn.0+37>: adc %dh,%bl 0x8051817 <MAIN__._omp_fn.0+39>: movq (%eax),%mm1 => 0x805181a <MAIN__._omp_fn.0+42>: movaps %xmm1,-0x28(%ebx) 0x8051821 <MAIN__._omp_fn.0+49>: movdqu 0x10(%eax),%xmm2 0x8051826 <MAIN__._omp_fn.0+54>: movaps %xmm2,-0x18(%ebx) (gdb) p/x $ebx $1 = 0xfe1202c0 > And also attach your auto-host.h? Sure: I'm attaching the gas one. The only obviously tls-related differences between the two are --- master/11.4-gcc/build/gcc/auto-host.h 2022-03-20 21:20:00.738284645 +0 000 +++ master/11.4-gcc-gas/build/gcc/auto-host.h 2022-03-21 03:06:50.783523035 +0 000 [...] @@ -538 +538 @@ -#define HAVE_AS_IX86_TLSGDPLT 1 +/* #undef HAVE_AS_IX86_TLSGDPLT */ @@ -550 +550 @@ -#define HAVE_AS_IX86_TLSLDMPLT 1 +#define HAVE_AS_IX86_TLSLDMPLT 0