https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55212
--- Comment #213 from Kazumoto Kojima <kkojima at gcc dot gnu.org> --- I have no experience debugging gcc go or ada compilers and don't know how to make a handy testcase like .i files in c/c++ cases. It seems that the GNAT BUG message in c#207 says about something about that. If your build directories are kept, you can run the failing commands /srv/glaubitz/gcc/build/./prev-gcc/xgcc -B/srv/glaubitz/gcc/build/./prev-gcc/ -B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/lib/ -isystem /usr/local/sh4-unknown-linux-gnu/include -isystem /usr/local/sh4-unknown-linux-gnu/sys-include -fno-checking -c -g -O2 -fno-checking -gtoggle -gnatpg -gnata -W -Wall -fno-PIE -nostdinc -I- -I. -Iada/generated -Iada -I../../gcc/ada -Iada/libgnat -I../../gcc/ada/libgnat -Iada/gcc-interface -I../../gcc/ada/gcc-interface ../../gcc/ada/libgnat/s-os_lib.adb -o ada/libgnat/s-os_lib.o and /srv/glaubitz/gcc/build/./gcc/gccgo -B/srv/glaubitz/gcc/build/./gcc/ -B/usr/local/sh4-unknown-linux-gnu/bin/ -B/usr/local/sh4-unknown-linux-gnu/lib/ -isystem /usr/local/sh4-unknown-linux-gnu/include -isystem /usr/local/sh4-unknown-linux-gnu/sys-include -O2 -g -I . -c -fgo-pkgpath=container/ring ../../../libgo/go/container/ring/ring.go -o container/ring.o by hand with --verbose to see the raw compiling commands. Those raw compilations could be debugged with gdb to see why they end up in ICE with "decompose_multiword_subregs, at lower-subreg.cc:1728" which might be the assert statement i = apply_change_group (); gcc_assert (i);