reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/PowerPC/PPCISelLowering.cpp
  563       setOperationAction(ISD::ADD, VT, Legal);
  564       setOperationAction(ISD::SUB, VT, Legal);
  568       if (VT.getSizeInBits() <= 128 && VT.getScalarSizeInBits() <= 64) {
  568       if (VT.getSizeInBits() <= 128 && VT.getScalarSizeInBits() <= 64) {
  569         setOperationAction(ISD::SMAX, VT, Legal);
  570         setOperationAction(ISD::SMIN, VT, Legal);
  571         setOperationAction(ISD::UMAX, VT, Legal);
  572         setOperationAction(ISD::UMIN, VT, Legal);
  575         setOperationAction(ISD::SMAX, VT, Expand);
  576         setOperationAction(ISD::SMIN, VT, Expand);
  577         setOperationAction(ISD::UMAX, VT, Expand);
  578         setOperationAction(ISD::UMIN, VT, Expand);
  582         setOperationAction(ISD::FMAXNUM, VT, Legal);
  583         setOperationAction(ISD::FMINNUM, VT, Legal);
  587       if (Subtarget.hasP8Altivec() && (VT.SimpleTy != MVT::v1i128)) {
  588         setOperationAction(ISD::CTPOP, VT, Legal);
  589         setOperationAction(ISD::CTLZ, VT, Legal);
  592         setOperationAction(ISD::CTPOP, VT, Expand);
  593         setOperationAction(ISD::CTLZ, VT, Expand);
  597       if (Subtarget.hasP9Altivec() && (VT.SimpleTy != MVT::v1i128))
  598         setOperationAction(ISD::CTTZ, VT, Legal);
  600         setOperationAction(ISD::CTTZ, VT, Expand);
  603       setOperationAction(ISD::VECTOR_SHUFFLE, VT, Promote);
  604       AddPromotedToType (ISD::VECTOR_SHUFFLE, VT, MVT::v16i8);
  607       setOperationAction(ISD::AND   , VT, Promote);
  608       AddPromotedToType (ISD::AND   , VT, MVT::v4i32);
  609       setOperationAction(ISD::OR    , VT, Promote);
  610       AddPromotedToType (ISD::OR    , VT, MVT::v4i32);
  611       setOperationAction(ISD::XOR   , VT, Promote);
  612       AddPromotedToType (ISD::XOR   , VT, MVT::v4i32);
  613       setOperationAction(ISD::LOAD  , VT, Promote);
  614       AddPromotedToType (ISD::LOAD  , VT, MVT::v4i32);
  615       setOperationAction(ISD::SELECT, VT, Promote);
  616       AddPromotedToType (ISD::SELECT, VT, MVT::v4i32);
  617       setOperationAction(ISD::VSELECT, VT, Legal);
  618       setOperationAction(ISD::SELECT_CC, VT, Promote);
  619       AddPromotedToType (ISD::SELECT_CC, VT, MVT::v4i32);
  620       setOperationAction(ISD::STORE, VT, Promote);
  621       AddPromotedToType (ISD::STORE, VT, MVT::v4i32);
  624       setOperationAction(ISD::MUL , VT, Expand);
  625       setOperationAction(ISD::SDIV, VT, Expand);
  626       setOperationAction(ISD::SREM, VT, Expand);
  627       setOperationAction(ISD::UDIV, VT, Expand);
  628       setOperationAction(ISD::UREM, VT, Expand);
  629       setOperationAction(ISD::FDIV, VT, Expand);
  630       setOperationAction(ISD::FREM, VT, Expand);
  631       setOperationAction(ISD::FNEG, VT, Expand);
  632       setOperationAction(ISD::FSQRT, VT, Expand);
  633       setOperationAction(ISD::FLOG, VT, Expand);
  634       setOperationAction(ISD::FLOG10, VT, Expand);
  635       setOperationAction(ISD::FLOG2, VT, Expand);
  636       setOperationAction(ISD::FEXP, VT, Expand);
  637       setOperationAction(ISD::FEXP2, VT, Expand);
  638       setOperationAction(ISD::FSIN, VT, Expand);
  639       setOperationAction(ISD::FCOS, VT, Expand);
  640       setOperationAction(ISD::FABS, VT, Expand);
  641       setOperationAction(ISD::FFLOOR, VT, Expand);
  642       setOperationAction(ISD::FCEIL,  VT, Expand);
  643       setOperationAction(ISD::FTRUNC, VT, Expand);
  644       setOperationAction(ISD::FRINT,  VT, Expand);
  645       setOperationAction(ISD::FNEARBYINT, VT, Expand);
  646       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Expand);
  647       setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Expand);
  648       setOperationAction(ISD::BUILD_VECTOR, VT, Expand);
  649       setOperationAction(ISD::MULHU, VT, Expand);
  650       setOperationAction(ISD::MULHS, VT, Expand);
  651       setOperationAction(ISD::UMUL_LOHI, VT, Expand);
  652       setOperationAction(ISD::SMUL_LOHI, VT, Expand);
  653       setOperationAction(ISD::UDIVREM, VT, Expand);
  654       setOperationAction(ISD::SDIVREM, VT, Expand);
  655       setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Expand);
  656       setOperationAction(ISD::FPOW, VT, Expand);
  657       setOperationAction(ISD::BSWAP, VT, Expand);
  658       setOperationAction(ISD::SIGN_EXTEND_INREG, VT, Expand);
  659       setOperationAction(ISD::ROTL, VT, Expand);
  660       setOperationAction(ISD::ROTR, VT, Expand);
  663         setTruncStoreAction(VT, InnerVT, Expand);
  664         setLoadExtAction(ISD::SEXTLOAD, VT, InnerVT, Expand);
  665         setLoadExtAction(ISD::ZEXTLOAD, VT, InnerVT, Expand);
  666         setLoadExtAction(ISD::EXTLOAD, VT, InnerVT, Expand);