This is the mail archive of the
mailing list for the GCC project.
r242265 - in /branches/ARM/sve-branch/gcc: tree...
- From: rsandifo at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 11 Nov 2016 17:30:43 -0000
- Subject: r242265 - in /branches/ARM/sve-branch/gcc: tree...
Date: Fri Nov 11 17:30:42 2016
New Revision: 242265
poly_int: vectoriser vf and uf
This patch changes the type of the vectorisation factor and SLP
unrolling factor to poly_uint64, so that the number of elements in
a vector can be made polynomial later. This in turn required some
knock-on changes in signedness elsewhere.
One effect of this patch is that we now use MULT_EXPR and TRUNC_DIV_EXPR
rather than shifts by log2(vf). This doesn't get reduced at the gimple
level back to shifts, which from the lack of patterns in match.pd
appears to be a deliberate decision to keep multiplication and division
as the canonical forms. The conversion to shifts still happens later,
during expansion. However, doing it later does cause some small but
seemingly minor changes to a handful of testcases in the testsuite.
The patch also changes MAX_VECTORIZATION_FACTOR to INT_MAX,
to avoid hard-coding a particular architectural limit.