search for: horizontal_add

Displaying 2 results from an estimated 2 matches for "horizontal_add".

2013 Oct 23
0
[LLVMdev] First attempt at recognizing pointer reduction
...2 x i32*> [preheader, <%a, 0>], [loop, %a_red_next] %a_red_next = gep %a_red, <3, 3> you would have to compute the value of “a” for the loop on every iteration from the vectorized reduction. %a_red = phi <2 x i32*> [preheader, <%a, 0>], [loop, %a_red_next] %a = horizontal_add %a_red // This is executed on every iteration. = load a … %a_red_next = gep %a_red, <3, 3> Something like the above wants to be a simple induction %a_ind = phi i32* [preheader, %a], [loop, %a_next] … use of %a_ind ... %a_next = gep %a_ind, 6 The horizontal reduction i men...
2013 Oct 23
2
[LLVMdev] First attempt at recognizing pointer reduction
On 23 October 2013 16:05, Arnold Schwaighofer <aschwaighofer at apple.com>wrote: > In the examples you gave there are no reduction variables in the loop > vectorizer’s sense. But, they all have memory accesses that are strided. > This is what I don't get. As far as I understood, a reduction variable is the one that aggregates the computation done by the loop, and is used