http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49542

--- Comment #3 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-07-05 
15:42:55 UTC ---
> You wrote (here http://gcc.gnu.org/ml/gcc-patches/2009-11/msg00508.html)
> > They pass on SPARC 64-bit because the operations are 
> > transformed to use the word mode.
> It doesn't work anymore?

No, for pr33804.c the word mode trick isn't invoked anymore because in:

  if (icode == CODE_FOR_nothing)
    {
      if (vect_print_dump_info (REPORT_DETAILS))
        fprintf (vect_dump, "op not supported by target.");
      /* Check only during analysis.  */
      if (GET_MODE_SIZE (vec_mode) != UNITS_PER_WORD
          || (vf < vect_min_worthwhile_factor (code)
              && !vec_stmt))
        return false;
      if (vect_print_dump_info (REPORT_DETAILS))
        fprintf (vect_dump, "proceeding using word mode.");
    }

(gdb) p debug_gimple_stmt(stmt)
D.2015_14 = D.2014_13 + D.2012_9;
(gdb)  p vf
$9 = 2
(gdb) call vect_min_worthwhile_factor (code)
$10 = 4
(gdb) p vec_stmt
$11 = (gimple *) 0x0

vf is 8 on the 4.6 branch instead.  Likewise for slp-multitypes-3.c.

Reply via email to