Lines Matching refs:v8i32
345 { ISD::SDIV, MVT::v8i32, 6 }, // pmuludq sequence in getArithmeticInstrCost()
346 { ISD::SREM, MVT::v8i32, 8 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
347 { ISD::UDIV, MVT::v8i32, 5 }, // pmuludq sequence in getArithmeticInstrCost()
348 { ISD::UREM, MVT::v8i32, 7 }, // pmuludq+mul+sub sequence in getArithmeticInstrCost()
367 { ISD::SDIV, MVT::v8i32, 12+2 }, // 2*pmuludq sequence + split. in getArithmeticInstrCost()
368 { ISD::SREM, MVT::v8i32, 16+2 }, // 2*pmuludq+mul+sub sequence + split. in getArithmeticInstrCost()
371 { ISD::UDIV, MVT::v8i32, 10+2 }, // 2*pmuludq sequence + split. in getArithmeticInstrCost()
372 { ISD::UREM, MVT::v8i32, 14+2 }, // 2*pmuludq+mul+sub sequence + split. in getArithmeticInstrCost()
436 { ISD::SDIV, MVT::v8i32, 15 }, // vpmuldq sequence in getArithmeticInstrCost()
437 { ISD::SREM, MVT::v8i32, 19 }, // vpmuldq+mul+sub sequence in getArithmeticInstrCost()
438 { ISD::UDIV, MVT::v8i32, 15 }, // vpmuludq sequence in getArithmeticInstrCost()
439 { ISD::UREM, MVT::v8i32, 19 }, // vpmuludq+mul+sub sequence in getArithmeticInstrCost()
466 { ISD::SDIV, MVT::v8i32, 38+2 }, // 2*pmuludq sequence + split. in getArithmeticInstrCost()
467 { ISD::SREM, MVT::v8i32, 48+2 }, // 2*pmuludq+mul+sub sequence + split. in getArithmeticInstrCost()
470 { ISD::UDIV, MVT::v8i32, 30+2 }, // 2*pmuludq sequence + split. in getArithmeticInstrCost()
471 { ISD::UREM, MVT::v8i32, 40+2 }, // 2*pmuludq+mul+sub sequence + split. in getArithmeticInstrCost()
480 if (ISD == ISD::SDIV && LT.second == MVT::v8i32 && ST->hasAVX()) in getArithmeticInstrCost()
482 if (ISD == ISD::SREM && LT.second == MVT::v8i32 && ST->hasAVX()) in getArithmeticInstrCost()
593 { ISD::MUL, MVT::v8i32, 1 }, // pmulld (Skylake from agner.org) in getArithmeticInstrCost()
616 { ISD::SHL, MVT::v8i32, 1 }, in getArithmeticInstrCost()
617 { ISD::SRL, MVT::v8i32, 1 }, in getArithmeticInstrCost()
618 { ISD::SRA, MVT::v8i32, 1 }, in getArithmeticInstrCost()
674 { ISD::SHL, MVT::v8i32, 2+2 }, in getArithmeticInstrCost()
675 { ISD::SRL, MVT::v8i32, 4+2 }, in getArithmeticInstrCost()
676 { ISD::SRA, MVT::v8i32, 4+2 }, in getArithmeticInstrCost()
699 { ISD::SHL, MVT::v8i32, 2+2 }, // 2*pslld + split. in getArithmeticInstrCost()
703 { ISD::SRL, MVT::v8i32, 2+2 }, // 2*psrld + split. in getArithmeticInstrCost()
707 { ISD::SRA, MVT::v8i32, 2+2 }, // 2*psrad + split. in getArithmeticInstrCost()
731 ((VT == MVT::v16i16 || VT == MVT::v8i32) && ST->hasAVX())) in getArithmeticInstrCost()
757 { ISD::SUB, MVT::v8i32, 1 }, // psubd in getArithmeticInstrCost()
758 { ISD::ADD, MVT::v8i32, 1 }, // paddd in getArithmeticInstrCost()
765 { ISD::MUL, MVT::v8i32, 2 }, // pmulld (Haswell from agner.org) in getArithmeticInstrCost()
793 { ISD::MUL, MVT::v8i32, 4 }, in getArithmeticInstrCost()
798 { ISD::SUB, MVT::v8i32, 4 }, in getArithmeticInstrCost()
799 { ISD::ADD, MVT::v8i32, 4 }, in getArithmeticInstrCost()
856 { ISD::SHL, MVT::v8i32, 2*4+2 }, // pslld/paddd/cvttps2dq/pmulld + split in getArithmeticInstrCost()
863 { ISD::SRL, MVT::v8i32, 2*11+2 }, // Shift each lane + blend + split. in getArithmeticInstrCost()
870 { ISD::SRA, MVT::v8i32, 2*12+2 }, // Shift each lane + blend + split. in getArithmeticInstrCost()
1164 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 1}, // vpermd in getShuffleCost()
1175 {TTI::SK_PermuteTwoSrc, MVT::v8i32, 1}, // vpermt2d in getShuffleCost()
1204 {TTI::SK_Broadcast, MVT::v8i32, 1}, // vpbroadcastd in getShuffleCost()
1211 {TTI::SK_Reverse, MVT::v8i32, 1}, // vpermd in getShuffleCost()
1221 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 1}, // vpermd in getShuffleCost()
1230 {TTI::SK_PermuteTwoSrc, MVT::v8i32, 3}, // 2*vpermd + vpblendd in getShuffleCost()
1245 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 2}, // vperm2f128 + vpermil2ps in getShuffleCost()
1267 {TTI::SK_Broadcast, MVT::v8i32, 2}, // vperm2f128 + vpermilps in getShuffleCost()
1274 {TTI::SK_Reverse, MVT::v8i32, 2}, // vperm2f128 + vpermilps in getShuffleCost()
1282 {TTI::SK_Select, MVT::v8i32, 1}, // vblendps in getShuffleCost()
1290 {TTI::SK_PermuteSingleSrc, MVT::v8i32, 4}, // 2*vperm2f128 + 2*vshufps in getShuffleCost()
1299 {TTI::SK_PermuteTwoSrc, MVT::v8i32, 4}, // 2*vperm2f128 + 2*vshufps in getShuffleCost()
1492 { ISD::TRUNCATE, MVT::v8i1, MVT::v8i32, 2 }, // zmm vpslld+vptestmd in getCastInstrCost()
1501 { ISD::TRUNCATE, MVT::v8i32, MVT::v8i64, 1 }, in getCastInstrCost()
1534 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 1 }, // zmm vpternlogd in getCastInstrCost()
1535 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 2 }, // zmm vpternlogd+psrld in getCastInstrCost()
1554 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i32, 1 }, in getCastInstrCost()
1555 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i32, 1 }, in getCastInstrCost()
1567 { ISD::SINT_TO_FP, MVT::v8f64, MVT::v8i32, 1 }, in getCastInstrCost()
1575 { ISD::UINT_TO_FP, MVT::v8f64, MVT::v8i32, 1 }, in getCastInstrCost()
1585 { ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f64, 1 }, in getCastInstrCost()
1661 { ISD::TRUNCATE, MVT::v8i1, MVT::v8i32, 2 }, // vpslld+vptestmd in getCastInstrCost()
1692 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 1 }, // vpternlogd in getCastInstrCost()
1693 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 2 }, // vpternlogd+psrld in getCastInstrCost()
1709 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 1 }, in getCastInstrCost()
1727 { ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f32, 1 }, in getCastInstrCost()
1733 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 3 }, in getCastInstrCost()
1734 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 3 }, in getCastInstrCost()
1737 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 1 }, in getCastInstrCost()
1738 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 1 }, in getCastInstrCost()
1745 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 1 }, in getCastInstrCost()
1746 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 1 }, in getCastInstrCost()
1753 { ISD::TRUNCATE, MVT::v8i1, MVT::v8i32, 2 }, in getCastInstrCost()
1757 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 2 }, in getCastInstrCost()
1758 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 2 }, in getCastInstrCost()
1763 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 8 }, in getCastInstrCost()
1769 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i1, 7 }, in getCastInstrCost()
1770 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i1, 4 }, in getCastInstrCost()
1773 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 4 }, in getCastInstrCost()
1774 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 4 }, in getCastInstrCost()
1781 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
1782 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
1787 { ISD::TRUNCATE, MVT::v8i1, MVT::v8i32, 5 }, in getCastInstrCost()
1793 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 4 }, in getCastInstrCost()
1794 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 5 }, in getCastInstrCost()
1800 { ISD::TRUNCATE, MVT::v8i32, MVT::v8i64, 3 }, in getCastInstrCost()
1814 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i32, 1 }, in getCastInstrCost()
1828 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 9 }, in getCastInstrCost()
1853 { ISD::FP_TO_UINT, MVT::v8i32, MVT::v8f32, 8*4 }, in getCastInstrCost()
1874 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 2 }, in getCastInstrCost()
1875 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 2 }, in getCastInstrCost()
1882 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 2 }, in getCastInstrCost()
1883 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 2 }, in getCastInstrCost()
1897 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 3 }, in getCastInstrCost()
1898 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 3 }, in getCastInstrCost()
1965 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 6 }, in getCastInstrCost()
1966 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 6 }, in getCastInstrCost()
1975 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 3 }, in getCastInstrCost()
1976 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 4 }, in getCastInstrCost()
1998 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 4 }, in getCastInstrCost()
2000 { ISD::TRUNCATE, MVT::v8i16, MVT::v8i32, 5 }, in getCastInstrCost()
2177 { ISD::SETCC, MVT::v8i32, 1 }, in getCmpSelInstrCost()
2182 { ISD::SELECT, MVT::v8i32, 1 }, // pblendvb in getCmpSelInstrCost()
2192 { ISD::SETCC, MVT::v8i32, 4 }, in getCmpSelInstrCost()
2199 { ISD::SELECT, MVT::v8i32, 1 }, // vblendvps in getCmpSelInstrCost()
2300 { ISD::CTLZ, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2418 { ISD::BITREVERSE, MVT::v8i32, 4 }, in getTypeBasedIntrinsicInstrCost()
2432 { ISD::ABS, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2436 { ISD::BITREVERSE, MVT::v8i32, 5 }, in getTypeBasedIntrinsicInstrCost()
2440 { ISD::BSWAP, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2443 { ISD::CTLZ, MVT::v8i32, 18 }, in getTypeBasedIntrinsicInstrCost()
2447 { ISD::CTPOP, MVT::v8i32, 11 }, in getTypeBasedIntrinsicInstrCost()
2451 { ISD::CTTZ, MVT::v8i32, 14 }, in getTypeBasedIntrinsicInstrCost()
2456 { ISD::SMAX, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2459 { ISD::SMIN, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2466 { ISD::UADDSAT, MVT::v8i32, 3 }, // not + pminud + paddd in getTypeBasedIntrinsicInstrCost()
2467 { ISD::UMAX, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2470 { ISD::UMIN, MVT::v8i32, 1 }, in getTypeBasedIntrinsicInstrCost()
2475 { ISD::USUBSAT, MVT::v8i32, 2 }, // pmaxud + psubd in getTypeBasedIntrinsicInstrCost()
2487 { ISD::ABS, MVT::v8i32, 3 }, in getTypeBasedIntrinsicInstrCost()
2491 { ISD::BITREVERSE, MVT::v8i32, 12 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2495 { ISD::BSWAP, MVT::v8i32, 4 }, in getTypeBasedIntrinsicInstrCost()
2498 { ISD::CTLZ, MVT::v8i32, 38 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2502 { ISD::CTPOP, MVT::v8i32, 24 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2506 { ISD::CTTZ, MVT::v8i32, 30 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2511 { ISD::SMAX, MVT::v8i32, 4 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2514 { ISD::SMIN, MVT::v8i32, 4 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2521 { ISD::UADDSAT, MVT::v8i32, 8 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2522 { ISD::UMAX, MVT::v8i32, 4 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2525 { ISD::UMIN, MVT::v8i32, 4 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2530 { ISD::USUBSAT, MVT::v8i32, 6 }, // 2 x 128-bit Op + extract/insert in getTypeBasedIntrinsicInstrCost()
2919 { ISD::ROTL, MVT::v8i32, 1 }, in getIntrinsicInstrCost()
2925 { ISD::ROTR, MVT::v8i32, 1 }, in getIntrinsicInstrCost()
2931 { ISD::ROTL, MVT::v8i32, 4 }, in getIntrinsicInstrCost()
2939 { ISD::ROTR, MVT::v8i32, 6 }, in getIntrinsicInstrCost()
3371 { ISD::ADD, MVT::v8i32, 5 }, in getArithmeticReductionCost()
3452 { ISD::AND, MVT::v8i32, 2 }, // vmovmskps + cmp in getArithmeticReductionCost()
3456 { ISD::OR, MVT::v8i32, 2 }, // vmovmskps + cmp in getArithmeticReductionCost()
3614 {ISD::SMIN, MVT::v8i32, 3}, in getMinMaxCost()
3615 {ISD::UMIN, MVT::v8i32, 3}, in getMinMaxCost()
3623 {ISD::SMIN, MVT::v8i32, 1}, in getMinMaxCost()
3624 {ISD::UMIN, MVT::v8i32, 1}, in getMinMaxCost()