https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87160

            Bug ID: 87160
           Summary: Maybe miscompilation of a polyhedron test
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---

All releases that support -march=broadwell cause segfault on following
polyhedron test-case:

gfortran -Ofast -g -march=broadwell test_fpu2.f90 -o b.out &&  gdb ./b.out
...
Program received signal SIGSEGV, Segmentation fault.

(gdb) bt
#0  0x0000000000402123 in crout (a=<error reading variable: value requires
32000000 bytes, which is more than max-value-size>, n=2000) at
test_fpu2.f90:168
#1  0x000000000040e555 in test_fpu () at test_fpu2.f90:79
#2  0x000000000040118d in main (argc=argc@entry=1, argv=0x7fffffffe428) at
test_fpu2.f90:12
#3  0x00007ffff7435feb in __libc_start_main (main=0x401170 <main>, argc=1,
argv=0x7fffffffe038, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, stack_end=0x7fffffffe028) at ../csu/libc-start.c:308
#4  0x00000000004011ea in _start () at ../sysdeps/x86_64/start.S:120

   │0x402120 <crout_+272>   add    %rsi,%rcx
  >│0x402123 <crout_+275>   vmovdqu %ymm0,(%rdx)
   │0x402127 <crout_+279>   add    $0x20,%rdx
   │0x40212b <crout_+283>   vpaddd %ymm1,%ymm0,%ymm0

Maybe Richi is interested in that?
-O3 works fine; I can reproduce that on Haswell using the march option value

Reply via email to