https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61616
Bug ID: 61616 Summary: Internal compiler error during reload in gcc-4.7.4 configured as a cross-compiler for a mips target Product: gcc Version: 4.7.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: niva at niisi dot msk.ru Created attachment 33008 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33008&action=edit The test file. The cross-compiler gcc-4.7.4: Configured with: /home/niva/src/gcc-4.7.4/configure --target=mips64-none-elf --enable-threads=no --disable-shared --enable-long-long --enable-c99 --enable-languages=c --enable-multilib --enable-symvers=gnu --disable-libmudflap --disable-libssp --disable-libgcc_eh --with-newlib --with-dwarf2 --with-system-zlib --enable-generated-files-in-srcdir --verbose --prefix=/home/niva/local --enable-cpp The command line is: mips64-none-elf-gcc-4.7.4 prfl.c -O3 -G0 -mips64 -mpaired-single -mabi=o64 -S The error message: prfl.c:42:1: error: unable to find a register to spill in class ‘GR_REGS’ prfl.c:42:1: error: this is the insn: (insn 79 65 117 2 (set (reg:CCV2 360) (unspec:CCV2 [ (unlt (reg:V2SF 34 $f2 [orig:306 MEM[(float[4] *)&s1 + 8B] ] [306]) (reg:V2SF 33 $f1 [orig:307 MEM[(float[4] *)&s2 + 8B] ] [307])) ] UNSPEC_SCC)) prfl.c:15 701 {sunlt_ps} (nil)) prfl.c:42: confused by earlier errors, bailing out The source file is attached. It was produced from gcc-4.7.4/gcc/testsuite/gcc.c-torture/execute/ieee/pr50310.c as a result of substitution of the "float" type instead of "double".