search for: _loop

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

Did you mean: loop
2013 Oct 21
1
[LLVMdev] First attempt at recognizing pointer reduction
On 21 October 2013 20:58, Arnold Schwaighofer <aschwaighofer at apple.com>wrote: > For example these should be the SCEVs of “int a[2*i] = ; a[2*i+1] =”: > > {ptr, +, 8}_loop > {ptr+4, +, 8}_loop > > Each access on its own requires a gather/scather (2 loads/stores when > vectorized (VF=2) + inserts/extracts). But when we look at both at once we > see that we only need two load/store in total (plus some interleaving > operations). > Yes, I've b...
2013 Oct 21
0
[LLVMdev] First attempt at recognizing pointer reduction
...different patterns in memory, not just the stride vectorization. To detect memory access patterns you will want to look at the SCEV of a pointer (or at a set of SCEVs/pointers). This way you get a canonical form. For example these should be the SCEVs of “int a[2*i] = ; a[2*i+1] =”: {ptr, +, 8}_loop {ptr+4, +, 8}_loop Each access on its own requires a gather/scather (2 loads/stores when vectorized (VF=2) + inserts/extracts). But when we look at both at once we see that we only need two load/store in total (plus some interleaving operations). What other patterns (than strided accesses) do you...
2013 Oct 21
2
[LLVMdev] First attempt at recognizing pointer reduction
Hi Arnold, To sum up my intentions, I want to understand how the reduction/induction variable detection works in LLVM, so that I can know better how to detect different patterns in memory, not just the stride vectorization. For instance, even if the relationship between each loop would be complicated, I know that in each loop, all three reads are sequential. So, at least, I could use a
2013 Oct 21
0
[LLVMdev] LLVMdev Digest, Vol 112, Issue 56
...different patterns in memory, not just the stride vectorization. To detect memory access patterns you will want to look at the SCEV of a pointer (or at a set of SCEVs/pointers). This way you get a canonical form. For example these should be the SCEVs of ?int a[2*i] = ; a[2*i+1] =?: {ptr,  +, 8}_loop {ptr+4, +, 8}_loop Each access on its own requires a gather/scather (2 loads/stores when vectorized (VF=2) + inserts/extracts). But when we look at both at once we see that we only need two load/store in total (plus some interleaving operations). What other patterns (than strided accesses) do you...
2008 Jun 13
7
Rubyscript2exe undefined ''run'' method
After I ran my program through Rubyscript2exe, the Random.exe file that it created is causing the following error: D:\Ruby projects>random.exe C:\DOCUME~1\JEDELS~1\eee\eee.Random.exe.2\app\Random.rb:59: undefined method ''ru n'' for Wxruby2::App (NoMethodError) from C:\DOCUME~1\JEDELS~1\eee\eee.Random.exe.2\bootstrap.rb:77:in `load'' from
2009 Dec 31
1
[PATCH] Autogenerate uureg opcode macros
...stant(ureg, i) #define _CONST(v, s) UREG_CONST(v, ureg, s) - #define _CONST_MAT3(v, s) UREG_CONST_MAT3(v, ureg, s) +#define _CONST_MAT3(v, s) UREG_CONST_MAT3(v, ureg, s) #define _CONST_MAT4(v, s) UREG_CONST_MAT4(v, ureg, s) #define _ADDRESS(v) struct ureg_src v = ureg_DECL_address(ureg) #define _LOOP(v) struct ureg_src v = ureg_DECL_loop(ureg) @@ -88,6 +88,41 @@ static inline struct ureg_src _src(const struct ureg_src& src) {return src;} #define _zy(v) _swz(v, Z, Y, Z, Y) #define _zw(v) _swz(v, Z, W, Z, W) +#define _ind(r, a) ureg_src_indirect(_src(r), _src(a)) +#define _abs(x) ureg_abs...