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