[llvm] [AMDGPU] Waterfall loop codegen improvement in SIInstrInfo (PR #192415)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 4 05:18:38 PDT 2026


================
@@ -52,12 +57,22 @@ class LaneMaskConstants {
                                   : AMDGPU::S_ANDN2_SAVEEXEC_B64),
         AndN2TermOpc(IsWave32 ? AMDGPU::S_ANDN2_B32_term
                               : AMDGPU::S_ANDN2_B64_term),
+        AndN2WrExecOpc(IsWave32 ? AMDGPU::S_ANDN2_WREXEC_B32
+                                : AMDGPU::S_ANDN2_WREXEC_B64),
         AndSaveExecOpc(IsWave32 ? AMDGPU::S_AND_SAVEEXEC_B32
                                 : AMDGPU::S_AND_SAVEEXEC_B64),
         AndSaveExecTermOpc(IsWave32 ? AMDGPU::S_AND_SAVEEXEC_B32_term
                                     : AMDGPU::S_AND_SAVEEXEC_B64_term),
         BfmOpc(IsWave32 ? AMDGPU::S_BFM_B32 : AMDGPU::S_BFM_B64),
         CMovOpc(IsWave32 ? AMDGPU::S_CMOV_B32 : AMDGPU::S_CMOV_B64),
+        CmpXEqU32Opc(IsWave32 ? AMDGPU::V_CMPX_EQ_U32_nosdst_e32
+                              : AMDGPU::V_CMPX_EQ_U32_nosdst_e64),
----------------
jayfoad wrote:

This looks wrong. You're selecting either the VOPC or VOP3 encoding, which hsa nothing to do with wave size.

https://github.com/llvm/llvm-project/pull/192415


More information about the llvm-commits mailing list