search for: pred_add

Displaying 4 results from an estimated 4 matches for "pred_add".

2013 May 09
2
[LLVMdev] Predicated Vector Operations
...ould be handled similar (for the sake of making the example shorted I replaced your sequence of IR instruction by one “virtual” IR instruction): x = predicated_add %mask, %x, %y, %oldvalue This (actually, your sequence of selects, and add) would be matched during ISel to: vr0<def, tied1> = PRED_ADD mask_vr, vr1<use>, vr2<use>, vr3<use, tied0> >From here on the machinery is the same, the two-address pass would translate such instructions to: vr0 = vr3 vr0 = PRED_ADD mask_vr, vr1, vr2, vr0 If vr3 is not live after PRED_ADD coalescing will coalesce vr0 and vr3. I don’t th...
2013 May 10
0
[LLVMdev] Predicated Vector Operations
...r the sake of making the example shorted I replaced your sequence of IR instruction by one “virtual” IR instruction): > > x = predicated_add %mask, %x, %y, %oldvalue > > This (actually, your sequence of selects, and add) would be matched during ISel to: > > vr0<def, tied1> = PRED_ADD mask_vr, vr1<use>, vr2<use>, vr3<use, tied0> > > From here on the machinery is the same, the two-address pass would translate such instructions to: > > vr0 = vr3 > vr0 = PRED_ADD mask_vr, vr1, vr2, vr0 > > If vr3 is not live after PRED_ADD coalescing will coal...
2013 May 09
0
[LLVMdev] Predicated Vector Operations
On Thu, May 9, 2013 at 8:10 AM, <dag at cray.com> wrote: > Jeff Bush <jeffbush001 at gmail.com> writes: > >> %tx = select %mask, %x, <0.0, 0.0, 0.0 ...> >> %ty = select %mask, %y, <0.0, 0.0, 0.0 ...> >> %sum = fadd %tx, %ty >> %newvalue = select %mask, %sum, %oldvalue >> >> I believe the generated instructions depend on whether
2013 May 07
6
[LLVMdev] Predicated Vector Operations
I'm trying to understand how predicated/masked instructions can be generated in llvm, specifically an instruction where a set bit in the mask will write the new result into the corresponding vector lane in the destination and a clear bit will cause the lane in the destination to remain what it was before the instruction executed. I've seen a few places that suggest 'select' is the