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

Reply via email to