http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56184
Bug #: 56184 Summary: Internal compiler error in push_reload during bootstrap stage 2 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: mgret...@sourceware.org Created attachment 29337 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29337 Reduced test case When bootstrapping on an ARM target I get the following error: /cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/./prev-gcc/xg++ -B/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/./prev-gcc/ -B/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/install/arm-linux-gnueabi/bin/ -nostdinc++ -B/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/src/.libs -B/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/libsupc++/.libs -I/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/include/arm-linux-gnueabi -I/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/include -I/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/gcc-4.8~svn195568/libstdc++-v3/libsupc++ -L/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/src/.libs -L/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/build/prev-arm-linux-gnueabi/libstdc++-v3/libsupc++/.libs -c -g -O2 -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc-4.8~svn195568/gcc -I../../../gcc-4.8~svn195568/gcc/. -I../../../gcc-4.8~svn195568/gcc/../include -I../../../gcc-4.8~svn195568/gcc/../libcpp/include -I../../../gcc-4.8~svn195568/gcc/../libdecnumber -I../../../gcc-4.8~svn195568/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc-4.8~svn195568/gcc/../libbacktrace ../../../gcc-4.8~svn195568/gcc/lto-streamer-out.c -o lto-streamer-out.o ../../../gcc-4.8~svn195568/gcc/lto-streamer-in.c: In function 'void lto_input_function_body(lto_file_decl_data*, tree, const char*)': ../../../gcc-4.8~svn195568/gcc/lto-streamer-in.c:1003:1: internal compiler error: in push_reload, at reload.c:1014 } ^ 0x6d1a41 push_reload(rtx_def*, rtx_def*, rtx_def**, rtx_def**, reg_class, machine_mode, machine_mode, int, int, int, reload_type) ../../../gcc-4.8~svn195568/gcc/reload.c:1012 0x6daa8d find_reloads(rtx_def*, int, int, int, short*) ../../../gcc-4.8~svn195568/gcc/reload.c:4099 0x6e6d8b calculate_needs_all_insns ../../../gcc-4.8~svn195568/gcc/reload1.c:1520 0x6e560b reload(rtx_def*, int) ../../../gcc-4.8~svn195568/gcc/reload1.c:941 0x5f1843 do_reload ../../../gcc-4.8~svn195568/gcc/ira.c:4635 0x5f1a33 rest_of_handle_reload ../../../gcc-4.8~svn195568/gcc/ira.c:4736 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. make[7]: *** [lto-streamer-in.o] Error 1 GCC has been configured as follows: --prefix=/cbuild/slaves/tcpandas/gcc-4.8~svn195568/gcc/default/install --enable-languages=c,c++,objc,obj-c++,fortran,lto --enable-linker-build-id --with-mode=thumb --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=neon --with-float=softfp --build=arm-linux-gnueabi Attached test case is a reduced version which triggers the same problem with a cross-compiler configured as: Configured with: /work/sources/gcc-fsf/master/configure --target=arm-none-linux-gnueabi --prefix=/work/builds/gcc-fsf-master/tools --with-sysroot=/work/builds/gcc-fsf-master/sysroot-arm-none-linux-gnueabi --disable-libssp --disable-libgomp --disable-libmudflap --enable-languages=c,c++ --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=softfp --with-thumb Attached test case invoked by: .../arm-none-linux-gnueabi-g++ -c -O2 -mthumb -march=armv7-a -mfpu=neon -mfloat-abi=softfp -mtune=cortex-a9 test.ii Bisecting suggests the issue was introduced by subversion revision 194558: 2012-12-17 Andrew Stubbs <a...@codesourcery.com> Ulrich Weigand <ulrich.weig...@linaro.org> gcc/ * config/arm/arm.md (zero_extend<mode>di2): Add extra alternatives for NEON registers. Add alternative for one-instruction extend-in-place. (extend<mode>di2): Likewise. Add constraints for Thumb-mode memory loads. Prevent extend splitters doing NEON alternatives. * config/arm/iterators.md (qhs_extenddi_cstr, qhs_zextenddi_cstr): Adjust constraints to add new alternatives. * config/arm/neon.md: Add splitters for zero- and sign-extend. gcc/testsuite/ * gcc.target/arm/neon-extend-1.c: New file. * gcc.target/arm/neon-extend-2.c: New file.