<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td, branch users/nico/python-2</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: Directly select minimumnum/maximumnum with ieee_mode=0 (#141903)</title>
<updated>2025-06-17T15:27:41+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2025-06-17T15:27:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c80282d333d7248c8a34694ce1bec9a40681c1c5'/>
<id>c80282d333d7248c8a34694ce1bec9a40681c1c5</id>
<content type='text'>
The hardware min/max follow the IR rules with IEEE mode disabled,
so we can avoid the canonicalizes of the input. We lose the quieting
of a signaling nan if both inputs are nans, but we only require that
with strictfp.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The hardware min/max follow the IR rules with IEEE mode disabled,
so we can avoid the canonicalizes of the input. We lose the quieting
of a signaling nan if both inputs are nans, but we only require that
with strictfp.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Simplify definition of AddrSpaces. NFC. (#141030)</title>
<updated>2025-05-22T10:14:16+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2025-05-22T10:14:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e1db811341d361dde9767d41fe959efbca1adcbe'/>
<id>e1db811341d361dde9767d41fe959efbca1adcbe</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Targets] Migrate from atomic_load_8/16/32/64 to atomic_load_nonext_8/16/32/64. NFC (#137428)</title>
<updated>2025-04-28T16:26:34+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-04-28T16:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ca21508080031c3eda1c6085f1de9cc26be4c336'/>
<id>ca21508080031c3eda1c6085f1de9cc26be4c336</id>
<content type='text'>
This makes them more consistent with the checks performed by regular loads. We can't simply add IsNonExtLoad to the existing atomic_load_8/16/32/64 as that would affect out of tree targets.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This makes them more consistent with the checks performed by regular loads. We can't simply add IsNonExtLoad to the existing atomic_load_8/16/32/64 as that would affect out of tree targets.</pre>
</div>
</content>
</entry>
<entry>
<title>[SelectionDAG][Targets] Replace atomic_load_8/atomic_load_16 with atomic_load_*ext_8/atomic_load_*ext_16 where possible. (#137279)</title>
<updated>2025-04-25T16:01:00+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-04-25T16:01:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5dc2d668e68613e8898c5c42960d792129453e9d'/>
<id>5dc2d668e68613e8898c5c42960d792129453e9d</id>
<content type='text'>
isAnyExtLoad/isZExtLoad/isSignExtLoad are able to emit predicate checks
from tablegen now so we should use them.

The next step would be to add isNonExtLoad versions and migrate all
remaining uses of atomic_load_8/16/32/64 to that.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
isAnyExtLoad/isZExtLoad/isSignExtLoad are able to emit predicate checks
from tablegen now so we should use them.

The next step would be to add isNonExtLoad versions and migrate all
remaining uses of atomic_load_8/16/32/64 to that.</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Define v_mfma_f32_{16x16x128|32x32x64}_f8f6f4 instructions (#116723)</title>
<updated>2024-11-21T16:51:58+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-11-21T16:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=01c9a14ccf98dba257bb36d9e9242b0bf5cdcaf2'/>
<id>01c9a14ccf98dba257bb36d9e9242b0bf5cdcaf2</id>
<content type='text'>
These use a new VOP3PX encoding for the v_mfma_scale_* instructions,
which bundles the pre-scale v_mfma_ld_scale_b32. None of the modifiers
are supported yet (op_sel, neg or clamp).

I'm not sure the intrinsic should really expose op_sel (or any of the
others). If I'm reading the documentation correctly, we should be able
to just have the raw scale operands and auto-match op_sel to byte
extract patterns.

The op_sel syntax also seems extra horrible in this usage, especially with the
usual assumed op_sel_hi=-1 behavior.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These use a new VOP3PX encoding for the v_mfma_scale_* instructions,
which bundles the pre-scale v_mfma_ld_scale_b32. None of the modifiers
are supported yet (op_sel, neg or clamp).

I'm not sure the intrinsic should really expose op_sel (or any of the
others). If I'm reading the documentation correctly, we should be able
to just have the raw scale operands and auto-match op_sel to byte
extract patterns.

The op_sel syntax also seems extra horrible in this usage, especially with the
usual assumed op_sel_hi=-1 behavior.</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU/GlobalISel: Handle atomic sextload and zextload (#111721)</title>
<updated>2024-10-31T14:44:52+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-10-31T14:44:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=12409024d35e14b91cb9e5eb1337cc76f8ea0b97'/>
<id>12409024d35e14b91cb9e5eb1337cc76f8ea0b97</id>
<content type='text'>
Atomic loads are handled differently from the DAG, and have separate opcodes
and explicit control over the extensions, like ordinary loads. Add
new patterns for these.

There's room for cleanup and improvement. d16 cases aren't handled.

Fixes #111645</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Atomic loads are handled differently from the DAG, and have separate opcodes
and explicit control over the extensions, like ordinary loads. Add
new patterns for these.

There's room for cleanup and improvement. d16 cases aren't handled.

Fixes #111645</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove flat/global fmin/fmax intrinsics (#105642)</title>
<updated>2024-10-09T05:27:28+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-10-09T05:27:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c198f775cdcd731f68fb482c223702c7273d41ca'/>
<id>c198f775cdcd731f68fb482c223702c7273d41ca</id>
<content type='text'>
These have been replaced with atomicrmw</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These have been replaced with atomicrmw</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove global/flat atomic fadd intrinics (#97051)</title>
<updated>2024-08-22T19:27:33+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-08-22T19:27:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ee08d9cba5615937acf28087da841886cc6a0144'/>
<id>ee08d9cba5615937acf28087da841886cc6a0144</id>
<content type='text'>
These have been replaced with atomicrmw.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These have been replaced with atomicrmw.</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove flat/global atomic fadd v2bf16 intrinsics (#97050)</title>
<updated>2024-08-21T10:26:42+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-08-21T10:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9d364286f3b63e99ed3838f179aa2223f930f1ab'/>
<id>9d364286f3b63e99ed3838f179aa2223f930f1ab</id>
<content type='text'>
These are now fully covered by atomicrmw.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are now fully covered by atomicrmw.</pre>
</div>
</content>
</entry>
<entry>
<title>AMDGPU: Remove ds atomic fadd intrinsics (#95396)</title>
<updated>2024-06-23T08:30:20+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2024-06-23T08:30:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=70c8b9c24a7cf2b7c6e65675cbdb42a65ff668ba'/>
<id>70c8b9c24a7cf2b7c6e65675cbdb42a65ff668ba</id>
<content type='text'>
These have been replaced with atomicrmw fadd</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These have been replaced with atomicrmw fadd</pre>
</div>
</content>
</entry>
</feed>
