[llvm] 7e3859c - [X86] LowerBUILD_VECTORvXbf16 - pull out repeated MVT::f16/bf16 selection. NFC. (#178467)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 28 09:30:01 PST 2026


Author: Simon Pilgrim
Date: 2026-01-28T17:29:56Z
New Revision: 7e3859cee22f26cf3d45ab8b261c18d8dae58e38

URL: https://github.com/llvm/llvm-project/commit/7e3859cee22f26cf3d45ab8b261c18d8dae58e38
DIFF: https://github.com/llvm/llvm-project/commit/7e3859cee22f26cf3d45ab8b261c18d8dae58e38.diff

LOG: [X86] LowerBUILD_VECTORvXbf16 - pull out repeated MVT::f16/bf16 selection. NFC. (#178467)

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86ISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index ca73b336225f2..befd71ef793e2 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -8162,12 +8162,11 @@ static SDValue buildFromShuffleMostly(SDValue Op, const SDLoc &DL,
 static SDValue LowerBUILD_VECTORvXbf16(SDValue Op, SelectionDAG &DAG,
                                        const X86Subtarget &Subtarget) {
   MVT VT = Op.getSimpleValueType();
-  MVT IVT =
-      VT.changeVectorElementType(Subtarget.hasFP16() ? MVT::f16 : MVT::i16);
+  MVT SVT = Subtarget.hasFP16() ? MVT::f16 : MVT::i16;
+  MVT IVT = VT.changeVectorElementType(SVT);
   SmallVector<SDValue, 16> NewOps;
   for (unsigned I = 0, E = Op.getNumOperands(); I != E; ++I)
-    NewOps.push_back(DAG.getBitcast(Subtarget.hasFP16() ? MVT::f16 : MVT::i16,
-                                    Op.getOperand(I)));
+    NewOps.push_back(DAG.getBitcast(SVT, Op.getOperand(I)));
   SDValue Res = DAG.getNode(ISD::BUILD_VECTOR, SDLoc(), IVT, NewOps);
   return DAG.getBitcast(VT, Res);
 }


        


More information about the llvm-commits mailing list