mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-17 21:35:07 +00:00
Type of shuffle mask has changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58751 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9dd93b36b8
commit
3eb57d5439
@ -5155,6 +5155,7 @@ SDValue DAGCombiner::XformToShuffleWithZero(SDNode *N) {
|
|||||||
// Return the new VECTOR_SHUFFLE node.
|
// Return the new VECTOR_SHUFFLE node.
|
||||||
MVT EVT = RHS.getValueType().getVectorElementType();
|
MVT EVT = RHS.getValueType().getVectorElementType();
|
||||||
MVT VT = MVT::getVectorVT(EVT, NumElts);
|
MVT VT = MVT::getVectorVT(EVT, NumElts);
|
||||||
|
MVT MaskVT = MVT::getVectorVT(TLI.getPointerTy(), NumElts);
|
||||||
std::vector<SDValue> Ops;
|
std::vector<SDValue> Ops;
|
||||||
LHS = DAG.getNode(ISD::BIT_CONVERT, VT, LHS);
|
LHS = DAG.getNode(ISD::BIT_CONVERT, VT, LHS);
|
||||||
Ops.push_back(LHS);
|
Ops.push_back(LHS);
|
||||||
@ -5162,7 +5163,7 @@ SDValue DAGCombiner::XformToShuffleWithZero(SDNode *N) {
|
|||||||
std::vector<SDValue> ZeroOps(NumElts, DAG.getConstant(0, EVT));
|
std::vector<SDValue> ZeroOps(NumElts, DAG.getConstant(0, EVT));
|
||||||
Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, VT,
|
Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, VT,
|
||||||
&ZeroOps[0], ZeroOps.size()));
|
&ZeroOps[0], ZeroOps.size()));
|
||||||
Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, VT,
|
Ops.push_back(DAG.getNode(ISD::BUILD_VECTOR, MaskVT,
|
||||||
&IdxOps[0], IdxOps.size()));
|
&IdxOps[0], IdxOps.size()));
|
||||||
SDValue Result = DAG.getNode(ISD::VECTOR_SHUFFLE, VT,
|
SDValue Result = DAG.getNode(ISD::VECTOR_SHUFFLE, VT,
|
||||||
&Ops[0], Ops.size());
|
&Ops[0], Ops.size());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user