mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-14 16:33:28 +00:00
Just return undef for invalid masks or elts, and since we're doing that,
just do it earlier too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118195 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
964bc25e5a
commit
d81f17acb4
@ -6242,6 +6242,10 @@ SDValue DAGCombiner::visitEXTRACT_VECTOR_ELT(SDNode *N) {
|
||||
if (!LN0 || !LN0->hasOneUse() || LN0->isVolatile())
|
||||
return SDValue();
|
||||
|
||||
// If Idx was -1 above, Elt is going to be -1, so just return undef.
|
||||
if (Elt == -1)
|
||||
return DAG.getUNDEF(LN0->getBasePtr().getValueType());
|
||||
|
||||
unsigned Align = LN0->getAlignment();
|
||||
if (NewLoad) {
|
||||
// Check the resultant load doesn't need a higher alignment than the
|
||||
@ -6257,11 +6261,8 @@ SDValue DAGCombiner::visitEXTRACT_VECTOR_ELT(SDNode *N) {
|
||||
|
||||
SDValue NewPtr = LN0->getBasePtr();
|
||||
unsigned PtrOff = 0;
|
||||
// If Idx was -1 above, Elt is going to be -1, so just use undef as our
|
||||
// new pointer.
|
||||
if (Elt == -1) {
|
||||
NewPtr = DAG.getUNDEF(NewPtr.getValueType());
|
||||
} else if (Elt) {
|
||||
|
||||
if (Elt) {
|
||||
PtrOff = LVT.getSizeInBits() * Elt / 8;
|
||||
EVT PtrType = NewPtr.getValueType();
|
||||
if (TLI.isBigEndian())
|
||||
|
Loading…
x
Reference in New Issue
Block a user