Lines Matching full:legal

492   // Conversion to/from FP16/FP16x2 is always legal.  in NVPTXTargetLowering()
498 setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Legal); in NVPTXTargetLowering()
500 setOperationAction(ISD::READSTEADYCOUNTER, MVT::i64, Legal); in NVPTXTargetLowering()
502 setFP16OperationAction(ISD::SETCC, MVT::f16, Legal, Promote); in NVPTXTargetLowering()
503 setFP16OperationAction(ISD::SETCC, MVT::v2f16, Legal, Expand); in NVPTXTargetLowering()
505 // Conversion to/from BFP16/BFP16x2 is always legal. in NVPTXTargetLowering()
511 setBF16OperationAction(ISD::SETCC, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
512 setBF16OperationAction(ISD::SETCC, MVT::bf16, Legal, Promote); in NVPTXTargetLowering()
516 // Conversion to/from i16/i16x2 is always legal. in NVPTXTargetLowering()
556 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i64, Legal); in NVPTXTargetLowering()
557 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal); in NVPTXTargetLowering()
558 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Legal); in NVPTXTargetLowering()
559 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal); in NVPTXTargetLowering()
570 setOperationAction(ISD::BITREVERSE, MVT::i32, Legal); in NVPTXTargetLowering()
571 setOperationAction(ISD::BITREVERSE, MVT::i64, Legal); in NVPTXTargetLowering()
576 setOperationAction(ISD::ROTL, MVT::i64, Legal); in NVPTXTargetLowering()
577 setOperationAction(ISD::ROTR, MVT::i64, Legal); in NVPTXTargetLowering()
578 setOperationAction(ISD::ROTL, MVT::i32, Legal); in NVPTXTargetLowering()
579 setOperationAction(ISD::ROTR, MVT::i32, Legal); in NVPTXTargetLowering()
645 // This is legal in NVPTX in NVPTXTargetLowering()
646 setOperationAction(ISD::ConstantFP, MVT::f64, Legal); in NVPTXTargetLowering()
647 setOperationAction(ISD::ConstantFP, MVT::f32, Legal); in NVPTXTargetLowering()
648 setOperationAction(ISD::ConstantFP, MVT::f16, Legal); in NVPTXTargetLowering()
649 setOperationAction(ISD::ConstantFP, MVT::bf16, Legal); in NVPTXTargetLowering()
655 setOperationAction(ISD::TRAP, MVT::Other, Legal); in NVPTXTargetLowering()
676 setOperationAction(ISD::ABS, Ty, Legal); in NVPTXTargetLowering()
677 setOperationAction(ISD::SMIN, Ty, Legal); in NVPTXTargetLowering()
678 setOperationAction(ISD::SMAX, Ty, Legal); in NVPTXTargetLowering()
679 setOperationAction(ISD::UMIN, Ty, Legal); in NVPTXTargetLowering()
680 setOperationAction(ISD::UMAX, Ty, Legal); in NVPTXTargetLowering()
682 setOperationAction(ISD::CTPOP, Ty, Legal); in NVPTXTargetLowering()
683 setOperationAction(ISD::CTLZ, Ty, Legal); in NVPTXTargetLowering()
686 setI16x2OperationAction(ISD::ABS, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
687 setI16x2OperationAction(ISD::SMIN, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
688 setI16x2OperationAction(ISD::SMAX, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
689 setI16x2OperationAction(ISD::UMIN, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
690 setI16x2OperationAction(ISD::UMAX, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
691 setI16x2OperationAction(ISD::CTPOP, MVT::v2i16, Legal, Expand); in NVPTXTargetLowering()
692 setI16x2OperationAction(ISD::CTLZ, MVT::v2i16, Legal, Expand); in NVPTXTargetLowering()
694 setI16x2OperationAction(ISD::ADD, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
695 setI16x2OperationAction(ISD::SUB, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
696 setI16x2OperationAction(ISD::MUL, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
697 setI16x2OperationAction(ISD::SHL, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
698 setI16x2OperationAction(ISD::SREM, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
699 setI16x2OperationAction(ISD::UREM, MVT::v2i16, Legal, Custom); in NVPTXTargetLowering()
707 setOperationAction(ISD::ADDC, MVT::i32, Legal); in NVPTXTargetLowering()
708 setOperationAction(ISD::ADDE, MVT::i32, Legal); in NVPTXTargetLowering()
709 setOperationAction(ISD::SUBC, MVT::i32, Legal); in NVPTXTargetLowering()
710 setOperationAction(ISD::SUBE, MVT::i32, Legal); in NVPTXTargetLowering()
712 setOperationAction(ISD::ADDC, MVT::i64, Legal); in NVPTXTargetLowering()
713 setOperationAction(ISD::ADDE, MVT::i64, Legal); in NVPTXTargetLowering()
714 setOperationAction(ISD::SUBC, MVT::i64, Legal); in NVPTXTargetLowering()
715 setOperationAction(ISD::SUBE, MVT::i64, Legal); in NVPTXTargetLowering()
736 // legalizer's attempt to scalarize it due to v2i1 not being legal. in NVPTXTargetLowering()
747 setFP16OperationAction(Op, MVT::f16, Legal, Promote); in NVPTXTargetLowering()
748 setFP16OperationAction(Op, MVT::v2f16, Legal, Expand); in NVPTXTargetLowering()
749 setBF16OperationAction(Op, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
751 setBF16OperationAction(Op, MVT::bf16, Legal, Promote); in NVPTXTargetLowering()
762 IsFP16FP16x2NegAvailable ? Legal : Expand); in NVPTXTargetLowering()
764 setBF16OperationAction(ISD::FNEG, MVT::bf16, Legal, Expand); in NVPTXTargetLowering()
765 setBF16OperationAction(ISD::FNEG, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
771 setOperationAction(Op, MVT::f16, Legal); in NVPTXTargetLowering()
772 setOperationAction(Op, MVT::f32, Legal); in NVPTXTargetLowering()
773 setOperationAction(Op, MVT::f64, Legal); in NVPTXTargetLowering()
776 setBF16OperationAction(Op, MVT::bf16, Legal, Promote); in NVPTXTargetLowering()
826 setOperationAction(Op, MVT::f32, Legal); in NVPTXTargetLowering()
827 setOperationAction(Op, MVT::f64, Legal); in NVPTXTargetLowering()
835 setOperationAction(Op, MVT::f32, Legal); in NVPTXTargetLowering()
836 setOperationAction(Op, MVT::f64, Legal); in NVPTXTargetLowering()
838 setBF16OperationAction(Op, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
839 setBF16OperationAction(Op, MVT::bf16, Legal, Promote); in NVPTXTargetLowering()
847 return IsAtLeastSm80 ? Legal : NotSm80Action; in NVPTXTargetLowering()
851 setOperationAction(Op, MVT::f32, Legal); in NVPTXTargetLowering()
852 setOperationAction(Op, MVT::f64, Legal); in NVPTXTargetLowering()
854 setBF16OperationAction(Op, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
855 setBF16OperationAction(Op, MVT::bf16, Legal, Promote); in NVPTXTargetLowering()
861 setFP16OperationAction(Op, MVT::bf16, Legal, Expand); in NVPTXTargetLowering()
864 setBF16OperationAction(Op, MVT::v2bf16, Legal, Expand); in NVPTXTargetLowering()
2649 // Everything else is considered legal. in LowerINT_TO_FP()
2664 // Everything else is considered legal. in LowerFP_TO_INT()
2699 // Everything else is considered legal. in LowerFP_ROUND()
2728 // Everything else is considered legal. in LowerFP_EXTEND()
2901 // v2f16/v2bf16/v2i16/v4i8 are legal, so we can't rely on legalizer to handle in LowerLOAD()
2948 // v2f16 is legal, so we can't rely on legalizer to handle unaligned in LowerSTORE()
2974 // legal. We can (and should) split that into 2 stores of <2 x double> here in LowerSTOREVector()
3022 // Therefore, we must ensure the type is legal. For i1 and i8, we set the in LowerSTOREVector()
5159 /// by AM is legal for this target, for a load/store of the specified type.
5169 // The legal address modes are in isLegalAddressingMode()
6059 // legal. We can (and should) split that into 2 loads of <2 x double> here in ReplaceLoadVector()
6103 // Therefore, we must ensure the type is legal. For i1 and i8, we set the in ReplaceLoadVector()
6223 // Therefore, we must ensure the type is legal. For i1 and i8, we set the in ReplaceINTRINSIC_W_CHAIN()