|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/AArch64/AArch64ISelLowering.cpp 6946 if (Lane == 0 && V1.getOpcode() == ISD::SCALAR_TO_VECTOR)
6947 return DAG.getNode(AArch64ISD::DUP, dl, V1.getValueType(),
6948 V1.getOperand(0));
6951 if (V1.getOpcode() == ISD::BUILD_VECTOR &&
6952 !isa<ConstantSDNode>(V1.getOperand(Lane)))
6953 return DAG.getNode(AArch64ISD::DUP, dl, VT, V1.getOperand(Lane));
6956 unsigned Opcode = getDUPLANEOp(V1.getValueType().getVectorElementType());
6961 if (V1.getOpcode() == ISD::EXTRACT_SUBVECTOR) {
6962 Lane += cast<ConstantSDNode>(V1.getOperand(1))->getZExtValue();
6963 V1 = V1.getOperand(0);
6963 V1 = V1.getOperand(0);
6964 } else if (V1.getOpcode() == ISD::CONCAT_VECTORS) {
6967 V1 = WidenVector(V1.getOperand(Idx), DAG);
6967 V1 = WidenVector(V1.getOperand(Idx), DAG);
6969 V1 = WidenVector(V1, DAG);
6969 V1 = WidenVector(V1, DAG);
6971 return DAG.getNode(Opcode, dl, VT, V1, DAG.getConstant(Lane, dl, MVT::i64));
6975 return DAG.getNode(AArch64ISD::REV64, dl, V1.getValueType(), V1, V2);
6975 return DAG.getNode(AArch64ISD::REV64, dl, V1.getValueType(), V1, V2);
6977 return DAG.getNode(AArch64ISD::REV32, dl, V1.getValueType(), V1, V2);
6977 return DAG.getNode(AArch64ISD::REV32, dl, V1.getValueType(), V1, V2);
6979 return DAG.getNode(AArch64ISD::REV16, dl, V1.getValueType(), V1, V2);
6979 return DAG.getNode(AArch64ISD::REV16, dl, V1.getValueType(), V1, V2);
6985 std::swap(V1, V2);
6986 Imm *= getExtFactor(V1);
6987 return DAG.getNode(AArch64ISD::EXT, dl, V1.getValueType(), V1, V2,
6987 return DAG.getNode(AArch64ISD::EXT, dl, V1.getValueType(), V1, V2,
6990 Imm *= getExtFactor(V1);
6991 return DAG.getNode(AArch64ISD::EXT, dl, V1.getValueType(), V1, V1,
6991 return DAG.getNode(AArch64ISD::EXT, dl, V1.getValueType(), V1, V1,
6991 return DAG.getNode(AArch64ISD::EXT, dl, V1.getValueType(), V1, V1,
6998 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
6998 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
7002 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
7002 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
7006 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
7006 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V2);
7011 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7011 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7011 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7015 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7015 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7015 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7019 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7019 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7019 return DAG.getNode(Opc, dl, V1.getValueType(), V1, V1);
7027 int NumInputElements = V1.getValueType().getVectorNumElements();
7029 SDValue DstVec = DstIsLeft ? V1 : V2;
7032 SDValue SrcVec = V1;
7070 return GeneratePerfectShuffle(PFEntry, V1, V2, DAG, dl);