https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87596
Bug ID: 87596 Summary: [9 Regression] ICE: Segmentation fault (in spill_hard_reg_in_range) Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-pc-linux-gnu gcc-9.0.0-alpha20181007 snapshot (r264906) ICEs when compiling the following snippet w/ -O1 -fschedule-insns -ftrapv -funroll-all-loops -fno-tree-dominator-opts -fno-tree-loop-im: void wh (__int128 *ku) { unsigned int *dp; while (*ku < 1) { *dp <<= 32; ++*ku; } } % x86_64-pc-linux-gnu-gcc-9.0.0-alpha20181007 -O1 -fschedule-insns -ftrapv -funroll-all-loops -fno-tree-dominator-opts -fno-tree-loop-im -w -c hqi6wtxn.c --verbose Using built-in specs. COLLECT_GCC=x86_64-pc-linux-gnu-gcc-9.0.0-alpha20181007 Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/9.0.0-alpha20181007 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/9.0.0-alpha20181007 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/9.0.0-alpha20181007/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/9.0.0-alpha20181007/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/include/g++-v9 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/9.0.0-alpha20181007/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --disable-nls --enable-checking=yes --disable-esp --enable-libstdcxx-time --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multilib --with-multilib-list=m64 --disable-altivec --disable-fixed-point --enable-targets=all --enable-libgomp --disable-libmudflap --disable-libssp --disable-libmpx --disable-systemtap --disable-vtable-verify --disable-libvtv --disable-libquadmath --enable-lto --with-isl --disable-isl-version-check --disable-libsanitizer --enable-default-pie --enable-default-ssp Thread model: posix gcc version 9.0.0-alpha20181007 20181007 (experimental) (GCC) COLLECT_GCC_OPTIONS='-O1' '-fschedule-insns' '-ftrapv' '-funroll-all-loops' '-fno-tree-dominator-opts' '-fno-tree-loop-im' '-w' '-c' '-v' '-mtune=generic' '-march=x86-64' /usr/libexec/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/cc1 -quiet -v hqi6wtxn.c -quiet -dumpbase hqi6wtxn.c -mtune=generic -march=x86-64 -auxbase hqi6wtxn -O1 -w -version -fschedule-insns -ftrapv -funroll-all-loops -fno-tree-dominator-opts -fno-tree-loop-im -o /tmp/ccyANUGf.s GNU C17 (GCC) version 9.0.0-alpha20181007 20181007 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 9.0.0-alpha20181007 20181007 (experimental), GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.20-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/../../../../x86_64-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/include /usr/lib/gcc/x86_64-pc-linux-gnu/9.0.0-alpha20181007/include-fixed /usr/include End of search list. GNU C17 (GCC) version 9.0.0-alpha20181007 20181007 (experimental) (x86_64-pc-linux-gnu) compiled by GNU C version 9.0.0-alpha20181007 20181007 (experimental), GMP version 6.1.2, MPFR version 4.0.1, MPC version 1.1.0, isl version isl-0.20-GMP GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 944ea03bbc79d22116715d58fe1da818 during RTL pass: reload hqi6wtxn.c: In function 'wh': hqi6wtxn.c:11:1: internal compiler error: Segmentation fault 11 | } | ^ 0xcca8df crash_signal /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/toplev.c:325 0xb62a51 spill_hard_reg_in_range(int, reg_class, rtx_insn*, rtx_insn*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/lra-constraints.c:5700 0xb5518f lra_split_hard_reg_for() /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/lra-assigns.c:1765 0xb4fb75 lra(_IO_FILE*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/lra.c:2533 0xb07b71 do_reload /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/ira.c:5469 0xb07b71 execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181007/work/gcc-9-20181007/gcc/ira.c:5653