[llvm] [AMDGPU] Break v2i32 and/or/xor ops into i32 pairs when followed by t… (PR #191422)

Wooseok Lee via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 10 11:56:17 PDT 2026


================
@@ -13956,6 +13956,58 @@ static uint32_t getPermuteMask(SDValue V) {
   return ~0;
 }
 
+static SDValue performAndOrXorv2i32Combine(SDNode *N, SelectionDAG &DAG) {
+  EVT VT = N->getValueType(0);
+  const unsigned Opc = N->getOpcode();
+  assert(VT == MVT::v2i32);
+  if (!N->isDivergent())
----------------
wooseoklee wrote:

Can you guide me how I can filter out the scalar values, then? I would apply this only for VALU operations. I can see that many places use divergent as a proxy for VALU. 

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


More information about the llvm-commits mailing list