https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92351
Bug ID: 92351 Summary: [10 Regression] Wrong code with -O3 -match=skylake since r277569 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- A polyhedron benchmark segfaults with: $ gfortran mdbx.f90 -Ofast -march=skylake --param vect-epilogues-nomask=1 -g && ./a.out ... MDBNCH: A MOLECULAR DYNAMICS BENCHMARK, VERSION OF DECEMBER 17, 1988 ******************************************************************************* MD BENCHMARK FOR 2048 PARTICLES, 1000 STEPS. O(N**2) BRUTE FORCE LIST FORMATION EVERY 10 WITH SKIN = 1.00 PAIR CORRELATION FUNCTION NOT COMPUTED STEP LP KIN.E POT.E TOT.E DIFFUS PX PY PZ ---- -- ------- ------- ------- -------- -------- -------- -------- LENGTH = 25804/ 163840 1 L 0.0000 -3.0509 -3.0509 0.0000 -0.7E-15 0.9E-15 0.8E-15 100 0.2962 -3.3440 -3.0478 1.0012 -0.2E-14 -0.1E-13 -0.6E-13 200 0.2768 -3.3246 -3.0478 2.1480 -0.3E-13 0.3E-13 -0.6E-13 300 0.2704 -3.3183 -3.0479 4.0285 -0.7E-13 0.8E-14 0.9E-14 400 0.2691 -3.3169 -3.0479 5.8781 -0.2E-13 0.6E-13 -0.3E-13 500 0.2787 -3.3266 -3.0479 7.5475 -0.3E-13 0.7E-13 -0.4E-13 600 0.2827 -3.3305 -3.0478 9.5219 -0.5E-13 0.3E-13 -0.6E-13 700 0.2728 -3.3206 -3.0478 11.5203 -0.3E-13 0.2E-13 -0.7E-13 800 0.2730 -3.3208 -3.0478 13.6130 -0.6E-13 0.5E-13 -0.6E-13 900 0.2745 -3.3223 -3.0477 15.7967 -0.5E-13 0.6E-13 -0.5E-13 1000 0.2773 -3.3250 -3.0477 17.8454 -0.5E-13 0.7E-13 -0.6E-13 1000 TIME STEPS, 100 LIST UPDATES ******************************************************************************* MD BENCHMARK FOR 2048 PARTICLES, 100 STEPS. O(N) CELL-METHOD LIST FORMATION EVERY 10 WITH SKIN = 1.00 PAIR CORRELATION FUNCTION NOT COMPUTED STEP LP KIN.E POT.E TOT.E DIFFUS PX PY PZ ---- -- ------- ------- ------- -------- -------- -------- -------- Program received signal SIGSEGV: Segmentation fault - invalid memory reference. Backtrace for this error: #0 0x7f9ce111a14f in ??? at /usr/src/debug/glibc-2.30-1.2.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 #1 0x40587b in cbuild_ at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:1498 #2 0x4076a8 in mlist_ at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:1240 #3 0x40afeb in mstep_ at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:1058 #4 0x40db4d in master_ at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:242 #5 0x40eff6 in mdbnch at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:120 #6 0x4010fc in main at /home/marxin/Programming/c++-benchmarks/polyhedron/lin/source/mdbx.f90:171