<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/Dialect/Vector/Transforms/LowerVectorBitCast.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[mlir][NFC] update `mlir/Dialect` create APIs (24/n) (#149931)</title>
<updated>2025-07-22T12:16:15+00:00</updated>
<author>
<name>Maksim Levental</name>
<email>maksim.levental@gmail.com</email>
</author>
<published>2025-07-22T12:16:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f904cdd6c3049e605d24ed17680e80e7133908a0'/>
<id>f904cdd6c3049e605d24ed17680e80e7133908a0</id>
<content type='text'>
See https://github.com/llvm/llvm-project/pull/147168 for more info.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See https://github.com/llvm/llvm-project/pull/147168 for more info.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][Vector] Introduce poison in LowerVectorBitCast/Broadcast/Transpose (#126180)</title>
<updated>2025-02-07T18:51:24+00:00</updated>
<author>
<name>Diego Caballero</name>
<email>dieg0ca6aller0@gmail.com</email>
</author>
<published>2025-02-07T18:51:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2c4dd89902c3e679607567569651acf8b828360e'/>
<id>2c4dd89902c3e679607567569651acf8b828360e</id>
<content type='text'>
This PR continues with the introduction of poison as initialization
vector, in this particular case, in LowerVectorBitCast,
LowerVectorBroadcast and LowerVectorTranspose.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This PR continues with the introduction of poison as initialization
vector, in this particular case, in LowerVectorBitCast,
LowerVectorBroadcast and LowerVectorTranspose.</pre>
</div>
</content>
</entry>
<entry>
<title>mlir/LogicalResult: move into llvm (#97309)</title>
<updated>2024-07-02T09:42:33+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>ramkumar.ramachandra@codasip.com</email>
</author>
<published>2024-07-02T09:42:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=db791b278a414fb6df1acc1799adcf11d8fb9169'/>
<id>db791b278a414fb6df1acc1799adcf11d8fb9169</id>
<content type='text'>
This patch is part of a project to move the Presburger library into
LLVM.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of a project to move the Presburger library into
LLVM.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][vector] Support scalable vectors when unrolling vector.bitcast  (#94197)</title>
<updated>2024-06-21T13:38:19+00:00</updated>
<author>
<name>Benjamin Maxwell</name>
<email>benjamin.maxwell@arm.com</email>
</author>
<published>2024-06-21T13:38:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=dc5d541081381e3dca80b982097596546e0619fc'/>
<id>dc5d541081381e3dca80b982097596546e0619fc</id>
<content type='text'>
Follow up to #94064.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Follow up to #94064.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][vector] Add support for unrolling vector.bitcast ops. (#94064)</title>
<updated>2024-06-03T23:39:52+00:00</updated>
<author>
<name>Han-Chung Wang</name>
<email>hanhan0912@gmail.com</email>
</author>
<published>2024-06-03T23:39:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0ea1271ee13c8c3d765904dba16dd27b91584d66'/>
<id>0ea1271ee13c8c3d765904dba16dd27b91584d66</id>
<content type='text'>
The revision unrolls vector.bitcast like:

```mlir
%0 = vector.bitcast %arg0 : vector&lt;2x4xi32&gt; to vector&lt;2x2xi64&gt;
```

to

```mlir
%cst = arith.constant dense&lt;0&gt; : vector&lt;2x2xi64&gt;
%0 = vector.extract %arg0[0] : vector&lt;4xi32&gt; from vector&lt;2x4xi32&gt;
%1 = vector.bitcast %0 : vector&lt;4xi32&gt; to vector&lt;2xi64&gt;
%2 = vector.insert %1, %cst [0] : vector&lt;2xi64&gt; into vector&lt;2x2xi64&gt;
%3 = vector.extract %arg0[1] : vector&lt;4xi32&gt; from vector&lt;2x4xi32&gt;
%4 = vector.bitcast %3 : vector&lt;4xi32&gt; to vector&lt;2xi64&gt;
%5 = vector.insert %4, %2 [1] : vector&lt;2xi64&gt; into vector&lt;2x2xi64&gt;
```

The scalable vector is not supported because of the limitation of
`vector::createUnrollIterator`. The targetRank could mismatch the final
rank during unrolling; there is no direct way to query what the final
rank is from the object.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The revision unrolls vector.bitcast like:

```mlir
%0 = vector.bitcast %arg0 : vector&lt;2x4xi32&gt; to vector&lt;2x2xi64&gt;
```

to

```mlir
%cst = arith.constant dense&lt;0&gt; : vector&lt;2x2xi64&gt;
%0 = vector.extract %arg0[0] : vector&lt;4xi32&gt; from vector&lt;2x4xi32&gt;
%1 = vector.bitcast %0 : vector&lt;4xi32&gt; to vector&lt;2xi64&gt;
%2 = vector.insert %1, %cst [0] : vector&lt;2xi64&gt; into vector&lt;2x2xi64&gt;
%3 = vector.extract %arg0[1] : vector&lt;4xi32&gt; from vector&lt;2x4xi32&gt;
%4 = vector.bitcast %3 : vector&lt;4xi32&gt; to vector&lt;2xi64&gt;
%5 = vector.insert %4, %2 [1] : vector&lt;2xi64&gt; into vector&lt;2x2xi64&gt;
```

The scalable vector is not supported because of the limitation of
`vector::createUnrollIterator`. The targetRank could mismatch the final
rank during unrolling; there is no direct way to query what the final
rank is from the object.</pre>
</div>
</content>
</entry>
</feed>
