On Wed, Apr 12, 2017 at 9:50 AM, Robin Dapp <rd...@linux.vnet.ibm.com> wrote: >> Note I was very conservative here to allow store bandwidth starved >> CPUs to benefit from aligning a store. >> >> I think it would be reasonable to apply the same heuristic to the >> store case that we only peel for same cost if peeling would at least >> align two refs. > > Do you mean checking if peeling aligns >= 2 refs for sure? (i.e. with a > known misalignment) Or the same as currently via > STMT_VINFO_SAME_ALIGN_REFS just for stores and .length() >= 2?
The latter. > Is checking via vect_peeling_hash_choose_best_peeling () too costly or > simply unnecessary if we already know the costs for aligned and > unaligned are the same? This one only works for known misalignment, otherwise it's overkill. OTOH if with some refactoring we can end up using a single cost model that would be great. That is for the SAME_ALIGN_REFS we want to choose the unknown misalignment with the maximum number of SAME_ALIGN_REFS. And if we know the misalignment of a single ref then we still may want to align a unknown misalign ref if that has more SAME_ALIGN_REFS (I think we always choose the known-misalign one currently). Richard. > Regards > Robin >