Lines Matching refs:v4i32
222 { ISD::MUL, MVT::v4i32, 11 }, // pmulld in getArithmeticInstrCost()
245 if (Args.size() == 2 && ISD == ISD::MUL && LT.second == MVT::v4i32) { in getArithmeticInstrCost()
385 { ISD::SDIV, MVT::v4i32, 6 }, // pmuludq sequence in getArithmeticInstrCost()
386 { ISD::SREM, MVT::v4i32, 8 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
389 { ISD::UDIV, MVT::v4i32, 5 }, // pmuludq sequence in getArithmeticInstrCost()
390 { ISD::UREM, MVT::v4i32, 7 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
484 { ISD::SDIV, MVT::v4i32, 19 }, // pmuludq sequence in getArithmeticInstrCost()
485 { ISD::SREM, MVT::v4i32, 24 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
488 { ISD::UDIV, MVT::v4i32, 15 }, // pmuludq sequence in getArithmeticInstrCost()
489 { ISD::UREM, MVT::v4i32, 20 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
500 if (ISD == ISD::SDIV && LT.second == MVT::v4i32 && ST->hasSSE41()) in getArithmeticInstrCost()
502 if (ISD == ISD::SREM && LT.second == MVT::v4i32 && ST->hasSSE41()) in getArithmeticInstrCost()
562 { ISD::SHL, MVT::v4i32, 1 }, // pslld in getArithmeticInstrCost()
566 { ISD::SRL, MVT::v4i32, 1 }, // psrld. in getArithmeticInstrCost()
570 { ISD::SRA, MVT::v4i32, 1 }, // psrad. in getArithmeticInstrCost()
604 { ISD::SHL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
605 { ISD::SRL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
606 { ISD::SRA, MVT::v4i32, 1 }, in getArithmeticInstrCost()
627 { ISD::MUL, MVT::v4i32, 1 }, // pmulld (Skylake from agner.org) in getArithmeticInstrCost()
656 { ISD::SHL, MVT::v4i32, 2 }, // vpsllvd (Haswell from agner.org) in getArithmeticInstrCost()
657 { ISD::SRL, MVT::v4i32, 2 }, // vpsrlvd (Haswell from agner.org) in getArithmeticInstrCost()
658 { ISD::SRA, MVT::v4i32, 2 }, // vpsravd (Haswell from agner.org) in getArithmeticInstrCost()
681 if (ST->hasAVX2() && !(ST->hasXOP() && LT.second == MVT::v4i32)) { in getArithmeticInstrCost()
704 { ISD::SHL, MVT::v4i32, 1 }, in getArithmeticInstrCost()
705 { ISD::SRL, MVT::v4i32, 2 }, in getArithmeticInstrCost()
706 { ISD::SRA, MVT::v4i32, 2 }, in getArithmeticInstrCost()
773 if (((VT == MVT::v8i16 || VT == MVT::v4i32) && ST->hasSSE2()) || in getArithmeticInstrCost()
859 { ISD::SHL, MVT::v4i32, 3 }, // pslld/paddd/cvttps2dq/pmulld in getArithmeticInstrCost()
866 { ISD::SRL, MVT::v4i32, 6 }, // Shift each lane + blend. in getArithmeticInstrCost()
873 { ISD::SRA, MVT::v4i32, 6 }, // Shift each lane + blend. in getArithmeticInstrCost()
928 { ISD::SHL, MVT::v4i32, 4 }, // pslld/paddd/cvttps2dq/pmulld in getArithmeticInstrCost()
932 { ISD::SRL, MVT::v4i32, 16 }, // Shift each lane + blend. in getArithmeticInstrCost()
937 { ISD::MUL, MVT::v4i32, 2 } // pmulld (Nehalem from agner.org) in getArithmeticInstrCost()
949 { ISD::SHL, MVT::v4i32, 16 }, // pslld/paddd/cvttps2dq/pmuludq. in getArithmeticInstrCost()
954 { ISD::SRL, MVT::v4i32, 12 }, // Shift each lane + blend. in getArithmeticInstrCost()
959 { ISD::SRA, MVT::v4i32, 12 }, // Shift each lane + blend. in getArithmeticInstrCost()
963 { ISD::MUL, MVT::v4i32, 6 }, // 3*pmuludq/4*shuffle in getArithmeticInstrCost()
1268 {TTI::SK_PermuteSingleSrc, MVT::v4i32, 1}, // vpermd in getShuffleCost()
1282 {TTI::SK_PermuteTwoSrc, MVT::v4i32, 1}, // vpermt2d in getShuffleCost()
1416 {TTI::SK_Select, MVT::v4i32, 1}, // pblendw in getShuffleCost()
1450 {TTI::SK_Broadcast, MVT::v4i32, 1}, // pshufd in getShuffleCost()
1456 {TTI::SK_Reverse, MVT::v4i32, 1}, // pshufd in getShuffleCost()
1463 {TTI::SK_Select, MVT::v4i32, 2}, // 2*shufps in getShuffleCost()
1469 {TTI::SK_PermuteSingleSrc, MVT::v4i32, 1}, // pshufd in getShuffleCost()
1477 { TTI::SK_PermuteTwoSrc, MVT::v4i32, 2 }, // 2*{unpck,movsd,pshufd} in getShuffleCost()
1600 { ISD::TRUNCATE, MVT::v4i1, MVT::v4i32, 2 }, // zmm vpslld+vptestmd in getCastInstrCost()
1607 { ISD::TRUNCATE, MVT::v4i8, MVT::v4i32, 2 }, // vpmovdb in getCastInstrCost()
1615 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 1 }, // zmm vpmovqd in getCastInstrCost()
1645 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i1, 1 }, // zmm vpternlogd in getCastInstrCost()
1646 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i1, 2 }, // zmm vpternlogd+psrld in getCastInstrCost()
1780 { ISD::TRUNCATE, MVT::v4i1, MVT::v4i32, 2 }, // vpslld+vptestmd in getCastInstrCost()
1784 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 1 }, // vpmovqd in getCastInstrCost()
1813 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i1, 1 }, // vpternlogd in getCastInstrCost()
1814 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i1, 2 }, // vpternlogd+psrld in getCastInstrCost()
1832 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 1 }, in getCastInstrCost()
1833 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 1 }, in getCastInstrCost()
1847 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
1848 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 }, in getCastInstrCost()
1860 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 1 }, in getCastInstrCost()
1861 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v2f64, 1 }, in getCastInstrCost()
1862 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f64, 1 }, in getCastInstrCost()
1887 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 2 }, in getCastInstrCost()
1888 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 2 }, in getCastInstrCost()
1893 { ISD::TRUNCATE, MVT::v16i8, MVT::v4i32, 1 }, in getCastInstrCost()
1897 { ISD::TRUNCATE, MVT::v8i16, MVT::v4i32, 1 }, in getCastInstrCost()
1900 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 1 }, in getCastInstrCost()
1907 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f64, 1 }, in getCastInstrCost()
1914 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 3 }, in getCastInstrCost()
1915 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v2f64, 4 }, in getCastInstrCost()
1916 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f64, 4 }, in getCastInstrCost()
1924 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 1 }, in getCastInstrCost()
1934 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 2 }, in getCastInstrCost()
1935 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 2 }, in getCastInstrCost()
1958 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i32, 3 }, in getCastInstrCost()
1959 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i32, 3 }, in getCastInstrCost()
1972 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 2 }, in getCastInstrCost()
1981 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 2 }, in getCastInstrCost()
1996 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 5 }, in getCastInstrCost()
1997 { ISD::UINT_TO_FP, MVT::v4f64, MVT::v4i32, 6 }, in getCastInstrCost()
2013 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f64, 2 }, in getCastInstrCost()
2025 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 3 }, in getCastInstrCost()
2026 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v2f64, 4 }, in getCastInstrCost()
2027 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f64, 6 }, in getCastInstrCost()
2038 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v16i8, 1 }, in getCastInstrCost()
2039 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v16i8, 1 }, in getCastInstrCost()
2044 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v8i16, 1 }, in getCastInstrCost()
2045 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v8i16, 1 }, in getCastInstrCost()
2046 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v4i32, 1 }, in getCastInstrCost()
2047 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v4i32, 1 }, in getCastInstrCost()
2054 { ISD::TRUNCATE, MVT::v16i8, MVT::v4i32, 2 }, in getCastInstrCost()
2055 { ISD::TRUNCATE, MVT::v8i16, MVT::v4i32, 2 }, in getCastInstrCost()
2066 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
2067 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v4i32, 1 }, in getCastInstrCost()
2068 { ISD::SINT_TO_FP, MVT::v4f64, MVT::v4i32, 2 }, in getCastInstrCost()
2079 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 3 }, in getCastInstrCost()
2080 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v4i32, 2 }, in getCastInstrCost()
2093 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f32, 1 }, in getCastInstrCost()
2094 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v2f64, 1 }, in getCastInstrCost()
2104 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 4 }, in getCastInstrCost()
2105 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v2f64, 4 }, in getCastInstrCost()
2120 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 3 }, in getCastInstrCost()
2121 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v4i32, 4 }, in getCastInstrCost()
2134 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v4i32, 7 }, in getCastInstrCost()
2135 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 5 }, in getCastInstrCost()
2147 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f32, 4 }, in getCastInstrCost()
2148 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v2f64, 4 }, in getCastInstrCost()
2158 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 8 }, in getCastInstrCost()
2159 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v2f64, 8 }, in getCastInstrCost()
2163 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v16i8, 2 }, in getCastInstrCost()
2164 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v16i8, 3 }, in getCastInstrCost()
2169 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v8i16, 1 }, in getCastInstrCost()
2170 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v8i16, 2 }, in getCastInstrCost()
2171 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v4i32, 1 }, in getCastInstrCost()
2172 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v4i32, 2 }, in getCastInstrCost()
2184 { ISD::TRUNCATE, MVT::v16i8, MVT::v4i32, 3 }, // PAND+2*PACKUSWB in getCastInstrCost()
2187 { ISD::TRUNCATE, MVT::v8i16, MVT::v4i32, 3 }, in getCastInstrCost()
2192 { ISD::TRUNCATE, MVT::v4i32, MVT::v2i64, 1 }, // PSHUFD in getCastInstrCost()
2478 { ISD::SELECT, MVT::v4i32, 1 }, // pblendvb in getCmpSelInstrCost()
2487 { ISD::SETCC, MVT::v4i32, 1 }, in getCmpSelInstrCost()
2493 { ISD::SELECT, MVT::v4i32, 3 }, // pand + pandn + por in getCmpSelInstrCost()
2569 { ISD::CTLZ, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2693 { ISD::BITREVERSE, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2828 { ISD::USUBSAT, MVT::v4i32, 2 }, // pmaxud + psubd in getTypeBasedIntrinsicInstrCost()
2829 { ISD::UADDSAT, MVT::v4i32, 3 }, // not + pminud + paddd in getTypeBasedIntrinsicInstrCost()
2835 { ISD::SMAX, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2837 { ISD::SMIN, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2839 { ISD::UMAX, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2841 { ISD::UMIN, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2845 { ISD::ABS, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2849 { ISD::BITREVERSE, MVT::v4i32, 5 }, in getTypeBasedIntrinsicInstrCost()
2853 { ISD::BSWAP, MVT::v4i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2856 { ISD::CTLZ, MVT::v4i32, 18 }, in getTypeBasedIntrinsicInstrCost()
2860 { ISD::CTPOP, MVT::v4i32, 11 }, in getTypeBasedIntrinsicInstrCost()
2864 { ISD::CTTZ, MVT::v4i32, 14 }, in getTypeBasedIntrinsicInstrCost()
2870 { ISD::ABS, MVT::v4i32, 3 }, in getTypeBasedIntrinsicInstrCost()
2874 { ISD::BITREVERSE, MVT::v4i32, 27 }, in getTypeBasedIntrinsicInstrCost()
2878 { ISD::BSWAP, MVT::v4i32, 7 }, in getTypeBasedIntrinsicInstrCost()
2881 { ISD::CTLZ, MVT::v4i32, 26 }, in getTypeBasedIntrinsicInstrCost()
2885 { ISD::CTPOP, MVT::v4i32, 15 }, in getTypeBasedIntrinsicInstrCost()
2889 { ISD::CTTZ, MVT::v4i32, 18 }, in getTypeBasedIntrinsicInstrCost()
3207 { ISD::ROTL, MVT::v4i32, 1 }, in getIntrinsicInstrCost()
3213 { ISD::ROTR, MVT::v4i32, 1 } in getIntrinsicInstrCost()
3222 { ISD::ROTL, MVT::v4i32, 1 }, in getIntrinsicInstrCost()
3230 { ISD::ROTR, MVT::v4i32, 2 }, in getIntrinsicInstrCost()
3768 { ISD::ADD, MVT::v4i32, 3 }, // The data reported by the IACA tool is "3.3". in getArithmeticReductionCost()
3886 { ISD::AND, MVT::v4i32, 2 }, // movmskps + cmp in getArithmeticReductionCost()
3890 { ISD::OR, MVT::v4i32, 2 }, // movmskps + cmp in getArithmeticReductionCost()
4023 {ISD::SMIN, MVT::v4i32, 1}, in getMinMaxCost()
4024 {ISD::UMIN, MVT::v4i32, 1}, in getMinMaxCost()