http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49904
Summary: Internal error with multiplication and -msoft-float Product: gcc Version: 4.6.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: miku...@artax.karlin.mff.cuni.cz Host: hppa-linux-gnu Target: hppa64-linux-gnu Build: hppa-linux-gnu Gcc 4.6.1 compiled for hppa64 target will crash with unrecognizable insn when this program is compiled with -msoft-float. If multiplication is replaced with division, gcc crashes as well. int mul(int x, int y) { return x * y; } .LEVEL 2.0w mul.c: In function 'mul': mul.c:4:1: error: unrecognizable insn: (insn 13 12 14 3 (set (reg:DI 69 [ <retval>+-4 ]) (reg:DI 75)) mul.c:3 -1 (nil)) mul.c:4:1: internal compiler error: in extract_insn, at recog.c:2109 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. $ hppa64-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=hppa64-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/local/gcc64/libexec/gcc/hppa64-linux-gnu/4.6.1/lto-wrapper Target: hppa64-linux-gnu Configured with: ../gcc-4.6.1/configure --prefix=/usr/local/gcc64 --enable-languages=c --disable-lto --disable-shared --disable-threads --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --includedir=/usr/hppa64-linux-gnu/include --with-as=/usr/local/bin/hppa64-linux-gnu-as --with-ld=/usr/local/bin/hppa64-linux-gnu-ld --with-system-zlib --disable-nls --without-included-gettext --build=hppa-linux-gnu --host=hppa-linux-gnu --target=hppa64-linux-gnu Thread model: single gcc version 4.6.1 (GCC)