Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:ISD

640 static void InitCmpLibcallCCs(ISD::CondCode *CCs) {
641 memset(CCs, ISD::SETCC_INVALID, sizeof(ISD::CondCode)*RTLIB::UNKNOWN_LIBCALL);
642 CCs[RTLIB::OEQ_F32] = ISD::SETEQ;
643 CCs[RTLIB::OEQ_F64] = ISD::SETEQ;
644 CCs[RTLIB::OEQ_F128] = ISD::SETEQ;
645 CCs[RTLIB::UNE_F32] = ISD::SETNE;
646 CCs[RTLIB::UNE_F64] = ISD::SETNE;
647 CCs[RTLIB::UNE_F128] = ISD::SETNE;
648 CCs[RTLIB::OGE_F32] = ISD::SETGE;
649 CCs[RTLIB::OGE_F64] = ISD::SETGE;
650 CCs[RTLIB::OGE_F128] = ISD::SETGE;
651 CCs[RTLIB::OLT_F32] = ISD::SETLT;
652 CCs[RTLIB::OLT_F64] = ISD::SETLT;
653 CCs[RTLIB::OLT_F128] = ISD::SETLT;
654 CCs[RTLIB::OLE_F32] = ISD::SETLE;
655 CCs[RTLIB::OLE_F64] = ISD::SETLE;
656 CCs[RTLIB::OLE_F128] = ISD::SETLE;
657 CCs[RTLIB::OGT_F32] = ISD::SETGT;
658 CCs[RTLIB::OGT_F64] = ISD::SETGT;
659 CCs[RTLIB::OGT_F128] = ISD::SETGT;
660 CCs[RTLIB::UO_F32] = ISD::SETNE;
661 CCs[RTLIB::UO_F64] = ISD::SETNE;
662 CCs[RTLIB::UO_F128] = ISD::SETNE;
663 CCs[RTLIB::O_F32] = ISD::SETEQ;
664 CCs[RTLIB::O_F64] = ISD::SETEQ;
665 CCs[RTLIB::O_F128] = ISD::SETEQ;
728 for (unsigned IM = (unsigned)ISD::PRE_INC;
729 IM != (unsigned)ISD::LAST_INDEXED_MODE; ++IM) {
735 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS,
739 setOperationAction(ISD::FGETSIGN, (MVT::SimpleValueType)VT, Expand);
740 setOperationAction(ISD::CONCAT_VECTORS, (MVT::SimpleValueType)VT, Expand);
743 setOperationAction(ISD::FROUND, (MVT::SimpleValueType)VT, Expand);
748 setOperationAction(ISD::FCOPYSIGN, (MVT::SimpleValueType)VT, Expand);
749 setOperationAction(ISD::ANY_EXTEND_VECTOR_INREG,
751 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG,
753 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG,
759 setOperationAction(ISD::PREFETCH, MVT::Other, Expand);
764 setOperationAction(ISD::ConstantFP, MVT::f16, Expand);
765 setOperationAction(ISD::ConstantFP, MVT::f32, Expand);
766 setOperationAction(ISD::ConstantFP, MVT::f64, Expand);
767 setOperationAction(ISD::ConstantFP, MVT::f80, Expand);
768 setOperationAction(ISD::ConstantFP, MVT::f128, Expand);
771 setOperationAction(ISD::FLOG , MVT::f16, Expand);
772 setOperationAction(ISD::FLOG2, MVT::f16, Expand);
773 setOperationAction(ISD::FLOG10, MVT::f16, Expand);
774 setOperationAction(ISD::FEXP , MVT::f16, Expand);
775 setOperationAction(ISD::FEXP2, MVT::f16, Expand);
776 setOperationAction(ISD::FFLOOR, MVT::f16, Expand);
777 setOperationAction(ISD::FNEARBYINT, MVT::f16, Expand);
778 setOperationAction(ISD::FCEIL, MVT::f16, Expand);
779 setOperationAction(ISD::FRINT, MVT::f16, Expand);
780 setOperationAction(ISD::FTRUNC, MVT::f16, Expand);
781 setOperationAction(ISD::FROUND, MVT::f16, Expand);
782 setOperationAction(ISD::FLOG , MVT::f32, Expand);
783 setOperationAction(ISD::FLOG2, MVT::f32, Expand);
784 setOperationAction(ISD::FLOG10, MVT::f32, Expand);
785 setOperationAction(ISD::FEXP , MVT::f32, Expand);
786 setOperationAction(ISD::FEXP2, MVT::f32, Expand);
787 setOperationAction(ISD::FFLOOR, MVT::f32, Expand);
788 setOperationAction(ISD::FNEARBYINT, MVT::f32, Expand);
789 setOperationAction(ISD::FCEIL, MVT::f32, Expand);
790 setOperationAction(ISD::FRINT, MVT::f32, Expand);
791 setOperationAction(ISD::FTRUNC, MVT::f32, Expand);
792 setOperationAction(ISD::FROUND, MVT::f32, Expand);
793 setOperationAction(ISD::FLOG , MVT::f64, Expand);
794 setOperationAction(ISD::FLOG2, MVT::f64, Expand);
795 setOperationAction(ISD::FLOG10, MVT::f64, Expand);
796 setOperationAction(ISD::FEXP , MVT::f64, Expand);
797 setOperationAction(ISD::FEXP2, MVT::f64, Expand);
798 setOperationAction(ISD::FFLOOR, MVT::f64, Expand);
799 setOperationAction(ISD::FNEARBYINT, MVT::f64, Expand);
800 setOperationAction(ISD::FCEIL, MVT::f64, Expand);
801 setOperationAction(ISD::FRINT, MVT::f64, Expand);
802 setOperationAction(ISD::FTRUNC, MVT::f64, Expand);
803 setOperationAction(ISD::FROUND, MVT::f64, Expand);
804 setOperationAction(ISD::FLOG , MVT::f128, Expand);
805 setOperationAction(ISD::FLOG2, MVT::f128, Expand);
806 setOperationAction(ISD::FLOG10, MVT::f128, Expand);
807 setOperationAction(ISD::FEXP , MVT::f128, Expand);
808 setOperationAction(ISD::FEXP2, MVT::f128, Expand);
809 setOperationAction(ISD::FFLOOR, MVT::f128, Expand);
810 setOperationAction(ISD::FNEARBYINT, MVT::f128, Expand);
811 setOperationAction(ISD::FCEIL, MVT::f128, Expand);
812 setOperationAction(ISD::FRINT, MVT::f128, Expand);
813 setOperationAction(ISD::FTRUNC, MVT::f128, Expand);
814 setOperationAction(ISD::FROUND, MVT::f128, Expand);
816 // Default ISD::TRAP to expand (which turns it into abort).
817 setOperationAction(ISD::TRAP, MVT::Other, Expand);
822 setOperationAction(ISD
856 case ISD::FDIV:
857 case ISD::FREM:
858 case ISD::SDIV:
859 case ISD::UDIV:
860 case ISD::SREM:
861 case ISD::UREM:
1272 SmallVectorImpl<ISD::OutputArg> &Outs,
1281 ISD::NodeType ExtendKind = ISD::ANY_EXTEND;
1284 ExtendKind = ISD::SIGN_EXTEND;
1286 ExtendKind = ISD::ZERO_EXTEND;
1292 if (ExtendKind != ISD::ANY_EXTEND && VT.isInteger()) {
1302 ISD::ArgFlagsTy Flags = ISD::ArgFlagsTy();
1313 Outs.push_back(ISD::OutputArg(Flags, PartVT, VT, /*isFixed=*/true, 0, 0));
1342 case Add: return ISD::ADD;
1343 case FAdd: return ISD::FADD;
1344 case Sub: return ISD::SUB;
1345 case FSub: return ISD::FSUB;
1346 case Mul: return ISD::MUL;
1347 case FMul: return ISD::FMUL;
1348 case UDiv: return ISD::UDIV;
1349 case SDiv: return ISD::SDIV;
1350 case FDiv: return ISD::FDIV;
1351 case URem: return ISD::UREM;
1352 case SRem: return ISD::SREM;
1353 case FRem: return ISD::FREM;
1354 case Shl: return ISD::SHL;
1355 case LShr: return ISD::SRL;
1356 case AShr: return ISD::SRA;
1357 case And: return ISD::AND;
1358 case Or: return ISD::OR;
1359 case Xor: return ISD::XOR;
1361 case Load: return ISD::LOAD;
1362 case Store: return ISD::STORE;
1367 case Trunc: return ISD::TRUNCATE;
1368 case ZExt: return ISD::ZERO_EXTEND;
1369 case SExt: return ISD::SIGN_EXTEND;
1370 case FPToUI: return ISD::FP_TO_UINT;
1371 case FPToSI: return ISD::FP_TO_SINT;
1372 case UIToFP: return ISD::UINT_TO_FP;
1373 case SIToFP: return ISD::SINT_TO_FP;
1374 case FPTrunc: return ISD::FP_ROUND;
1375 case FPExt: return ISD::FP_EXTEND;
1376 case PtrToInt: return ISD::BITCAST;
1377 case IntToPtr: return ISD::BITCAST;
1378 case BitCast: return ISD::BITCAST;
1379 case AddrSpaceCast: return ISD::ADDRSPACECAST;
1380 case ICmp: return ISD::SETCC;
1381 case FCmp: return ISD::SETCC;
1384 case Select: return ISD::SELECT;
1388 case ExtractElement: return ISD::EXTRACT_VECTOR_ELT;
1389 case InsertElement: return ISD::INSERT_VECTOR_ELT;
1390 case ShuffleVector: return ISD::VECTOR_SHUFFLE;
1391 case ExtractValue: return ISD::MERGE_VALUES;
1392 case InsertValue: return ISD::MERGE_VALUES;