reference, declarationdefinition
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);