[Bug tree-optimization/99746] [11 Regression] ICE in vect_get_vec_defs_for_operand, at tree-vect-stmts.c:1450

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Thu Mar 25 03:56:51 GMT 2021


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

--- Comment #15 from Arseny Solokha <asolokha at gmx dot com> ---
(In reply to Tamar Christina from comment #13)
> (In reply to Arseny Solokha from comment #10)
> > (In reply to Tamar Christina from comment #9)
> > > I wonder if whatever you're compiling is open source.  I'd love to fix some
> > > of these cases properly in GCC 12.
> > 
> > These Fortran snippets I've been filing this week are from SCALAPACK 2.0.2
> > as found on Netlib[1].
> > 
> > [1] https://www.netlib.org/scalapack
> 
> Thanks! This looks like a useful target to improve this with in GCC 12.  But
> am I missing an option here?:
> 
> CC=~/gcc-base/install/bin/gcc \
> FC=~/gcc-base/install/bin/gfortran \
> CXX=~/gcc-base/install/bin/g++ \
> CFLAGS="-march=armv8.3-a -ftree-vectorize -O2" \
> CXXFLAGS="-march=armv8.3-a -ftree-vectorize -O2" \
> FFLAGS="-march=armv8.3-a -ftree-vectorize -O2" \
> cmake .. && make -j
> 
> I can't seem to get it to trigger the crash (or even detect the pattern).

I actually don't build the library as a library, I only use individual source
files in my test corpus.

I run (somewhat) automated gcc fuzz testing for several years by now. I briefly
explained it in the first paragraph of PR92115 comment 4 (and likely
elsewhere), but can discuss it in more details if so desired.

As an approximation, you can do something as simple as

> ~/scalapack-2.1.0/SRC % for i in *.f; do echo "Compiling $i"; aarch64-linux-gnu-gfortran-11.0.1 -march=armv8.3-a -O2 -ftree-vectorize -c $i; done

which gives me two instances of an ICE filed in this PR w/ the last weekly
snapshot, though my test harness works somewhat differently.

% aarch64-linux-gnu-gfortran-11.0.1 -v
Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gfortran-11.0.1
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-linux-gnu/11.0.1/lto-wrapper
Target: aarch64-linux-gnu
Configured with:
/var/tmp/portage/cross-aarch64-linux-gnu/gcc-11.0.1_alpha20210321/work/gcc-11-20210321/configure
--host=x86_64-pc-linux-gnu --target=aarch64-linux-gnu
--build=x86_64-pc-linux-gnu --prefix=/usr
--bindir=/usr/x86_64-pc-linux-gnu/aarch64-linux-gnu/gcc-bin/11.0.1
--includedir=/usr/lib/gcc/aarch64-linux-gnu/11.0.1/include
--datadir=/usr/share/gcc-data/aarch64-linux-gnu/11.0.1
--mandir=/usr/share/gcc-data/aarch64-linux-gnu/11.0.1/man
--infodir=/usr/share/gcc-data/aarch64-linux-gnu/11.0.1/info
--with-gxx-include-dir=/usr/lib/gcc/aarch64-linux-gnu/11.0.1/include/g++-v11
--with-python-dir=/share/gcc-data/aarch64-linux-gnu/11.0.1/python
--enable-languages=c,c++,fortran --enable-obsolete --enable-secureplt
--disable-werror --with-system-zlib --disable-nls --enable-checking=yes
--disable-esp --enable-libstdcxx-time --disable-libstdcxx-pch
--enable-poison-system-directories --with-sysroot=/usr/aarch64-linux-gnu
--disable-bootstrap --enable-__cxa_atexit --enable-clocale=gnu
--disable-multilib --disable-fixed-point --enable-libgomp --disable-libssp
--disable-libada --disable-systemtap --enable-valgrind-annotations
--disable-vtable-verify --disable-libvtv --without-zstd --enable-lto --with-isl
--disable-isl-version-check --enable-default-pie --enable-default-ssp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.1 20210321 (experimental) (GCC)


More information about the Gcc-bugs mailing list