[llvm] a6fa720 - [Hexagon] Simplify creation of splat value (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 07:01:44 PST 2025


Author: Nikita Popov
Date: 2025-12-09T15:59:26+01:00
New Revision: a6fa720e72c8c514e97b7cf1fd1043fff52746ac

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

LOG: [Hexagon] Simplify creation of splat value (NFC)

ConstantInt::get() already knows how to create splats, no need to
do it manually.

Added: 
    

Modified: 
    llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp b/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
index f5dc9defe5864..297410b3ad828 100644
--- a/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonGenWideningVecInstr.cpp
@@ -492,11 +492,9 @@ void HexagonGenWideningVecInstr::updateMPYConst(Intrinsic::ID IntId,
        IntId == Intrinsic::hexagon_vmpy_ss) &&
       OP->getType()->isVectorTy()) {
     // Create a vector with all elements equal to SplatVal
-    auto *VecTy = cast<VectorType>(OP->getType());
-    Value *scalar = IRB.getIntN(VecTy->getScalarSizeInBits(),
-                                static_cast<uint32_t>(SplatVal));
-    Value *splatVector = ConstantVector::getSplat(VecTy->getElementCount(),
-                                                  cast<Constant>(scalar));
+    Type *VecTy = OP->getType();
+    Value *splatVector =
+        ConstantInt::get(VecTy, static_cast<uint32_t>(SplatVal));
     OP = IsOPZExt ? IRB.CreateZExt(splatVector, VecTy)
                   : IRB.CreateSExt(splatVector, VecTy);
   } else {


        


More information about the llvm-commits mailing list