------- Comment #2 from ubizjak at gmail dot com 2007-09-07 09:28 ------- Also ICEs on i686-pc-linux-gnu with -msse2.
The problem is again in: --cut here-- rtx expand_simple_binop (enum machine_mode mode, enum rtx_code code, rtx op0, rtx op1, rtx target, int unsignedp, enum optab_methods methods) { optab binop = code_to_optab[(int) code]; gcc_assert (binop); return expand_binop (mode, binop, op0, op1, target, unsignedp, methods); } --cut here-- code_to_optab returns NULL for (unsupported) VEC_SELECT code. IIRC, we already have some discussion about this issue. The backtrace is: #0 fancy_abort (file=0x87879e0 "../../gcc-svn/trunk/gcc/optabs.c", line=1306, function=0x8787f50 "expand_simple_binop") at ../../gcc-svn/trunk/gcc/diagnostic.c:655 #1 0x082a29a7 in expand_simple_binop (mode=V2SImode, code=VEC_SELECT, op0=0xb7cf7340, op1=0xb7cd7870, target=0x0, unsignedp=1, methods=OPTAB_LIB_WIDEN) at ../../gcc-svn/trunk/gcc/optabs.c:1306 #2 0x081cbb18 in force_operand (value=0xb7c56b7c, target=0x0) at ../../gcc-svn/trunk/gcc/expr.c:6269 #3 0x081cb9a6 in force_operand (value=0xb7cd7878, target=0xb7cf7410) at ../../gcc-svn/trunk/gcc/expr.c:6277 #4 0x081cbbe9 in force_operand (value=0xb7c56b88, target=0xb7cf7400) at ../../gcc-svn/trunk/gcc/expr.c:6241 #5 0x0869c349 in move_invariant_reg (loop=0xb7cf833c, invno=0) at ../../gcc-svn/trunk/gcc/loop-invariant.c:1237 #6 0x0869d76d in move_loop_invariants () at ../../gcc-svn/trunk/gcc/loop-invariant.c:1304 #7 0x0869b495 in rtl_move_loop_invariants () at ../../gcc-svn/trunk/gcc/loop-init.c:237 #8 0x082aacdf in execute_one_pass (pass=0x8855060) at ../../gcc-svn/trunk/gcc/passes.c:1111 -- ubizjak at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- GCC target triplet|x86_64-unknown-linux-gnu |i686-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33329