------- Comment #2 from rguenth at gcc dot gnu dot org 2007-02-15 09:56 ------- Confirmed:
#1 0x0000000000cffee3 in vect_get_vec_def_for_stmt_copy ( dt=vect_induction_def, vec_oprnd=0x2abeb1648480) at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:901 901 gcc_assert (TREE_CODE (vec_stmt_for_operand) == PHI_NODE); (gdb) call debug_generic_expr (vec_oprnd) vect_vec_iv_.651_2519 we're trying to vectorize #2 0x0000000000d0a06d in vectorizable_store (stmt=0x2abeb1570a50, bsi=0x7ffffa0cc910, vec_stmt=0x7ffffa0cc7e0) at /space/rguenther/src/svn/trunk/gcc/tree-vect-transform.c:3229 3229 vec_oprnd = vect_get_vec_def_for_stmt_copy (dt, (gdb) call debug_generic_expr (stmt) # runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder } runningOrder[i_2611] = i_2611 in (gdb) call debug_bb (bb_for_stmt (stmt)) ;; basic block 36, loop depth 1, count 0 ;; prev block 391, next block 37 ;; pred: 391 [100.0%] (fallthru) 37 [100.0%] (fallthru,exec) ;; succ: 37 [99.0%] (true,exec) 38 [1.0%] (loop_exit,false,exec) # ivtmp.658_2514 = PHI <vect_prunningOrder.653_2515(391), ivtmp.658_2513(37)> # vect_vec_iv_.651_2522 = PHI <vect_cst_.649_2524(391), vect_vec_iv_.651_2521(37)> # ivtmp.645_2529 = PHI <vect_pbigDone.640_2530(391), ivtmp.645_2528(37)> # ivtmp.635_2540 = PHI <256(391), ivtmp.635_2539(37)> # bigDone_2602 = PHI <bigDone_2284(D)(391), bigDone_2293(37)> # runningOrder_2603 = PHI <runningOrder_2283(D)(391), runningOrder_2294(37)> # i_2611 = PHI <0(391), i_336(37)> <L416>:; # bigDone_2293 = VDEF <bigDone_2602> { bigDone } *ivtmp.645_2529 = vect_cst_.639_2532; vect_vec_iv_.651_2521 = vect_vec_iv_.651_2522 + vect_cst_.650_2523; vect_vec_iv_.651_2519 = vect_vec_iv_.651_2522 + vect_cst_.652_2520; vect_vec_iv_.651_2518 = vect_vec_iv_.651_2519 + vect_cst_.652_2520; vect_vec_iv_.651_2517 = vect_vec_iv_.651_2518 + vect_cst_.652_2520; # runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder } *ivtmp.658_2514 = vect_vec_iv_.651_2522; ivtmp.658_2512 = ivtmp.658_2514 + 16B; # runningOrder_2511 = VDEF <runningOrder_2603> { runningOrder } *ivtmp.658_2512 = vect_vec_iv_.651_2519; # runningOrder_2294 = VDEF <runningOrder_2603> { runningOrder } runningOrder[i_2611] = i_2611; i_336 = i_2611 + 1; ivtmp.635_2539 = ivtmp.635_2540 - 1; ivtmp.645_2528 = ivtmp.645_2529 + 16B; ivtmp.658_2513 = ivtmp.658_2512 + 16B; if (ivtmp.635_2539 != 0) goto <L509>; else goto <L510>; -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dorit at il dot ibm dot com Keywords| |ice-on-valid-code Summary|ice for legal code with - |[4.3 Regression] ice for |ftree-vectorize -O2 |legal code with -ftree- | |vectorize -O2 Target Milestone|--- |4.3.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30795