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.