[Bug tree-optimization/86054] New: [8.1/9 Regression] SPEC CPU2006 416.gamess miscompare after r259592 with march=skylake-avx512
alexander.nesterovskiy at intel dot com
gcc-bugzilla@gcc.gnu.org
Tue Jun 5 11:41:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86054
Bug ID: 86054
Summary: [8.1/9 Regression] SPEC CPU2006 416.gamess miscompare
after r259592 with march=skylake-avx512
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: alexander.nesterovskiy at intel dot com
Target Milestone: ---
Created attachment 44237
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44237&action=edit
reproducer
r259592 introduced a runfail due to miscompare in SPEC CPU2006 416.gamess.
Minimal optset to reproduce is "-O3 -march=skylake-avx512".
There is no miscompare when vectorization is disabled with
"-fno-tree-vectorize".
This benchmark has some issues described in documentation
(https://www.spec.org/cpu2006/Docs/416.gamess.html):
"Some arrays are accessed past the end of the defined array size. This will,
however, not cause memory access faults" and
"The argument array sizes defined in some subroutines do not match the size of
the actual argument passed"
The problem is in "JKBCDF" function in "grd2c.F" and it's related to these
issues with wrong argument array sizes.
Patching the benchmark source solves a problem (but this patching is not
allowed according to SPEC rules):
"DIMENSION ABV(5,1),CV(18,1)" -> "DIMENSION ABV(5,NUMG),CV(18,NUMG)"
Reproducer is attached.
Symptoms here and in original 416.gamess case is that some loop iterations are
skipped.
More information about the Gcc-bugs
mailing list