Lines Matching refs:ISD

479   int ISD = TLI->InstructionOpcodeToISD(Opcode);  in getCastInstrCost()  local
480 assert(ISD && "Invalid opcode"); in getCastInstrCost()
519 {ISD::SIGN_EXTEND, MVT::i32, MVT::i16, 0}, in getCastInstrCost()
520 {ISD::ZERO_EXTEND, MVT::i32, MVT::i16, 0}, in getCastInstrCost()
521 {ISD::SIGN_EXTEND, MVT::i32, MVT::i8, 0}, in getCastInstrCost()
522 {ISD::ZERO_EXTEND, MVT::i32, MVT::i8, 0}, in getCastInstrCost()
523 {ISD::SIGN_EXTEND, MVT::i16, MVT::i8, 0}, in getCastInstrCost()
524 {ISD::ZERO_EXTEND, MVT::i16, MVT::i8, 0}, in getCastInstrCost()
525 {ISD::SIGN_EXTEND, MVT::i64, MVT::i32, 1}, in getCastInstrCost()
526 {ISD::ZERO_EXTEND, MVT::i64, MVT::i32, 1}, in getCastInstrCost()
527 {ISD::SIGN_EXTEND, MVT::i64, MVT::i16, 1}, in getCastInstrCost()
528 {ISD::ZERO_EXTEND, MVT::i64, MVT::i16, 1}, in getCastInstrCost()
529 {ISD::SIGN_EXTEND, MVT::i64, MVT::i8, 1}, in getCastInstrCost()
530 {ISD::ZERO_EXTEND, MVT::i64, MVT::i8, 1}, in getCastInstrCost()
533 LoadConversionTbl, ISD, DstTy.getSimpleVT(), SrcTy.getSimpleVT())) in getCastInstrCost()
537 {ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i16, 0}, in getCastInstrCost()
538 {ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i16, 0}, in getCastInstrCost()
539 {ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i8, 0}, in getCastInstrCost()
540 {ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i8, 0}, in getCastInstrCost()
541 {ISD::SIGN_EXTEND, MVT::v8i16, MVT::v8i8, 0}, in getCastInstrCost()
542 {ISD::ZERO_EXTEND, MVT::v8i16, MVT::v8i8, 0}, in getCastInstrCost()
546 {ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i16, 1}, in getCastInstrCost()
547 {ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i16, 1}, in getCastInstrCost()
548 {ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 3}, in getCastInstrCost()
549 {ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 3}, in getCastInstrCost()
550 {ISD::SIGN_EXTEND, MVT::v16i16, MVT::v16i8, 1}, in getCastInstrCost()
551 {ISD::ZERO_EXTEND, MVT::v16i16, MVT::v16i8, 1}, in getCastInstrCost()
555 ConvertCostTableLookup(MVELoadConversionTbl, ISD, in getCastInstrCost()
562 {ISD::FP_EXTEND, MVT::v4f32, MVT::v4f16, 1}, in getCastInstrCost()
563 {ISD::FP_EXTEND, MVT::v8f32, MVT::v8f16, 3}, in getCastInstrCost()
567 ConvertCostTableLookup(MVEFLoadConversionTbl, ISD, in getCastInstrCost()
574 {ISD::TRUNCATE, MVT::v4i32, MVT::v4i16, 0}, in getCastInstrCost()
575 {ISD::TRUNCATE, MVT::v4i32, MVT::v4i8, 0}, in getCastInstrCost()
576 {ISD::TRUNCATE, MVT::v8i16, MVT::v8i8, 0}, in getCastInstrCost()
577 {ISD::TRUNCATE, MVT::v8i32, MVT::v8i16, 1}, in getCastInstrCost()
578 {ISD::TRUNCATE, MVT::v8i32, MVT::v8i8, 1}, in getCastInstrCost()
579 {ISD::TRUNCATE, MVT::v16i32, MVT::v16i8, 3}, in getCastInstrCost()
580 {ISD::TRUNCATE, MVT::v16i16, MVT::v16i8, 1}, in getCastInstrCost()
584 ConvertCostTableLookup(MVEStoreConversionTbl, ISD, in getCastInstrCost()
590 {ISD::FP_ROUND, MVT::v4f32, MVT::v4f16, 1}, in getCastInstrCost()
591 {ISD::FP_ROUND, MVT::v8f32, MVT::v8f16, 3}, in getCastInstrCost()
595 ConvertCostTableLookup(MVEFStoreConversionTbl, ISD, in getCastInstrCost()
602 if ((ISD == ISD::SIGN_EXTEND || ISD == ISD::ZERO_EXTEND) && in getCastInstrCost()
606 { ISD::ADD, MVT::v4i32, MVT::v4i16, 0 }, in getCastInstrCost()
607 { ISD::ADD, MVT::v8i16, MVT::v8i8, 0 }, in getCastInstrCost()
609 { ISD::SUB, MVT::v4i32, MVT::v4i16, 0 }, in getCastInstrCost()
610 { ISD::SUB, MVT::v8i16, MVT::v8i8, 0 }, in getCastInstrCost()
612 { ISD::MUL, MVT::v4i32, MVT::v4i16, 0 }, in getCastInstrCost()
613 { ISD::MUL, MVT::v8i16, MVT::v8i8, 0 }, in getCastInstrCost()
615 { ISD::SHL, MVT::v4i32, MVT::v4i16, 0 }, in getCastInstrCost()
616 { ISD::SHL, MVT::v8i16, MVT::v8i8, 0 }, in getCastInstrCost()
630 ((ISD == ISD::FP_ROUND && SrcTy.getScalarType() == MVT::f64 && in getCastInstrCost()
632 (ISD == ISD::FP_EXTEND && SrcTy.getScalarType() == MVT::f32 && in getCastInstrCost()
636 {ISD::FP_ROUND, MVT::v2f64, 2}, in getCastInstrCost()
637 {ISD::FP_EXTEND, MVT::v2f32, 2}, in getCastInstrCost()
638 {ISD::FP_EXTEND, MVT::v4f32, 4}}; in getCastInstrCost()
641 if (const auto *Entry = CostTableLookup(NEONFltDblTbl, ISD, LT.second)) in getCastInstrCost()
649 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
650 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
651 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i32, 1 }, in getCastInstrCost()
652 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i32, 1 }, in getCastInstrCost()
653 { ISD::TRUNCATE, MVT::v4i32, MVT::v4i64, 0 }, in getCastInstrCost()
654 { ISD::TRUNCATE, MVT::v4i16, MVT::v4i32, 1 }, in getCastInstrCost()
657 { ISD::SIGN_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
658 { ISD::ZERO_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
659 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i8, 2 }, in getCastInstrCost()
660 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i8, 2 }, in getCastInstrCost()
661 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i8, 3 }, in getCastInstrCost()
662 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i8, 3 }, in getCastInstrCost()
663 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i16, 2 }, in getCastInstrCost()
664 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i16, 2 }, in getCastInstrCost()
665 { ISD::SIGN_EXTEND, MVT::v4i64, MVT::v4i16, 3 }, in getCastInstrCost()
666 { ISD::ZERO_EXTEND, MVT::v4i64, MVT::v4i16, 3 }, in getCastInstrCost()
667 { ISD::SIGN_EXTEND, MVT::v8i32, MVT::v8i8, 3 }, in getCastInstrCost()
668 { ISD::ZERO_EXTEND, MVT::v8i32, MVT::v8i8, 3 }, in getCastInstrCost()
669 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i8, 7 }, in getCastInstrCost()
670 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i8, 7 }, in getCastInstrCost()
671 { ISD::SIGN_EXTEND, MVT::v8i64, MVT::v8i16, 6 }, in getCastInstrCost()
672 { ISD::ZERO_EXTEND, MVT::v8i64, MVT::v8i16, 6 }, in getCastInstrCost()
673 { ISD::SIGN_EXTEND, MVT::v16i32, MVT::v16i8, 6 }, in getCastInstrCost()
674 { ISD::ZERO_EXTEND, MVT::v16i32, MVT::v16i8, 6 }, in getCastInstrCost()
677 { ISD::TRUNCATE, MVT::v16i8, MVT::v16i32, 6 }, in getCastInstrCost()
678 { ISD::TRUNCATE, MVT::v8i8, MVT::v8i32, 3 }, in getCastInstrCost()
681 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
682 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i32, 1 }, in getCastInstrCost()
684 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i8, 3 }, in getCastInstrCost()
685 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i8, 3 }, in getCastInstrCost()
686 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i16, 2 }, in getCastInstrCost()
687 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i16, 2 }, in getCastInstrCost()
688 { ISD::SINT_TO_FP, MVT::v2f32, MVT::v2i32, 1 }, in getCastInstrCost()
689 { ISD::UINT_TO_FP, MVT::v2f32, MVT::v2i32, 1 }, in getCastInstrCost()
690 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i1, 3 }, in getCastInstrCost()
691 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i1, 3 }, in getCastInstrCost()
692 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i8, 3 }, in getCastInstrCost()
693 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i8, 3 }, in getCastInstrCost()
694 { ISD::SINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 }, in getCastInstrCost()
695 { ISD::UINT_TO_FP, MVT::v4f32, MVT::v4i16, 2 }, in getCastInstrCost()
696 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i16, 4 }, in getCastInstrCost()
697 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i16, 4 }, in getCastInstrCost()
698 { ISD::SINT_TO_FP, MVT::v8f32, MVT::v8i32, 2 }, in getCastInstrCost()
699 { ISD::UINT_TO_FP, MVT::v8f32, MVT::v8i32, 2 }, in getCastInstrCost()
700 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i16, 8 }, in getCastInstrCost()
701 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i16, 8 }, in getCastInstrCost()
702 { ISD::SINT_TO_FP, MVT::v16f32, MVT::v16i32, 4 }, in getCastInstrCost()
703 { ISD::UINT_TO_FP, MVT::v16f32, MVT::v16i32, 4 }, in getCastInstrCost()
705 { ISD::FP_TO_SINT, MVT::v4i32, MVT::v4f32, 1 }, in getCastInstrCost()
706 { ISD::FP_TO_UINT, MVT::v4i32, MVT::v4f32, 1 }, in getCastInstrCost()
707 { ISD::FP_TO_SINT, MVT::v4i8, MVT::v4f32, 3 }, in getCastInstrCost()
708 { ISD::FP_TO_UINT, MVT::v4i8, MVT::v4f32, 3 }, in getCastInstrCost()
709 { ISD::FP_TO_SINT, MVT::v4i16, MVT::v4f32, 2 }, in getCastInstrCost()
710 { ISD::FP_TO_UINT, MVT::v4i16, MVT::v4f32, 2 }, in getCastInstrCost()
713 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 }, in getCastInstrCost()
714 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 }, in getCastInstrCost()
716 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i8, 4 }, in getCastInstrCost()
717 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i8, 4 }, in getCastInstrCost()
718 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i16, 3 }, in getCastInstrCost()
719 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i16, 3 }, in getCastInstrCost()
720 { ISD::SINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 }, in getCastInstrCost()
721 { ISD::UINT_TO_FP, MVT::v2f64, MVT::v2i32, 2 }, in getCastInstrCost()
723 { ISD::FP_TO_SINT, MVT::v2i32, MVT::v2f64, 2 }, in getCastInstrCost()
724 { ISD::FP_TO_UINT, MVT::v2i32, MVT::v2f64, 2 }, in getCastInstrCost()
725 { ISD::FP_TO_SINT, MVT::v8i16, MVT::v8f32, 4 }, in getCastInstrCost()
726 { ISD::FP_TO_UINT, MVT::v8i16, MVT::v8f32, 4 }, in getCastInstrCost()
727 { ISD::FP_TO_SINT, MVT::v16i16, MVT::v16f32, 8 }, in getCastInstrCost()
728 { ISD::FP_TO_UINT, MVT::v16i16, MVT::v16f32, 8 } in getCastInstrCost()
732 if (const auto *Entry = ConvertCostTableLookup(NEONVectorConversionTbl, ISD, in getCastInstrCost()
740 { ISD::FP_TO_SINT, MVT::i1, MVT::f32, 2 }, in getCastInstrCost()
741 { ISD::FP_TO_UINT, MVT::i1, MVT::f32, 2 }, in getCastInstrCost()
742 { ISD::FP_TO_SINT, MVT::i1, MVT::f64, 2 }, in getCastInstrCost()
743 { ISD::FP_TO_UINT, MVT::i1, MVT::f64, 2 }, in getCastInstrCost()
744 { ISD::FP_TO_SINT, MVT::i8, MVT::f32, 2 }, in getCastInstrCost()
745 { ISD::FP_TO_UINT, MVT::i8, MVT::f32, 2 }, in getCastInstrCost()
746 { ISD::FP_TO_SINT, MVT::i8, MVT::f64, 2 }, in getCastInstrCost()
747 { ISD::FP_TO_UINT, MVT::i8, MVT::f64, 2 }, in getCastInstrCost()
748 { ISD::FP_TO_SINT, MVT::i16, MVT::f32, 2 }, in getCastInstrCost()
749 { ISD::FP_TO_UINT, MVT::i16, MVT::f32, 2 }, in getCastInstrCost()
750 { ISD::FP_TO_SINT, MVT::i16, MVT::f64, 2 }, in getCastInstrCost()
751 { ISD::FP_TO_UINT, MVT::i16, MVT::f64, 2 }, in getCastInstrCost()
752 { ISD::FP_TO_SINT, MVT::i32, MVT::f32, 2 }, in getCastInstrCost()
753 { ISD::FP_TO_UINT, MVT::i32, MVT::f32, 2 }, in getCastInstrCost()
754 { ISD::FP_TO_SINT, MVT::i32, MVT::f64, 2 }, in getCastInstrCost()
755 { ISD::FP_TO_UINT, MVT::i32, MVT::f64, 2 }, in getCastInstrCost()
756 { ISD::FP_TO_SINT, MVT::i64, MVT::f32, 10 }, in getCastInstrCost()
757 { ISD::FP_TO_UINT, MVT::i64, MVT::f32, 10 }, in getCastInstrCost()
758 { ISD::FP_TO_SINT, MVT::i64, MVT::f64, 10 }, in getCastInstrCost()
759 { ISD::FP_TO_UINT, MVT::i64, MVT::f64, 10 } in getCastInstrCost()
762 if (const auto *Entry = ConvertCostTableLookup(NEONFloatConversionTbl, ISD, in getCastInstrCost()
770 { ISD::SINT_TO_FP, MVT::f32, MVT::i1, 2 }, in getCastInstrCost()
771 { ISD::UINT_TO_FP, MVT::f32, MVT::i1, 2 }, in getCastInstrCost()
772 { ISD::SINT_TO_FP, MVT::f64, MVT::i1, 2 }, in getCastInstrCost()
773 { ISD::UINT_TO_FP, MVT::f64, MVT::i1, 2 }, in getCastInstrCost()
774 { ISD::SINT_TO_FP, MVT::f32, MVT::i8, 2 }, in getCastInstrCost()
775 { ISD::UINT_TO_FP, MVT::f32, MVT::i8, 2 }, in getCastInstrCost()
776 { ISD::SINT_TO_FP, MVT::f64, MVT::i8, 2 }, in getCastInstrCost()
777 { ISD::UINT_TO_FP, MVT::f64, MVT::i8, 2 }, in getCastInstrCost()
778 { ISD::SINT_TO_FP, MVT::f32, MVT::i16, 2 }, in getCastInstrCost()
779 { ISD::UINT_TO_FP, MVT::f32, MVT::i16, 2 }, in getCastInstrCost()
780 { ISD::SINT_TO_FP, MVT::f64, MVT::i16, 2 }, in getCastInstrCost()
781 { ISD::UINT_TO_FP, MVT::f64, MVT::i16, 2 }, in getCastInstrCost()
782 { ISD::SINT_TO_FP, MVT::f32, MVT::i32, 2 }, in getCastInstrCost()
783 { ISD::UINT_TO_FP, MVT::f32, MVT::i32, 2 }, in getCastInstrCost()
784 { ISD::SINT_TO_FP, MVT::f64, MVT::i32, 2 }, in getCastInstrCost()
785 { ISD::UINT_TO_FP, MVT::f64, MVT::i32, 2 }, in getCastInstrCost()
786 { ISD::SINT_TO_FP, MVT::f32, MVT::i64, 10 }, in getCastInstrCost()
787 { ISD::UINT_TO_FP, MVT::f32, MVT::i64, 10 }, in getCastInstrCost()
788 { ISD::SINT_TO_FP, MVT::f64, MVT::i64, 10 }, in getCastInstrCost()
789 { ISD::UINT_TO_FP, MVT::f64, MVT::i64, 10 } in getCastInstrCost()
794 ISD, DstTy.getSimpleVT(), in getCastInstrCost()
803 { ISD::SIGN_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
804 { ISD::ZERO_EXTEND, MVT::v8i16, MVT::v8i8, 1 }, in getCastInstrCost()
805 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i8, 2 }, in getCastInstrCost()
806 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i8, 2 }, in getCastInstrCost()
807 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i8, 10 }, in getCastInstrCost()
808 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i8, 2 }, in getCastInstrCost()
809 { ISD::SIGN_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
810 { ISD::ZERO_EXTEND, MVT::v4i32, MVT::v4i16, 1 }, in getCastInstrCost()
811 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i16, 10 }, in getCastInstrCost()
812 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i16, 2 }, in getCastInstrCost()
813 { ISD::SIGN_EXTEND, MVT::v2i64, MVT::v2i32, 8 }, in getCastInstrCost()
814 { ISD::ZERO_EXTEND, MVT::v2i64, MVT::v2i32, 2 }, in getCastInstrCost()
819 ISD, DstTy.getSimpleVT(), in getCastInstrCost()
824 if (ISD == ISD::FP_ROUND || ISD == ISD::FP_EXTEND) { in getCastInstrCost()
840 if (ISD == ISD::TRUNCATE && ST->hasMVEIntegerOps() && in getCastInstrCost()
855 { ISD::SIGN_EXTEND, MVT::i64, MVT::i16, 2 }, in getCastInstrCost()
858 { ISD::TRUNCATE, MVT::i32, MVT::i64, 0 }, in getCastInstrCost()
859 { ISD::TRUNCATE, MVT::i16, MVT::i64, 0 }, in getCastInstrCost()
860 { ISD::TRUNCATE, MVT::i8, MVT::i64, 0 }, in getCastInstrCost()
861 { ISD::TRUNCATE, MVT::i1, MVT::i64, 0 } in getCastInstrCost()
865 if (const auto *Entry = ConvertCostTableLookup(ARMIntegerConversionTbl, ISD, in getCastInstrCost()
922 int ISD = TLI->InstructionOpcodeToISD(Opcode); in getCmpSelInstrCost() local
925 if (CostKind == TTI::TCK_CodeSize && ISD == ISD::SELECT && in getCmpSelInstrCost()
995 if (ST->hasNEON() && ValTy->isVectorTy() && ISD == ISD::SELECT && CondTy) { in getCmpSelInstrCost()
998 { ISD::SELECT, MVT::v4i1, MVT::v4i64, 4*4 + 1*2 + 1 }, in getCmpSelInstrCost()
999 { ISD::SELECT, MVT::v8i1, MVT::v8i64, 50 }, in getCmpSelInstrCost()
1000 { ISD::SELECT, MVT::v16i1, MVT::v16i64, 100 } in getCmpSelInstrCost()
1006 if (const auto *Entry = ConvertCostTableLookup(NEONVectorSelectTbl, ISD, in getCmpSelInstrCost()
1221 {ISD::VECTOR_SHUFFLE, MVT::v2i32, 1}, in getShuffleCost()
1222 {ISD::VECTOR_SHUFFLE, MVT::v2f32, 1}, in getShuffleCost()
1223 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, in getShuffleCost()
1224 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, in getShuffleCost()
1225 {ISD::VECTOR_SHUFFLE, MVT::v4i16, 1}, in getShuffleCost()
1226 {ISD::VECTOR_SHUFFLE, MVT::v8i8, 1}, in getShuffleCost()
1228 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 1}, in getShuffleCost()
1229 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 1}, in getShuffleCost()
1230 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 1}, in getShuffleCost()
1231 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 1}}; in getShuffleCost()
1235 CostTableLookup(NEONDupTbl, ISD::VECTOR_SHUFFLE, LT.second)) in getShuffleCost()
1242 {ISD::VECTOR_SHUFFLE, MVT::v2i32, 1}, in getShuffleCost()
1243 {ISD::VECTOR_SHUFFLE, MVT::v2f32, 1}, in getShuffleCost()
1244 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, in getShuffleCost()
1245 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, in getShuffleCost()
1246 {ISD::VECTOR_SHUFFLE, MVT::v4i16, 1}, in getShuffleCost()
1247 {ISD::VECTOR_SHUFFLE, MVT::v8i8, 1}, in getShuffleCost()
1249 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2}, in getShuffleCost()
1250 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 2}, in getShuffleCost()
1251 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 2}, in getShuffleCost()
1252 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 2}}; in getShuffleCost()
1256 CostTableLookup(NEONShuffleTbl, ISD::VECTOR_SHUFFLE, LT.second)) in getShuffleCost()
1265 {ISD::VECTOR_SHUFFLE, MVT::v2f32, 1}, in getShuffleCost()
1266 {ISD::VECTOR_SHUFFLE, MVT::v2i64, 1}, in getShuffleCost()
1267 {ISD::VECTOR_SHUFFLE, MVT::v2f64, 1}, in getShuffleCost()
1268 {ISD::VECTOR_SHUFFLE, MVT::v2i32, 1}, in getShuffleCost()
1270 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 2}, in getShuffleCost()
1271 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 2}, in getShuffleCost()
1272 {ISD::VECTOR_SHUFFLE, MVT::v4i16, 2}, in getShuffleCost()
1274 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 16}, in getShuffleCost()
1276 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 32}}; in getShuffleCost()
1280 ISD::VECTOR_SHUFFLE, LT.second)) in getShuffleCost()
1288 {ISD::VECTOR_SHUFFLE, MVT::v4i32, 1}, in getShuffleCost()
1289 {ISD::VECTOR_SHUFFLE, MVT::v8i16, 1}, in getShuffleCost()
1290 {ISD::VECTOR_SHUFFLE, MVT::v16i8, 1}, in getShuffleCost()
1291 {ISD::VECTOR_SHUFFLE, MVT::v4f32, 1}, in getShuffleCost()
1292 {ISD::VECTOR_SHUFFLE, MVT::v8f16, 1}}; in getShuffleCost()
1295 if (const auto *Entry = CostTableLookup(MVEDupTbl, ISD::VECTOR_SHUFFLE, in getShuffleCost()
1331 case ISD::AND: in getArithmeticInstrCost()
1332 case ISD::XOR: in getArithmeticInstrCost()
1334 case ISD::OR: in getArithmeticInstrCost()
1349 { ISD::SDIV, MVT::v1i64, 1 * FunctionCallDivCost}, in getArithmeticInstrCost()
1350 { ISD::UDIV, MVT::v1i64, 1 * FunctionCallDivCost}, in getArithmeticInstrCost()
1351 { ISD::SREM, MVT::v1i64, 1 * FunctionCallDivCost}, in getArithmeticInstrCost()
1352 { ISD::UREM, MVT::v1i64, 1 * FunctionCallDivCost}, in getArithmeticInstrCost()
1353 { ISD::SDIV, MVT::v2i32, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1354 { ISD::UDIV, MVT::v2i32, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1355 { ISD::SREM, MVT::v2i32, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1356 { ISD::UREM, MVT::v2i32, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1357 { ISD::SDIV, MVT::v4i16, ReciprocalDivCost}, in getArithmeticInstrCost()
1358 { ISD::UDIV, MVT::v4i16, ReciprocalDivCost}, in getArithmeticInstrCost()
1359 { ISD::SREM, MVT::v4i16, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1360 { ISD::UREM, MVT::v4i16, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1361 { ISD::SDIV, MVT::v8i8, ReciprocalDivCost}, in getArithmeticInstrCost()
1362 { ISD::UDIV, MVT::v8i8, ReciprocalDivCost}, in getArithmeticInstrCost()
1363 { ISD::SREM, MVT::v8i8, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1364 { ISD::UREM, MVT::v8i8, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1366 { ISD::SDIV, MVT::v2i64, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1367 { ISD::UDIV, MVT::v2i64, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1368 { ISD::SREM, MVT::v2i64, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1369 { ISD::UREM, MVT::v2i64, 2 * FunctionCallDivCost}, in getArithmeticInstrCost()
1370 { ISD::SDIV, MVT::v4i32, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1371 { ISD::UDIV, MVT::v4i32, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1372 { ISD::SREM, MVT::v4i32, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1373 { ISD::UREM, MVT::v4i32, 4 * FunctionCallDivCost}, in getArithmeticInstrCost()
1374 { ISD::SDIV, MVT::v8i16, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1375 { ISD::UDIV, MVT::v8i16, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1376 { ISD::SREM, MVT::v8i16, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1377 { ISD::UREM, MVT::v8i16, 8 * FunctionCallDivCost}, in getArithmeticInstrCost()
1378 { ISD::SDIV, MVT::v16i8, 16 * FunctionCallDivCost}, in getArithmeticInstrCost()
1379 { ISD::UDIV, MVT::v16i8, 16 * FunctionCallDivCost}, in getArithmeticInstrCost()
1380 { ISD::SREM, MVT::v16i8, 16 * FunctionCallDivCost}, in getArithmeticInstrCost()
1381 { ISD::UREM, MVT::v16i8, 16 * FunctionCallDivCost}, in getArithmeticInstrCost()
1675 int ISD = TLI->InstructionOpcodeToISD(Opcode); in getArithmeticReductionCost() local
1681 if ((ISD == ISD::FADD || ISD == ISD::FMUL) && in getArithmeticReductionCost()
1710 if ((ISD == ISD::AND || ISD == ISD::OR || ISD == ISD::XOR) && in getArithmeticReductionCost()
1738 if (!ST->hasMVEIntegerOps() || !ValVT.isSimple() || ISD != ISD::ADD || in getArithmeticReductionCost()
1745 {ISD::ADD, MVT::v16i8, 1}, in getArithmeticReductionCost()
1746 {ISD::ADD, MVT::v8i16, 1}, in getArithmeticReductionCost()
1747 {ISD::ADD, MVT::v4i32, 1}, in getArithmeticReductionCost()
1749 if (const auto *Entry = CostTableLookup(CostTblAdd, ISD, LT.second)) in getArithmeticReductionCost()
1761 int ISD = TLI->InstructionOpcodeToISD(Opcode); in getExtendedReductionCost() local
1763 switch (ISD) { in getExtendedReductionCost()
1764 case ISD::ADD: in getExtendedReductionCost()
1865 {ISD::SMIN, MVT::v16i8, 4}, in getMinMaxReductionCost()
1866 {ISD::SMIN, MVT::v8i16, 3}, in getMinMaxReductionCost()
1867 {ISD::SMIN, MVT::v4i32, 2}, in getMinMaxReductionCost()
1869 if (const auto *Entry = CostTableLookup(CostTblAdd, ISD::SMIN, LT.second)) in getMinMaxReductionCost()
2044 unsigned ISD = TLI->InstructionOpcodeToISD(I.getOpcode()); in maybeLoweredToCall() local
2046 if (TLI->getOperationAction(ISD, VT) == TargetLowering::LibCall) in maybeLoweredToCall()
2087 switch (ISD) { in maybeLoweredToCall()
2090 case ISD::SDIV: in maybeLoweredToCall()
2091 case ISD::UDIV: in maybeLoweredToCall()
2092 case ISD::SREM: in maybeLoweredToCall()
2093 case ISD::UREM: in maybeLoweredToCall()
2094 case ISD::SDIVREM: in maybeLoweredToCall()
2095 case ISD::UDIVREM: in maybeLoweredToCall()