Displaying 2 results from an estimated 2 matches for "rk_integeradd".
2013 Oct 14
4
[LLVMdev] Fwd: Vectorization of pointer PHI nodes
...*write++ = a;
*write++ = b;
*write++ = c;
}
Vectorizing this is very simple and it's a sequence of VLD3 + VOPS + VST3,
which GCC does it nicely, but we don't.
What would be the steps in adding a pointer increment reduction kind
(RK_PointerInc)? I believe the logic would be similar to RK_IntegerAdd, but
with a stride of type size, right?
Or maybe we'd have to translate the loop into something like:
for (i: 0 -> MAX, +=3) {
write[i] = (op) read[i];
write[i+1] = (op) read[i+1];
write[i+2] = (op) read[i+2];
}
So that the reduction variable gets recognized?
cheers,
--renato
-----...
2013 Oct 14
0
[LLVMdev] Vectorization of pointer PHI nodes
Hi Renato,
Thanks for working on this. As you said, we don't support pointer reductions. Handling pointer reductions should be straightforward. You can copy the logic for handling RK_IntegerAdd and create a new enum entry for RK_PointerAdd. You will need to detect the relevant patterns (GEP probably) and implement the cost model and vectorization parts. You will need to generate vector-geps that represent the pointer increment. Vector-GEPs are rare and this may trigger bugs in other par...