[llvm] 46ca6df - AMDGPU: Add disjoint to or produced from lowering vector ops (#122424)

via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 10 01:21:57 PST 2025


Author: Matt Arsenault
Date: 2025-01-10T16:21:53+07:00
New Revision: 46ca6dfb5f0783d68cd738501a26a1a9455ff74e

URL: https://github.com/llvm/llvm-project/commit/46ca6dfb5f0783d68cd738501a26a1a9455ff74e
DIFF: https://github.com/llvm/llvm-project/commit/46ca6dfb5f0783d68cd738501a26a1a9455ff74e.diff

LOG: AMDGPU: Add disjoint to or produced from lowering vector ops (#122424)

Added: 
    

Modified: 
    llvm/lib/Target/AMDGPU/SIISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index 4a39443582444d..529d9ba17d4f60 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -7458,7 +7458,8 @@ SDValue SITargetLowering::lowerINSERT_VECTOR_ELT(SDValue Op,
       DAG.getNode(ISD::AND, SL, IntVT, DAG.getNOT(SL, BFM, IntVT), BCVec);
 
   // 4. Get (2) and (3) ORed into the target vector.
-  SDValue BFI = DAG.getNode(ISD::OR, SL, IntVT, LHS, RHS);
+  SDValue BFI =
+      DAG.getNode(ISD::OR, SL, IntVT, LHS, RHS, SDNodeFlags::Disjoint);
 
   return DAG.getNode(ISD::BITCAST, SL, VecVT, BFI);
 }
@@ -7666,7 +7667,8 @@ SDValue SITargetLowering::lowerBUILD_VECTOR(SDValue Op,
     Lo = DAG.getNode(ISD::BITCAST, SL, MVT::i16, Lo);
     Lo = DAG.getNode(ISD::ZERO_EXTEND, SL, MVT::i32, Lo);
 
-    SDValue Or = DAG.getNode(ISD::OR, SL, MVT::i32, Lo, ShlHi);
+    SDValue Or =
+        DAG.getNode(ISD::OR, SL, MVT::i32, Lo, ShlHi, SDNodeFlags::Disjoint);
     return DAG.getNode(ISD::BITCAST, SL, VT, Or);
   }
 


        


More information about the llvm-commits mailing list