search for: passthruv

Displaying 5 results from an estimated 5 matches for "passthruv".

Did you mean: passthru
2014 Dec 18
8
[LLVMdev] Indexed Load and Store Intrinsics - proposal
...Vectorizers to tap this functionality, and propose to do so by introducing new intrinsics: VectorValue = @llvm.sindex.load (BaseAddr, VectorOfIndices, Scale) VectorValue = @llvm.uindex.load (BaseAddr, VectorOfIndices, Scale) VectorValue = @llvm.sindex.masked.load (BaseAddr, VectorOfIndices, Scale, PassThruVal, Mask) VectorValue = @llvm.uindex.masked.load (BaseAddr, VectorOfIndices, Scale, PassThruVal, Mask) Semantics: For i=0,1,...,N-1: if (Mask[i]) {VectorValue[i] = *(BaseAddr + VectorOfIndices[i]*Scale) else VectorValue[i]=PassThruVal[i];} void @llvm.sindex.store (BaseAddr, VectorValue, VectorOfIn...
2015 Mar 15
2
[LLVMdev] Indexed Load and Store Intrinsics - proposal
...lity, and propose to do so > by introducing new intrinsics: > > VectorValue = @llvm.sindex.load (BaseAddr, VectorOfIndices, Scale) > VectorValue = @llvm.uindex.load (BaseAddr, VectorOfIndices, Scale) > VectorValue = @llvm.sindex.masked.load (BaseAddr, VectorOfIndices, > Scale, PassThruVal, Mask) VectorValue = @llvm.uindex.masked.load > (BaseAddr, VectorOfIndices, Scale, PassThruVal, Mask) > > Semantics: > For i=0,1,…,N-1: if (Mask[i]) {VectorValue[i] = *(BaseAddr + > VectorOfIndices[i]*Scale) else VectorValue[i]=PassThruVal[i];} > > void @llvm.sindex.store (B...
2016 Sep 19
2
RFC: New intrinsics masked.expandload and masked.compressstore
...n of the following loops with two specific types of cross-iteration dependencies: Compress: for (int i=0; i<N; ++i) If (t[i]) *A++ = expr; Expand: for (i=0; i<N; ++i) If (t[i]) X[i] = *A++; else X[i] = PassThruV[i]; On this poster ( http://llvm.org/devmtg/2013-11/slides/Demikhovsky-Poster.pdf ) you'll find depicted "compress" and "expand" patterns. The RFC proposes to support this functionality by introducing two intrinsics to LLVM IR: llvm.masked.expandload.*...
2016 Sep 25
5
RFC: New intrinsics masked.expandload and masked.compressstore
...lowing loops with two |> specific types of cross-iteration dependencies: |> |> Compress: |> for (int i=0; i<N; ++i) |> If (t[i]) |> *A++ = expr; |> |> Expand: |> for (i=0; i<N; ++i) |> If (t[i]) |> X[i] = *A++; |> else |> X[i] = PassThruV[i]; |> |> On this poster ( |> http://llvm.org/devmtg/2013-11/slides/Demikhovsky-Poster.pdf ) |you’ll |> find depicted “compress” and “expand” patterns. |> |> The RFC proposes to support this functionality by introducing two |> intrinsics to LLVM IR: |> llvm...
2016 Sep 26
2
RFC: New intrinsics masked.expandload and masked.compressstore
...|> |> Compress: |> |> for (int i=0; i<N; ++i) |> |> If (t[i]) |> |> *A++ = expr; |> |> |> |> Expand: |> |> for (i=0; i<N; ++i) |> |> If (t[i]) |> |> X[i] = *A++; |> |> else |> |> X[i] = PassThruV[i]; |> |> |> |> On this poster ( |> |> http://llvm.org/devmtg/2013-11/slides/Demikhovsky- |Poster.pdf ) |> |you’ll |> |> find depicted “compress” and “expand” patterns. |> |> |> |> The RFC proposes to support this functionality by...