[Bug tree-optimization/63202] tree vectorizer does not make use of alignment information from VRP/CCP
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Sep 8 08:38:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63202
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Well, as with restrict it would be nice to be able to annotate the memory
references themselves with alignment info.
Btw, a possibility would be to insert assume_aligned calls into the IL
from the
if (p & 15)
__builtin_unreachable ();
pattern and remove the test & __builtin_unreachable ().
Of course quite special and breaks down for assume (!(p & 15) && a == b).
As Jakub said, the testcase can be handled with the existing code as
there is no use of p before the conditional.
Note that there isn't an extra loop for the "unaligned" case but
the extra loop is for the case where there is aliasing between
p and b.
But yes, we fail to use aligned loads here (but movdqu doesn't have a
penalty for that).
More information about the Gcc-bugs
mailing list