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.

Reply via email to