http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59942
Bug ID: 59942 Summary: pdp11-aout-gcc: PDP-11/10 code generation crashes when trying to do multiple shifts. Product: gcc Version: 4.8.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: mattis at mattisborgen dot se This bug only occurs for PDP-11/10 not PDP-11/40. I presume that when using PDP-11/40 the code generation will output a ASHC instruction which is not present in the PDP-11/10. mattis@mattis-VirtualBox:~$ pdp11-aout-gcc -m10 -S -msoft-float -nostartfiles -nodefaultlibs -nostdlib pdp11-10-shiftbug.c pdp11-10-shiftbug.c: In function 'main': pdp11-10-shiftbug.c:5:1: error: unrecognizable insn: } ^ (insn 8 7 9 2 (set (reg:HI 23) (ashift:HI (reg:HI 24) (const_int -9 [0xfffffff7]))) pdp11-10-shiftbug.c:4 -1 (nil)) pdp11-10-shiftbug.c:5:1: internal compiler error: in extract_insn, at recog.c:2154 0x837d527 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../src/gcc/rtl-error.c:109 0x837d571 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../src/gcc/rtl-error.c:117 0x8355394 extract_insn(rtx_def*) ../src/gcc/recog.c:2154 0x825d34e instantiate_virtual_regs_in_insn ../src/gcc/function.c:1561 0x825d34e instantiate_virtual_regs ../src/gcc/function.c:1928 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. mattis@mattis-VirtualBox:~$ cat pdp11-10-shiftbug.c main () { short a=10000, b; b = a >> 9; } mattis@mattis-VirtualBox:~$ pdp11-aout-gcc -v Using built-in specs. COLLECT_GCC=pdp11-aout-gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/pdp11-aout/4.8.2/lto-wrapper Target: pdp11-aout Configured with: src/configure --target=pdp11-aout --disable-nls --without-headers --enable-languages=c Thread model: single gcc version 4.8.2 (GCC) mattis@mattis-VirtualBox:~$ Linux mattis-VirtualBox 3.8.0-35-generic #50~precise1-Ubuntu SMP Wed Dec 4 17:28:45 UTC 2013 i686 i686 i386 GNU/Linux