http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55876
Bug #: 55876 Summary: internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:776 Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: vr...@gcc.gnu.org test.c: ... static inline unsigned char bar (const char *b) { unsigned char used = 0; int i; for (i = 0; i < 4; ++i) if (b[i] != 'F') used = 1; return used; } static char buffer[8]; unsigned char foo (void) { return bar (buffer) ? 0 : 1; } ... ... $ ./install/bin/mips-linux-gnu-gcc -O3 test.c -S -mabi=64 -march=mips64 test.c: In function 'foo': test.c:19:3: internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:776 return bar (buffer) ? 0 : 1; ^ 0x8394d8b gen_rtx_SUBREG(machine_mode, rtx_def*, int) gcc/emit-rtl.c:776 0x85d7da4 widen_operand gcc/optabs.c:333 0x85d927d expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*, int, optab_methods) gcc/optabs.c:1648 0x83ce84a expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) gcc/expr.c:9051 0x83d5d09 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) gcc/expr.c:10426 0x83d5dc8 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) gcc/expr.c:7848 0x83cf3f5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) gcc/expr.c:9211 0x83d5dc8 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**) gcc/expr.c:7848 0x86bbe63 expand_expr gcc/expr.h:444 0x86bf98f expand_return(tree_node*) gcc/stmt.c:1546 0x82d78a3 expand_gimple_stmt_1 gcc/cfgexpand.c:2183 0x82d7e11 expand_gimple_stmt gcc/cfgexpand.c:2305 0x82d8f36 expand_gimple_basic_block gcc/cfgexpand.c:4084 0x82d9d13 gimple_expand_cfg gcc/cfgexpand.c:4603 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. ... configure line: ... $ ./install/bin/mips-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=./install/bin/mips-linux-gnu-gcc COLLECT_LTO_WRAPPER=install/bin/../libexec/gcc/mips-linux-gnu/4.8.0/lto-wrapper Target: mips-linux-gnu Configured with: src/gcc-mainline/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=mips-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-lto --enable-symvers=gnu --enable-__cxa_atexit --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/mips-linux-gnu/libc --with-build-sysroot=install/mips-linux-gnu/libc --with-gmp=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpfr=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-mpc=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-isl=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-cloog=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --with-libelf=obj/pkg-mainline-0-mips-linux-gnu/fsf-mainline-0-mips-linux-gnu.extras/host-libs-i686-pc-linux-gnu/usr --disable-libgomp --disable-libitm --enable-poison-system-directories --with-build-time-tools=install/mips-linux-gnu/bin --with-build-time-tools=install/mips-linux-gnu/bin Thread model: posix gcc version 4.8.0 20130104 (experimental) (GCC) ...