search for: index_1

Displaying 6 results from an estimated 6 matches for "index_1".

Did you mean: index1
2013 Oct 30
2
[LLVMdev] loop vectorizer
...; preds = %for.body, %entry ret void Why is it saying Bad stride?Are the 'rem' and 'div' instruction asking too much from it? The code should be vectorizable. Here the index access for start=0, end=16: loop count i = 0 index_0 = 0 index_1 = 4 loop count i = 1 index_0 = 1 index_1 = 5 loop count i = 2 index_0 = 2 index_1 = 6 loop count i = 3 index_0 = 3 index_1 = 7 loop count i = 4 index_0 = 8 index_1 = 12 loop count i = 5 index_0 = 9 index_1 = 13 loop count i = 6 index_0 = 10 index_1 = 14 loop count i = 7 in...
2013 Oct 30
0
[LLVMdev] loop vectorizer
...; preds = %for.body, %entry > ret void > > Why is it saying Bad stride?Are the 'rem' and 'div' instruction asking too much from it? > > The code should be vectorizable. Here the index access for start=0, end=16: > > loop count i = 0 index_0 = 0 index_1 = 4 > loop count i = 1 index_0 = 1 index_1 = 5 > loop count i = 2 index_0 = 2 index_1 = 6 > loop count i = 3 index_0 = 3 index_1 = 7 > loop count i = 4 index_0 = 8 index_1 = 12 > loop count i = 5 index_0 = 9 index_1 = 13 > loop count i = 6 index_0 = 10 inde...
2013 Oct 31
0
[LLVMdev] loop vectorizer
...sses. Is this something you could do ? > Hi Nadav, the only option I see is to unroll the loop by hand. Since the array access is consecutive over 4 loop iterations I gave it a try and unrolled the loop by a factor of 4. Which gives the following array accesses: loop iter 0: index_0 = 0 index_1 = 4 index_0 = 1 index_1 = 5 index_0 = 2 index_1 = 6 index_0 = 3 index_1 = 7 loop iter 1: index_0 = 8 index_1 = 12 index_0 = 9 index_1 = 13 index_0 = 10 index_1 = 14 index_0 = 11 index_1 = 15 For completeness, here the code: void bar(std::uint64_t start, std::uint64_t end, float * _...
2013 Oct 31
2
[LLVMdev] loop vectorizer
...er <fwinter at jlab.org> wrote: > the only option I see is to unroll the loop by hand. Since the array access is consecutive over 4 loop iterations I gave it a try and unrolled the loop by a factor of 4. Which gives the following array accesses: > > loop iter 0: > index_0 = 0 index_1 = 4 > index_0 = 1 index_1 = 5 > index_0 = 2 index_1 = 6 > index_0 = 3 index_1 = 7 > > loop iter 1: > index_0 = 8 index_1 = 12 > index_0 = 9 index_1 = 13 > index_0 = 10 index_1 = 14 > index_0 = 11 index_1 = 15 The SLP-vectorizer detects 8 stores, but it can...
2013 Oct 31
0
[LLVMdev] loop vectorizer
...t; the only option I see is to unroll the loop by hand. Since the array >> access is consecutive over 4 loop iterations I gave it a try and >> unrolled the loop by a factor of 4. Which gives the following array >> accesses: >> >> loop iter 0: >> index_0 = 0 index_1 = 4 >> index_0 = 1 index_1 = 5 >> index_0 = 2 index_1 = 6 >> index_0 = 3 index_1 = 7 >> >> loop iter 1: >> index_0 = 8 index_1 = 12 >> index_0 = 9 index_1 = 13 >> index_0 = 10 index_1 = 14 >> index_0 = 11 index_1 = 15 > > The...
2013 Oct 30
3
[LLVMdev] loop vectorizer
Hi Frank, > We are looking at a variety of target architectures. Ultimately we aim to run on BG/Q and Intel Xeon Phi (native). However, running on those architectures with the LLVM technology is planned in some future. As a first step we would target vanilla x86 with SSE/AVX 128/256 as a proof-of-concept. Great! It should be easy to support these targets. When you said wide-vectors I assumed