summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/X86/X86ISelLowering.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index 6b6a1d97282..bb6faab3a19 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -5509,6 +5509,15 @@ static bool getFauxShuffleMask(SDValue N, SmallVectorImpl<int> &Mask,
}
return true;
}
+ case X86ISD::VZEXT: {
+ // TODO - add support for VPMOVZX with smaller input vector types.
+ SDValue Op0 = N.getOperand(0);
+ if (VT.getSizeInBits() != Op0.getValueSizeInBits())
+ break;
+ DecodeZeroExtendMask(Op0.getSimpleValueType().getScalarType(), VT, Mask);
+ Ops.push_back(Op0);
+ return true;
+ }
}
return false;
OpenPOWER on IntegriCloud