https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119519
Bug ID: 119519 Summary: RISC-V, autovectorization, internal compiler error when "V" RISC-V extension used. Product: gcc Version: 14.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: k.frolov at samsung dot com Target Milestone: --- Created attachment 60909 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60909&action=edit Example program to reproduce the bug. Compiler crashes with the message: internal compiler error: in gen_lowpart_general, at rtlhooks.cc:57 Necessary conditions for the bug reproduction: * -ftree-vectoriz enabled (or -O2 option is given); * "V" extension of RISC-V architecture enabled. Bug can be reproduced only with GCC-14. Bug is not reproduced with GCC-13. Command line example and diagnostics output is below. Please see example program in the attachment. sysop@jupiter:~$ riscv64-linux-gnu-gcc-14 -march=rv64gcv -O1 -ftree-vectorize -c test11.c -v Using built-in specs. COLLECT_GCC=riscv64-linux-gnu-gcc-14 Target: riscv64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 14.2.0-4ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-14/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-14 --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --without-target-system-zlib --enable-multiarch --disable-werror --disable-multilib --with-arch=rv64gc --with-abi=lp64d --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=riscv64-linux-gnu --program-prefix=riscv64-linux-gnu- --includedir=/usr/riscv64-linux-gnu/include --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 14.2.0 (Ubuntu 14.2.0-4ubuntu2~24.04) COLLECT_GCC_OPTIONS='-march=rv64gcv' '-O1' '-ftree-vectorize' '-c' '-v' '-mabi=lp64d' '-misa-spec=20191213' '-mtls-dialect=trad' '-march=rv64imafdcv_zicsr_zifencei_zve32f_zve32x_zve64d_zve64f_zve64x_zvl128b_zvl32b_zvl64b' /usr/libexec/gcc-cross/riscv64-linux-gnu/14/cc1 -quiet -v -imultilib . -imultiarch riscv64-linux-gnu test11.c -D_FORTIFY_SOURCE=3 -quiet -dumpbase test11.c -dumpbase-ext .c -march=rv64gcv -mabi=lp64d -misa-spec=20191213 -mtls-dialect=trad -march=rv64imafdcv_zicsr_zifencei_zve32f_zve32x_zve64d_zve64f_zve64x_zvl128b_zvl32b_zvl64b -O1 -version -ftree-vectorize -fstack-protector-strong -Wformat -Wformat-security -o /tmp/ccky3Y1d.s GNU C17 (Ubuntu 14.2.0-4ubuntu2~24.04) version 14.2.0 (riscv64-linux-gnu) compiled by GNU C version 14.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/riscv64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc-cross/riscv64-linux-gnu/14/include-fixed/riscv64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc-cross/riscv64-linux-gnu/14/include-fixed" ignoring nonexistent directory "/usr/include/riscv64-linux-gnu" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc-cross/riscv64-linux-gnu/14/include /usr/lib/gcc-cross/riscv64-linux-gnu/14/../../../../riscv64-linux-gnu/include /usr/include End of search list. Compiler executable checksum: 676eac2184cb16abfc3a825976555443 during RTL pass: dse1 test11.c: In function ‘v3d71_cmd_buffer_emit_depth_bounds’: test11.c:105:1: internal compiler error: in gen_lowpart_general, at rtlhooks.cc:57 105 | } | ^ 0x716cc6a2a1c9 __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 0x716cc6a2a28a __libc_start_main_impl ../csu/libc-start.c:360