[llvm] [AMDGPU] Merge two V_CNDMASK instructions into V_DUAL_CNDMASK (PR #135007)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 9 07:00:09 PDT 2025
================
@@ -105,6 +105,25 @@ class SIFoldOperandsImpl {
}
}
+ unsigned getInverseCompareOpcode(MachineInstr &MI) const {
+ switch (MI.getOpcode()) {
+ case AMDGPU::V_CMP_EQ_U32_e64:
+ return AMDGPU::V_CMP_NE_U32_e64;
+ case AMDGPU::V_CMP_NE_U32_e64:
+ return AMDGPU::V_CMP_EQ_U32_e64;
+ case AMDGPU::V_CMP_GE_U32_e64:
+ return AMDGPU::V_CMP_LT_U32_e64;
+ case AMDGPU::V_CMP_LE_U32_e64:
+ return AMDGPU::V_CMP_GT_U32_e64;
+ case AMDGPU::V_CMP_GT_U32_e64:
+ return AMDGPU::V_CMP_LE_U32_e64;
+ case AMDGPU::V_CMP_LT_U32_e64:
+ return AMDGPU::V_CMP_GE_U32_e64;
+ default:
----------------
jayfoad wrote:
Should also handle floating point comparisons?
https://github.com/llvm/llvm-project/pull/135007
More information about the llvm-commits
mailing list