From 9aca5b68ee3fdfa90adb1bba2781b857dd56489b Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sun, 17 May 2020 14:39:51 +0100 Subject: [PATCH] [X86] getTargetConstantBitsFromNode - remove unnecessary X86ISD::VBROADCAST handling. We create X86ISD::VBROADCAST_LOAD for constant pool folds now. --- llvm/lib/Target/X86/X86ISelLowering.cpp | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp index 73f0755..26f90cc 100644 --- a/llvm/lib/Target/X86/X86ISelLowering.cpp +++ b/llvm/lib/Target/X86/X86ISelLowering.cpp @@ -6445,23 +6445,6 @@ static bool getTargetConstantBitsFromNode(SDValue Op, unsigned EltSizeInBits, } // Extract constant bits from a broadcasted constant pool scalar. - if (Op.getOpcode() == X86ISD::VBROADCAST && - EltSizeInBits <= VT.getScalarSizeInBits()) { - if (auto *Broadcast = getTargetConstantFromNode(Op.getOperand(0))) { - unsigned SrcEltSizeInBits = Broadcast->getType()->getScalarSizeInBits(); - unsigned NumSrcElts = SizeInBits / SrcEltSizeInBits; - - APInt UndefSrcElts(NumSrcElts, 0); - SmallVector SrcEltBits(1, APInt(SrcEltSizeInBits, 0)); - if (CollectConstantBits(Broadcast, SrcEltBits[0], UndefSrcElts, 0)) { - if (UndefSrcElts[0]) - UndefSrcElts.setBits(0, NumSrcElts); - SrcEltBits.append(NumSrcElts - 1, SrcEltBits[0]); - return CastBitData(UndefSrcElts, SrcEltBits); - } - } - } - if (Op.getOpcode() == X86ISD::VBROADCAST_LOAD && EltSizeInBits <= VT.getScalarSizeInBits()) { auto *MemIntr = cast(Op); -- 2.7.4