|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp 886 V0 = DAG.getTargetExtractSubreg(Hexagon::vsub_lo, dl, SingleTy, VecV);
887 V1 = DAG.getTargetExtractSubreg(Hexagon::vsub_hi, dl, SingleTy, VecV);
890 dl, MVT::i32);
891 PickHi = DAG.getSetCC(dl, MVT::i1, IdxV, HalfV, ISD::SETUGT);
897 return DAG.getTargetInsertSubreg(SubIdx, dl, VecTy, VecV, SubV);
902 SDValue InLo = DAG.getNode(ISD::CONCAT_VECTORS, dl, VecTy, {SubV, V1});
903 SDValue InHi = DAG.getNode(ISD::CONCAT_VECTORS, dl, VecTy, {V0, SubV});
904 return DAG.getNode(ISD::SELECT, dl, VecTy, PickHi, InHi, InLo);
909 SDValue S = DAG.getNode(ISD::SUB, dl, MVT::i32, IdxV, HalfV);
910 IdxV = DAG.getNode(ISD::SELECT, dl, MVT::i32, PickHi, S, IdxV);
911 SingleV = DAG.getNode(ISD::SELECT, dl, SingleTy, PickHi, V1, V0);
920 IdxV = DAG.getNode(ISD::MUL, dl, MVT::i32, IdxV,
921 DAG.getConstant(ElemWidth/8, dl, MVT::i32));
922 SingleV = DAG.getNode(HexagonISD::VROR, dl, SingleTy, SingleV, IdxV);
930 SingleV = DAG.getNode(HexagonISD::VINSERTW0, dl, SingleTy, V);
933 SDValue R0 = DAG.getTargetExtractSubreg(Hexagon::isub_lo, dl, MVT::i32, V);
934 SDValue R1 = DAG.getTargetExtractSubreg(Hexagon::isub_hi, dl, MVT::i32, V);
935 SingleV = DAG.getNode(HexagonISD::VINSERTW0, dl, SingleTy, SingleV, R0);
936 SingleV = DAG.getNode(HexagonISD::VROR, dl, SingleTy, SingleV,
937 DAG.getConstant(4, dl, MVT::i32));
938 SingleV = DAG.getNode(HexagonISD::VINSERTW0, dl, SingleTy, SingleV, R1);
943 SDValue RolV = DAG.getNode(ISD::SUB, dl, MVT::i32,
944 DAG.getConstant(RolBase, dl, MVT::i32), IdxV);
945 SingleV = DAG.getNode(HexagonISD::VROR, dl, SingleTy, SingleV, RolV);
949 SDValue InLo = DAG.getNode(ISD::CONCAT_VECTORS, dl, VecTy, {SingleV, V1});
950 SDValue InHi = DAG.getNode(ISD::CONCAT_VECTORS, dl, VecTy, {V0, SingleV});
951 return DAG.getNode(ISD::SELECT, dl, VecTy, PickHi, InHi, InLo);