Lines Matching refs:SRA

360     { ISD::SRA,  MVT::v64i8,   4 }, // psrlw, pand, pxor, psubb.  in getArithmeticInstrCost()
371 { ISD::SRA, MVT::v2i64, 1 }, in getArithmeticInstrCost()
372 { ISD::SRA, MVT::v4i64, 1 }, in getArithmeticInstrCost()
373 { ISD::SRA, MVT::v8i64, 1 }, in getArithmeticInstrCost()
377 { ISD::SRA, MVT::v64i8, 8 }, // psrlw, pand, pxor, psubb. in getArithmeticInstrCost()
395 { ISD::SRA, MVT::v32i8, 4 }, // psrlw, pand, pxor, psubb. in getArithmeticInstrCost()
397 { ISD::SRA, MVT::v4i64, 4 }, // 2 x psrad + shuffle. in getArithmeticInstrCost()
415 { ISD::SRA, MVT::v16i8, 4 }, // psrlw, pand, pxor, psubb. in getArithmeticInstrCost()
419 { ISD::SRA, MVT::v32i8, 8+2 }, // 2*(psrlw, pand, pxor, psubb) + split. in getArithmeticInstrCost()
550 { ISD::SRA, MVT::v16i8, 4 }, // extend/vpsravw/pack sequence. in getArithmeticInstrCost()
553 { ISD::SRA, MVT::v32i8, 6 }, // extend/vpsravw/pack sequence. in getArithmeticInstrCost()
556 { ISD::SRA, MVT::v64i8, 15 }, // extend/vpsravw/pack sequence. in getArithmeticInstrCost()
560 { ISD::SRA, MVT::v8i16, 1 }, // vpsravw in getArithmeticInstrCost()
563 { ISD::SRA, MVT::v16i16, 1 }, // vpsravw in getArithmeticInstrCost()
566 { ISD::SRA, MVT::v32i16, 1 }, // vpsravw in getArithmeticInstrCost()
577 { ISD::SRA, MVT::v16i16, 1 }, // psraw. in getArithmeticInstrCost()
580 { ISD::SRA, MVT::v32i16, 2 }, // 2*psraw. in getArithmeticInstrCost()
584 { ISD::SRA, MVT::v8i32, 1 }, // psrad in getArithmeticInstrCost()
607 { ISD::SRA, MVT::v8i16, 1 }, // psraw. in getArithmeticInstrCost()
608 { ISD::SRA, MVT::v4i32, 1 }, // psrad. in getArithmeticInstrCost()
633 { ISD::SRA, MVT::v64i8, 24 }, // vpblendvb sequence. in getArithmeticInstrCost()
644 { ISD::SRA, MVT::v4i32, 1 }, in getArithmeticInstrCost()
647 { ISD::SRA, MVT::v8i32, 1 }, in getArithmeticInstrCost()
650 { ISD::SRA, MVT::v16i32, 1 }, in getArithmeticInstrCost()
659 { ISD::SRA, MVT::v2i64, 1 }, in getArithmeticInstrCost()
660 { ISD::SRA, MVT::v4i64, 1 }, in getArithmeticInstrCost()
661 { ISD::SRA, MVT::v8i64, 1 }, in getArithmeticInstrCost()
697 { ISD::SRA, MVT::v4i32, 2 }, // vpsravd (Haswell from agner.org) in getArithmeticInstrCost()
700 { ISD::SRA, MVT::v8i32, 2 }, // vpsravd (Haswell from agner.org) in getArithmeticInstrCost()
739 { ISD::SRA, MVT::v16i8, 2 }, in getArithmeticInstrCost()
742 { ISD::SRA, MVT::v8i16, 2 }, in getArithmeticInstrCost()
745 { ISD::SRA, MVT::v4i32, 2 }, in getArithmeticInstrCost()
748 { ISD::SRA, MVT::v2i64, 2 }, in getArithmeticInstrCost()
752 { ISD::SRA, MVT::v32i8, 4+2 }, in getArithmeticInstrCost()
755 { ISD::SRA, MVT::v16i16, 4+2 }, in getArithmeticInstrCost()
758 { ISD::SRA, MVT::v8i32, 4+2 }, in getArithmeticInstrCost()
761 { ISD::SRA, MVT::v4i64, 4+2 }, in getArithmeticInstrCost()
769 if ((ShiftISD == ISD::SRL || ShiftISD == ISD::SRA) && in getArithmeticInstrCost()
788 { ISD::SRA, MVT::v16i16, 2+2 }, // 2*psraw + split. in getArithmeticInstrCost()
789 { ISD::SRA, MVT::v8i32, 2+2 }, // 2*psrad + split. in getArithmeticInstrCost()
790 { ISD::SRA, MVT::v2i64, 4 }, // 2*psrad + shuffle. in getArithmeticInstrCost()
791 { ISD::SRA, MVT::v4i64, 8+2 }, // 2*(2*psrad + shuffle) + split. in getArithmeticInstrCost()
799 if (ISD == ISD::SRA && LT.second == MVT::v4i64 && ST->hasAVX2()) in getArithmeticInstrCost()
832 { ISD::SRA, MVT::v16i8, 17 }, // vpblendvb sequence. in getArithmeticInstrCost()
833 { ISD::SRA, MVT::v32i8, 17 }, // vpblendvb sequence. in getArithmeticInstrCost()
834 { ISD::SRA, MVT::v64i8, 34 }, // 2*vpblendvb sequence. in getArithmeticInstrCost()
835 { ISD::SRA, MVT::v8i16, 5 }, // extend/vpsravd/pack sequence. in getArithmeticInstrCost()
836 { ISD::SRA, MVT::v16i16, 7 }, // extend/vpsravd/pack sequence. in getArithmeticInstrCost()
837 { ISD::SRA, MVT::v32i16, 14 }, // 2*extend/vpsravd/pack sequence. in getArithmeticInstrCost()
838 { ISD::SRA, MVT::v2i64, 2 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
839 { ISD::SRA, MVT::v4i64, 2 }, // srl/xor/sub sequence. in getArithmeticInstrCost()
910 { ISD::SRA, MVT::v32i8, 44 }, // pblendvb sequence + split. in getArithmeticInstrCost()
911 { ISD::SRA, MVT::v16i16, 28 }, // pblendvb sequence + split. in getArithmeticInstrCost()
912 { ISD::SRA, MVT::v4i32, 6 }, // Shift each lane + blend. in getArithmeticInstrCost()
913 { ISD::SRA, MVT::v8i32, 14 }, // Shift each lane + blend + split. in getArithmeticInstrCost()
914 { ISD::SRA, MVT::v2i64, 5 }, // Shift each lane + blend. in getArithmeticInstrCost()
915 { ISD::SRA, MVT::v4i64, 12 }, // Shift each lane + blend + split. in getArithmeticInstrCost()
973 { ISD::SRA, MVT::v16i8, 21 }, // pblendvb sequence. in getArithmeticInstrCost()
974 { ISD::SRA, MVT::v8i16, 13 }, // pblendvb sequence. in getArithmeticInstrCost()
996 { ISD::SRA, MVT::v16i8, 27 }, // unpacked cmpgtb sequence. in getArithmeticInstrCost()
997 { ISD::SRA, MVT::v8i16, 16 }, // cmpgtw sequence. in getArithmeticInstrCost()
998 { ISD::SRA, MVT::v4i32, 12 }, // Shift each lane + blend. in getArithmeticInstrCost()
999 { ISD::SRA, MVT::v2i64, 8 }, // srl/xor/sub splat+shuffle sequence. in getArithmeticInstrCost()