https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127736

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|tree-optimization           |target

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Classifying this as target issue - the

  /* Use the cost model only if it is more conservative than user specified
     threshold.  */
  unsigned int th = (unsigned) MAX (min_scalar_loop_bound,
                                    min_profitable_iters);

  LOOP_VINFO_COST_MODEL_THRESHOLD (loop_vinfo) = th;

  if (LOOP_VINFO_NITERS_KNOWN_P (loop_vinfo)
      && LOOP_VINFO_INT_NITERS (loop_vinfo) < th)
    {                    
      if (dump_enabled_p ())
        dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
                         "not vectorized: vectorization not profitable.\n");
      if (dump_enabled_p ())
        dump_printf_loc (MSG_NOTE, vect_location,
                         "not vectorized: iteration count smaller than user "
                         "specified loop bound parameter or minimum profitable
"
                         "iterations (whichever is more conservative).\n");
      return 0;
    }

check should disqualify the loop as not profitable to vectorize.  Meaning
that 'th' is "wrong", aka costing is off.

Reply via email to