[llvm] [IR][REVEC] Define llvm.vector.broadcast intrinsic (PR #208212)

Gaƫtan Bossu via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 03:33:52 PDT 2026


================
@@ -4019,6 +4072,13 @@ bool DAGTypeLegalizer::SplitVectorOperand(SDNode *N, unsigned OpNo) {
   return false;
 }
 
+SDValue DAGTypeLegalizer::SplitVecOp_VECTOR_BROADCAST(SDNode *N) {
+  SDLoc DL(N);
+  SDValue SrcLo, SrcHi;
+  GetSplitVector(N->getOperand(0), SrcLo, SrcHi);
+  return buildSplitVectorBroadcast(DAG, DL, N->getValueType(0), SrcLo, SrcHi);
+}
----------------
gbossu wrote:

Sorry the code was really not clear... Basically, that's expected that the hi half is ignored. `buildSplitVectorBroadcast` will produce two VT results. If we were to concatenate them, we'd get the wrong destination type. I've added comments.

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


More information about the llvm-commits mailing list