$ cat /home/ryan/reduced.i typedef unsigned int _Uint16t __attribute__((__aligned__(2))) __attribute__((__mode__(__HI__))); struct timeval { unsigned tv_sec; }; extern volatile struct timeval mono_time; struct a { unsigned int time1; }; void sppp_input() { struct a *ch; unsigned t; t = mono_time.tv_sec * 1000; ch->time1 = (__builtin_constant_p((((unsigned short) t))) ? (((((((unsigned short) t))) >> 8) & 0xFF) | ((((((unsigned short) t))) & 0xFF) << 8)) : ({ _Uint16t __reg; __asm__( "swap.b %0, %0;" : "=r" (__reg) : "0" ((((unsigned short) t))) ); __reg; } )); } $ ./sh4-unknown-linux-gnu-gcc-4.3.2 -O1 ~/reduced.i -c -v Using built-in specs. Target: sh4-unknown-linux-gnu Configured with: /home/ryan/crosstool-ng-1.3.1/targets/src/gcc-4.3.2/configure --build=i486-build_pc-linux-gnu --host=i486-build_pc-linux-gnu --target=sh4-unknown-linux-gnu --prefix=/home/ryan/crosstool-ng-1.3.1/targets/sh4-unknown-linux-gnu/build/gcc-core-static --with-local-prefix=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root --disable-multilib --with-sysroot=/home/ryan/x-tools/sh4-unknown-linux-gnu/sh4-unknown-linux-gnu/sys-root --with-newlib --enable-threads=no --disable-shared --enable-__cxa_atexit --disable-nls --enable-symvers=gnu --enable-languages=c --enable-target-optspace Thread model: single gcc version 4.3.2 (GCC) COLLECT_GCC_OPTIONS='-O1' '-c' '-v'
/home/ryan/crosstool-ng-1.3.1/targets/sh4-unknown-linux-gnu/build/gcc-core-static/libexec/gcc/sh4-unknown-linux-gnu/4.3.2/cc1 -fpreprocessed /home/ryan/reduced.i -quiet -dumpbase reduced.i -auxbase reduced -O1 -version -o /tmp/cc8aeDRs.s GNU C (GCC) version 4.3.2 (sh4-unknown-linux-gnu) compiled by GNU C version 4.3.1, GMP version 4.2.1, MPFR version 2.2.1. GGC heuristics: --param ggc-min-expand=99 --param ggc-min-heapsize=129356 Compiler executable checksum: ee076cb4ac207bb74a2571e911139f3f /home/ryan/reduced.i: In function 'sppp_input': /home/ryan/reduced.i:10: error: unrecognizable insn: (insn 23 8 10 3 /home/ryan/reduced.i:9 (set (reg:HI 163) (subreg:HI (reg:SI 149 macl) 0)) -1 (expr_list:REG_DEAD (reg:SI 149 macl) (nil))) /home/ryan/reduced.i:10: internal compiler error: in extract_insn, at recog.c:1990 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Reproducible with gcc 4.3.3 as well. -- Summary: ICE in extract_insn at recog.c:1990 Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rmansfield at qnx dot com GCC build triplet: i486-build_pc-linux-gnu GCC host triplet: i486-build_pc-linux-gnu GCC target triplet: sh4-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38991