------- 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

Reply via email to