mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-28 03:25:23 +00:00
Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91158 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -911,7 +911,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
|
||||
TargetLoweringOpt &TLO,
|
||||
unsigned Depth) const {
|
||||
unsigned BitWidth = DemandedMask.getBitWidth();
|
||||
assert(Op.getValueSizeInBits() == BitWidth &&
|
||||
assert(Op.getValueType().getScalarType().getSizeInBits() == BitWidth &&
|
||||
"Mask size mismatches value type size!");
|
||||
APInt NewMask = DemandedMask;
|
||||
DebugLoc dl = Op.getDebugLoc();
|
||||
@@ -1240,7 +1240,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
|
||||
// demand the input sign bit.
|
||||
APInt HighBits = APInt::getHighBitsSet(BitWidth, ShAmt);
|
||||
if (HighBits.intersects(NewMask))
|
||||
InDemandedMask |= APInt::getSignBit(VT.getSizeInBits());
|
||||
InDemandedMask |= APInt::getSignBit(VT.getScalarType().getSizeInBits());
|
||||
|
||||
if (SimplifyDemandedBits(Op.getOperand(0), InDemandedMask,
|
||||
KnownZero, KnownOne, TLO, Depth+1))
|
||||
|
Reference in New Issue
Block a user