Robin Dapp <rd...@linux.vnet.ibm.com> writes:
> @@ -1272,12 +1272,40 @@ vect_peeling_hash_get_lowest_cost (_vect_peel_info 
> **slot,
>         && !STMT_VINFO_GROUPED_ACCESS (stmt_info))
>       continue;
>  
> +      int save_misalignment;
>        save_misalignment = DR_MISALIGNMENT (dr);
> -      vect_update_misalignment_for_peel (dr, elem->dr, elem->npeel);
> -      vect_get_data_access_cost (dr, &inside_cost, &outside_cost,
> -                              &body_cost_vec);
> +      if (dr == dr0 && npeel == vf / 2)
> +     SET_DR_MISALIGNMENT (dr, 0);
> +      else
> +     vect_update_misalignment_for_peel (dr, dr0, npeel);
> +      vect_get_data_access_cost (dr, inside_cost, outside_cost,
> +                              body_cost_vec);
>        SET_DR_MISALIGNMENT (dr, save_misalignment);
>      }

Not sure I've understood the series TBH, but is the npeel == vf / 2
there specifically for the "unknown number of peels" case?  How do
we distinguish that from the case in which the number of peels is
known to be vf / 2 at compile time?  Or have I missed the point
completely? (probably yes, sorry!)

Thanks,
Richard

Reply via email to