[PATCH] Induction variables: support arbitrary constant step
hfinkel at anl.gov
hfinkel at anl.gov
Fri Oct 31 08:37:47 PDT 2014
Can you please include a more-verbose description of what's going on here? Since we don't have masked stores, I assume this affects only loops without stores (which means reductions). For reductions with non-unit stride, we can indeed load data in larger vectors and then only use some of the vector lanes for the reduced value (and I agree this is a useful capability to have), but for that I'd expect to see changes in the code after this comment:
if (VF > 1) {
// VF is a power of 2 so we can emit the reduction using log2(VF) shuffles
// and vector ops, reducing the set of values being computed by half each
// round.
but I don't see any changes there, so I don't understand how you're selecting out only the correct vector lanes.
http://reviews.llvm.org/D6051
More information about the llvm-commits
mailing list