<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.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>[AMDGPU][GlobalISel] Lower G_FMINIMUM and G_FMAXIMUM (#151122)</title>
<updated>2025-10-24T12:48:27+00:00</updated>
<author>
<name>Mirko Brkušanin</name>
<email>Mirko.Brkusanin@amd.com</email>
</author>
<published>2025-10-24T12:48:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe5f49942eb7b27989b04736bc91e14730dc478d'/>
<id>fe5f49942eb7b27989b04736bc91e14730dc478d</id>
<content type='text'>
Add GlobalISel lowering of G_FMINIMUM and G_FMAXIMUM following the same
logic as in SDag's expandFMINIMUM_FMAXIMUM.
Update AMDGPU legalization rules: Pre GFX12 now uses new lowering method
and make G_FMINNUM_IEEE and G_FMAXNUM_IEEE legal to match SDag.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add GlobalISel lowering of G_FMINIMUM and G_FMAXIMUM following the same
logic as in SDag's expandFMINIMUM_FMAXIMUM.
Update AMDGPU legalization rules: Pre GFX12 now uses new lowering method
and make G_FMINNUM_IEEE and G_FMAXNUM_IEEE legal to match SDag.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Remove NoInfsFPMath uses (#163028)</title>
<updated>2025-10-13T11:15:49+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2025-10-13T11:15:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=14a42e64cf2bd1e6dcc3bbc417d02cf773cb9752'/>
<id>14a42e64cf2bd1e6dcc3bbc417d02cf773cb9752</id>
<content type='text'>
Only `ninf` should be used.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only `ninf` should be used.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add the support for 45-bit buffer resource (#159702)</title>
<updated>2025-09-24T15:12:02+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-09-24T15:12:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2195fe7e018db3d9a6c2e392a2bf8591859b872f'/>
<id>2195fe7e018db3d9a6c2e392a2bf8591859b872f</id>
<content type='text'>
On new targets like `gfx1250`, the buffer resource (V#) now uses this
format:

```
base (57-bit): resource[56:0]
num_records (45-bit): resource[101:57]
reserved (6-bit): resource[107:102]
stride (14-bit): resource[121:108]
```

This PR changes the type of `num_records` from `i32` to `i64` in both
builtin and intrinsic, and also adds the support for lowering the new
format.

Fixes SWDEV-554034.

---------

Co-authored-by: Krzysztof Drewniak &lt;Krzysztof.Drewniak@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On new targets like `gfx1250`, the buffer resource (V#) now uses this
format:

```
base (57-bit): resource[56:0]
num_records (45-bit): resource[101:57]
reserved (6-bit): resource[107:102]
stride (14-bit): resource[121:108]
```

This PR changes the type of `num_records` from `i32` to `i64` in both
builtin and intrinsic, and also adds the support for lowering the new
format.

Fixes SWDEV-554034.

---------

Co-authored-by: Krzysztof Drewniak &lt;Krzysztof.Drewniak@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Fix codegen to emit COPY instead of S_MOV_B64 for aperture regs (#158754)</title>
<updated>2025-09-16T09:26:32+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2025-09-16T09:26:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=76efbc068a6ab6ffa10b801df07155a6a69530e7'/>
<id>76efbc068a6ab6ffa10b801df07155a6a69530e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Support lowering of cluster related instrinsics (#157978)</title>
<updated>2025-09-13T01:11:17+00:00</updated>
<author>
<name>Shilei Tian</name>
<email>i@tianshilei.me</email>
</author>
<published>2025-09-13T01:11:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1180c2ced008e33b0a4b2b91b3cb24724f06147c'/>
<id>1180c2ced008e33b0a4b2b91b3cb24724f06147c</id>
<content type='text'>
Since many code are connected, this also changes how workgroup id is lowered.

Co-authored-by: Jay Foad &lt;jay.foad@amd.com&gt;
Co-authored-by: Ivan Kosarev &lt;ivan.kosarev@amd.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since many code are connected, this also changes how workgroup id is lowered.

Co-authored-by: Jay Foad &lt;jay.foad@amd.com&gt;
Co-authored-by: Ivan Kosarev &lt;ivan.kosarev@amd.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][Legalizer] Avoid pack/unpack for G_FSHR (#156796)</title>
<updated>2025-09-04T23:12:57+00:00</updated>
<author>
<name>Anshil Gandhi</name>
<email>95053726+gandhi56@users.noreply.github.com</email>
</author>
<published>2025-09-04T23:12:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c6899193ed9b4818dcd20301f36992066c1776d5'/>
<id>c6899193ed9b4818dcd20301f36992066c1776d5</id>
<content type='text'>
Scalarize G_FSHR only if the subtarget does not support V2S16 type.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Scalarize G_FSHR only if the subtarget does not support V2S16 type.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU][gfx1250] Add 128B cooperative atomics (#156418)</title>
<updated>2025-09-04T09:19:25+00:00</updated>
<author>
<name>Pierre van Houtryve</name>
<email>pierre.vanhoutryve@amd.com</email>
</author>
<published>2025-09-04T09:19:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e2bd10cf16c3f90813de5b64f348ece035a6bb68'/>
<id>e2bd10cf16c3f90813de5b64f348ece035a6bb68</id>
<content type='text'>
- Add clang built-ins + sema/codegen
- Add IR Intrinsic + verifier
- Add DAG/GlobalISel codegen for the intrinsics
- Add lowering in SIMemoryLegalizer using a MMO flag.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add clang built-ins + sema/codegen
- Add IR Intrinsic + verifier
- Add DAG/GlobalISel codegen for the intrinsics
- Add lowering in SIMemoryLegalizer using a MMO flag.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Remove `ApproxFuncFPMath` uses (#155578)</title>
<updated>2025-08-28T03:09:01+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2025-08-28T03:09:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=595573d1edeb0896aeeca84ac5146e11c937305e'/>
<id>595573d1edeb0896aeeca84ac5146e11c937305e</id>
<content type='text'>
One of options in `resetTargetOptions`, this removes `ApproxFuncFPMath`
in AMDGPU part.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
One of options in `resetTargetOptions`, this removes `ApproxFuncFPMath`
in AMDGPU part.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Narrow only on store to pow of 2 mem location (#150093)</title>
<updated>2025-08-18T15:04:27+00:00</updated>
<author>
<name>Tiger Ding</name>
<email>38360323+zerogtiger@users.noreply.github.com</email>
</author>
<published>2025-08-18T15:04:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4ab14685a0b96b48f8fd77ead55c1816668cac18'/>
<id>4ab14685a0b96b48f8fd77ead55c1816668cac18</id>
<content type='text'>
Lowering in GlobalISel for AMDGPU previously always narrows to i32 on
truncating store regardless of mem size or scalar size, causing issues
with types like i65 which is first extended to i128 then stored as i64 +
i8 to i128 locations. Narrowing only on store to pow of 2 mem location
ensures only narrowing to mem size near end of legalization.

This LLVM defect was identified via the AMD Fuzzing project.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lowering in GlobalISel for AMDGPU previously always narrows to i32 on
truncating store regardless of mem size or scalar size, causing issues
with types like i65 which is first extended to i128 then stored as i64 +
i8 to i128 locations. Narrowing only on store to pow of 2 mem location
ensures only narrowing to mem size near end of legalization.

This LLVM defect was identified via the AMD Fuzzing project.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Per-subtarget DPP instruction classification (#153096)</title>
<updated>2025-08-11T22:41:02+00:00</updated>
<author>
<name>Stanislav Mekhanoshin</name>
<email>Stanislav.Mekhanoshin@amd.com</email>
</author>
<published>2025-08-11T22:41:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ea14834966ad666856246f24de46397cbfc932eb'/>
<id>ea14834966ad666856246f24de46397cbfc932eb</id>
<content type='text'>
This is NFCI at this point.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is NFCI at this point.</pre>
</div>
</content>
</entry>
</feed>
