reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/CodeGen/BasicTTIImpl.h
  893       if (LA != TargetLowering::Legal && LA != TargetLowering::Custom) {
include/llvm/CodeGen/TargetLowering.h
  915     if (Action != Legal)
  983       (getOperationAction(Op, VT) == Legal ||
  992       (getOperationAction(Op, VT) == Legal ||
 1001       (getOperationAction(Op, VT) == Legal ||
 1089            getOperationAction(Op, VT) == Legal;
 1108     return getLoadExtAction(ExtType, ValVT, MemVT) == Legal;
 1114     return getLoadExtAction(ExtType, ValVT, MemVT) == Legal ||
 1133     return isTypeLegal(ValVT) && getTruncStoreAction(ValVT, MemVT) == Legal;
 1140       (getTruncStoreAction(ValVT, MemVT) == Legal ||
 1158       (getIndexedLoadAction(IdxMode, VT.getSimpleVT()) == Legal ||
 1176       (getIndexedStoreAction(IdxMode, VT.getSimpleVT()) == Legal ||
 1198     return getCondCodeAction(CC, VT) == Legal;
 1204     return getCondCodeAction(CC, VT) == Legal ||
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
13073       TLI.getOperationAction(ISD::FP16_TO_FP, VT) == TargetLowering::Legal)
19989   if (TLI.getOperationAction(ISD::ConstantFP, VT) == TargetLowering::Legal ||
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  503     case TargetLowering::Legal: {
  619     case TargetLowering::Legal: {
  679     case TargetLowering::Legal: {
  859     case TargetLowering::Legal:
  986   TargetLowering::LegalizeAction Action = TargetLowering::Legal;
 1035     if (Action == TargetLowering::Legal) {
 1069     if (Action == TargetLowering::Legal)
 1081     if (Action == TargetLowering::Legal)
 1094     Action = TargetLowering::Legal;
 1160       Action = TargetLowering::Legal;
 1219     case TargetLowering::Legal:
 1641   case TargetLowering::Legal:
 2819         == TargetLowering::Legal)
 2839         == TargetLowering::Legal)
 3721           == TargetLowering::Legal)
 3732           == TargetLowering::Legal)
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 3185     (Action == TargetLowering::Legal && TLI.isTypeLegal(NVT)) ||
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  254       case TargetLowering::Legal:
  282       case TargetLowering::Legal:
  309   TargetLowering::LegalizeAction Action = TargetLowering::Legal;
  350         == TargetLowering::Legal) {
  355           == TargetLowering::Legal)
  356         Action = TargetLowering::Legal;
  491   case TargetLowering::Legal:
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
 1164            != TargetLowering::Legal))
lib/Target/AArch64/AArch64ISelLowering.cpp
  199   setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
  200   setOperationAction(ISD::BITREVERSE, MVT::i64, Legal);
  474     setOperationAction(ISD::FFLOOR, Ty, Legal);
  475     setOperationAction(ISD::FNEARBYINT, Ty, Legal);
  476     setOperationAction(ISD::FCEIL, Ty, Legal);
  477     setOperationAction(ISD::FRINT, Ty, Legal);
  478     setOperationAction(ISD::FTRUNC, Ty, Legal);
  479     setOperationAction(ISD::FROUND, Ty, Legal);
  480     setOperationAction(ISD::FMINNUM, Ty, Legal);
  481     setOperationAction(ISD::FMAXNUM, Ty, Legal);
  482     setOperationAction(ISD::FMINIMUM, Ty, Legal);
  483     setOperationAction(ISD::FMAXIMUM, Ty, Legal);
  484     setOperationAction(ISD::LROUND, Ty, Legal);
  485     setOperationAction(ISD::LLROUND, Ty, Legal);
  486     setOperationAction(ISD::LRINT, Ty, Legal);
  487     setOperationAction(ISD::LLRINT, Ty, Legal);
  491     setOperationAction(ISD::FNEARBYINT, MVT::f16, Legal);
  492     setOperationAction(ISD::FFLOOR,  MVT::f16, Legal);
  493     setOperationAction(ISD::FCEIL,   MVT::f16, Legal);
  494     setOperationAction(ISD::FRINT,   MVT::f16, Legal);
  495     setOperationAction(ISD::FTRUNC,  MVT::f16, Legal);
  496     setOperationAction(ISD::FROUND,  MVT::f16, Legal);
  497     setOperationAction(ISD::FMINNUM, MVT::f16, Legal);
  498     setOperationAction(ISD::FMAXNUM, MVT::f16, Legal);
  499     setOperationAction(ISD::FMINIMUM, MVT::f16, Legal);
  500     setOperationAction(ISD::FMAXIMUM, MVT::f16, Legal);
  516     setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Legal);
  531     setOperationAction(ISD::ConstantFP, MVT::f32, Legal);
  532     setOperationAction(ISD::ConstantFP, MVT::f64, Legal);
  560     setIndexedLoadAction(im, MVT::i8, Legal);
  561     setIndexedLoadAction(im, MVT::i16, Legal);
  562     setIndexedLoadAction(im, MVT::i32, Legal);
  563     setIndexedLoadAction(im, MVT::i64, Legal);
  564     setIndexedLoadAction(im, MVT::f64, Legal);
  565     setIndexedLoadAction(im, MVT::f32, Legal);
  566     setIndexedLoadAction(im, MVT::f16, Legal);
  567     setIndexedStoreAction(im, MVT::i8, Legal);
  568     setIndexedStoreAction(im, MVT::i16, Legal);
  569     setIndexedStoreAction(im, MVT::i32, Legal);
  570     setIndexedStoreAction(im, MVT::i64, Legal);
  571     setIndexedStoreAction(im, MVT::f64, Legal);
  572     setIndexedStoreAction(im, MVT::f32, Legal);
  573     setIndexedStoreAction(im, MVT::f16, Legal);
  577   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  579     setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
  752     setOperationAction(ISD::ANY_EXTEND, MVT::v4i32, Legal);
  760         setOperationAction(ISD::MULHS, VT, Legal);
  761         setOperationAction(ISD::MULHU, VT, Legal);
  782       setOperationAction(ISD::FFLOOR, Ty, Legal);
  783       setOperationAction(ISD::FNEARBYINT, Ty, Legal);
  784       setOperationAction(ISD::FCEIL, Ty, Legal);
  785       setOperationAction(ISD::FRINT, Ty, Legal);
  786       setOperationAction(ISD::FTRUNC, Ty, Legal);
  787       setOperationAction(ISD::FROUND, Ty, Legal);
  792         setOperationAction(ISD::FFLOOR, Ty, Legal);
  793         setOperationAction(ISD::FNEARBYINT, Ty, Legal);
  794         setOperationAction(ISD::FCEIL, Ty, Legal);
  795         setOperationAction(ISD::FRINT, Ty, Legal);
  796         setOperationAction(ISD::FTRUNC, Ty, Legal);
  797         setOperationAction(ISD::FROUND, Ty, Legal);
  851   setOperationAction(ISD::CONCAT_VECTORS, VT, Legal);
  873     setOperationAction(ISD::ABS, VT, Legal);
  878       setOperationAction(Opcode, VT, Legal);
  885       setOperationAction(Opcode, VT, Legal);
  890       setIndexedLoadAction(im, VT, Legal);
  891       setIndexedStoreAction(im, VT, Legal);
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  119     setLoadExtAction(ISD::SEXTLOAD, VT, MVT::i8, Legal);
  120     setLoadExtAction(ISD::SEXTLOAD, VT, MVT::i16, Legal);
  124     setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::i8, Legal);
  125     setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::i16, Legal);
  129     setLoadExtAction(ISD::EXTLOAD, VT, MVT::i8, Legal);
  130     setLoadExtAction(ISD::EXTLOAD, VT, MVT::i16, Legal);
  237   setOperationAction(ISD::Constant, MVT::i32, Legal);
  238   setOperationAction(ISD::Constant, MVT::i64, Legal);
  239   setOperationAction(ISD::ConstantFP, MVT::f32, Legal);
  240   setOperationAction(ISD::ConstantFP, MVT::f64, Legal);
  250   setOperationAction(ISD::FCEIL,  MVT::f32, Legal);
  251   setOperationAction(ISD::FEXP2,  MVT::f32, Legal);
  252   setOperationAction(ISD::FPOW,   MVT::f32, Legal);
  253   setOperationAction(ISD::FLOG2,  MVT::f32, Legal);
  254   setOperationAction(ISD::FABS,   MVT::f32, Legal);
  255   setOperationAction(ISD::FFLOOR, MVT::f32, Legal);
  256   setOperationAction(ISD::FRINT,  MVT::f32, Legal);
  257   setOperationAction(ISD::FTRUNC, MVT::f32, Legal);
  258   setOperationAction(ISD::FMINNUM, MVT::f32, Legal);
  259   setOperationAction(ISD::FMAXNUM, MVT::f32, Legal);
  326     setOperationAction(ISD::ADDC, VT, Legal);
  327     setOperationAction(ISD::SUBC, VT, Legal);
  328     setOperationAction(ISD::ADDE, VT, Legal);
  329     setOperationAction(ISD::SUBE, VT, Legal);
  346   setOperationAction(ISD::SMIN, MVT::i32, Legal);
  347   setOperationAction(ISD::UMIN, MVT::i32, Legal);
  348   setOperationAction(ISD::SMAX, MVT::i32, Legal);
  349   setOperationAction(ISD::UMAX, MVT::i32, Legal);
lib/Target/AMDGPU/R600ISelLowering.cpp
  197   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal);
  229     setOperationAction(ISD::FMAD, MVT::f32, Legal);
lib/Target/AMDGPU/SIISelLowering.cpp
  232   setOperationAction(ISD::UADDO, MVT::i32, Legal);
  233   setOperationAction(ISD::USUBO, MVT::i32, Legal);
  235   setOperationAction(ISD::ADDCARRY, MVT::i32, Legal);
  236   setOperationAction(ISD::SUBCARRY, MVT::i32, Legal);
  352   setOperationAction(ISD::BSWAP, MVT::i32, Legal);
  353   setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
  356   setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Legal);
  368     setOperationAction(ISD::FMAD, MVT::f32, Legal);
  408   setOperationAction(ISD::FMINNUM_IEEE, MVT::f32, Legal);
  409   setOperationAction(ISD::FMAXNUM_IEEE, MVT::f32, Legal);
  410   setOperationAction(ISD::FMINNUM_IEEE, MVT::f64, Legal);
  411   setOperationAction(ISD::FMAXNUM_IEEE, MVT::f64, Legal);
  415     setOperationAction(ISD::FTRUNC, MVT::f64, Legal);
  416     setOperationAction(ISD::FCEIL, MVT::f64, Legal);
  417     setOperationAction(ISD::FRINT, MVT::f64, Legal);
  425   setOperationAction(ISD::FFLOOR, MVT::f64, Legal);
  433     setOperationAction(ISD::Constant, MVT::i16, Legal);
  435     setOperationAction(ISD::SMIN, MVT::i16, Legal);
  436     setOperationAction(ISD::SMAX, MVT::i16, Legal);
  438     setOperationAction(ISD::UMIN, MVT::i16, Legal);
  439     setOperationAction(ISD::UMAX, MVT::i16, Legal);
  480     setOperationAction(ISD::ConstantFP, MVT::f16, Legal);
  505     setOperationAction(ISD::FMA, MVT::f16, Legal);
  507       setOperationAction(ISD::FMAD, MVT::f16, Legal);
  533     setOperationAction(ISD::Constant, MVT::v2i16, Legal);
  534     setOperationAction(ISD::ConstantFP, MVT::v2f16, Legal);
  536     setOperationAction(ISD::UNDEF, MVT::v2i16, Legal);
  537     setOperationAction(ISD::UNDEF, MVT::v2f16, Legal);
  580     setOperationAction(ISD::FNEG, MVT::v2f16, Legal);
  583     setOperationAction(ISD::FABS, MVT::v2f16, Legal);
  587     setOperationAction(ISD::FMAXNUM_IEEE, MVT::f16, Legal);
  588     setOperationAction(ISD::FMINNUM_IEEE, MVT::f16, Legal);
  598     setOperationAction(ISD::ADD, MVT::v2i16, Legal);
  599     setOperationAction(ISD::SUB, MVT::v2i16, Legal);
  600     setOperationAction(ISD::MUL, MVT::v2i16, Legal);
  601     setOperationAction(ISD::SHL, MVT::v2i16, Legal);
  602     setOperationAction(ISD::SRL, MVT::v2i16, Legal);
  603     setOperationAction(ISD::SRA, MVT::v2i16, Legal);
  604     setOperationAction(ISD::SMIN, MVT::v2i16, Legal);
  605     setOperationAction(ISD::UMIN, MVT::v2i16, Legal);
  606     setOperationAction(ISD::SMAX, MVT::v2i16, Legal);
  607     setOperationAction(ISD::UMAX, MVT::v2i16, Legal);
  609     setOperationAction(ISD::FADD, MVT::v2f16, Legal);
  610     setOperationAction(ISD::FMUL, MVT::v2f16, Legal);
  611     setOperationAction(ISD::FMA, MVT::v2f16, Legal);
  613     setOperationAction(ISD::FMINNUM_IEEE, MVT::v2f16, Legal);
  614     setOperationAction(ISD::FMAXNUM_IEEE, MVT::v2f16, Legal);
  616     setOperationAction(ISD::FCANONICALIZE, MVT::v2f16, Legal);
lib/Target/ARC/ARCISelLowering.cpp
   94   setOperationAction(ISD::ADD, MVT::i32, Legal);
   95   setOperationAction(ISD::SUB, MVT::i32, Legal);
   96   setOperationAction(ISD::AND, MVT::i32, Legal);
   97   setOperationAction(ISD::SMAX, MVT::i32, Legal);
   98   setOperationAction(ISD::SMIN, MVT::i32, Legal);
  101   setOperationAction(ISD::SHL, MVT::i32, Legal);
  102   setOperationAction(ISD::SRA, MVT::i32, Legal);
  103   setOperationAction(ISD::SRL, MVT::i32, Legal);
  104   setOperationAction(ISD::ROTR, MVT::i32, Legal);
  106   setOperationAction(ISD::Constant, MVT::i32, Legal);
  107   setOperationAction(ISD::UNDEF, MVT::i32, Legal);
  110   setOperationAction(ISD::MUL, MVT::i32, Legal);
  111   setOperationAction(ISD::MULHS, MVT::i32, Legal);
  112   setOperationAction(ISD::MULHU, MVT::i32, Legal);
  113   setOperationAction(ISD::LOAD, MVT::i32, Legal);
  114   setOperationAction(ISD::STORE, MVT::i32, Legal);
  123   setOperationAction(ISD::FRAMEADDR, MVT::i32, Legal);
lib/Target/ARM/ARMISelLowering.cpp
  178   setOperationAction(ISD::CONCAT_VECTORS,    VT, Legal);
  179   setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal);
  211       setOperationAction(Opcode, VT, Legal);
  231   setOperationAction(ISD::BITCAST, VT, Legal);
  232   setOperationAction(ISD::LOAD, VT, Legal);
  233   setOperationAction(ISD::STORE, VT, Legal);
  234   setOperationAction(ISD::UNDEF, VT, Legal);
  256     setOperationAction(ISD::SMIN, VT, Legal);
  257     setOperationAction(ISD::SMAX, VT, Legal);
  258     setOperationAction(ISD::UMIN, VT, Legal);
  259     setOperationAction(ISD::UMAX, VT, Legal);
  260     setOperationAction(ISD::ABS, VT, Legal);
  263     setOperationAction(ISD::MSTORE, VT, Legal);
  264     setOperationAction(ISD::CTLZ, VT, Legal);
  266     setOperationAction(ISD::BITREVERSE, VT, Legal);
  267     setOperationAction(ISD::BSWAP, VT, Legal);
  268     setOperationAction(ISD::SADDSAT, VT, Legal);
  269     setOperationAction(ISD::UADDSAT, VT, Legal);
  270     setOperationAction(ISD::SSUBSAT, VT, Legal);
  271     setOperationAction(ISD::USUBSAT, VT, Legal);
  281     setOperationAction(ISD::VECREDUCE_ADD, VT, Legal);
  282     setOperationAction(ISD::VECREDUCE_SMAX, VT, Legal);
  283     setOperationAction(ISD::VECREDUCE_UMAX, VT, Legal);
  284     setOperationAction(ISD::VECREDUCE_SMIN, VT, Legal);
  285     setOperationAction(ISD::VECREDUCE_UMIN, VT, Legal);
  297       setIndexedLoadAction(im, VT, Legal);
  298       setIndexedStoreAction(im, VT, Legal);
  315     setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Legal);
  318     setOperationAction(ISD::MSTORE, VT, Legal);
  323       setIndexedLoadAction(im, VT, Legal);
  324       setIndexedStoreAction(im, VT, Legal);
  328       setOperationAction(ISD::FMINNUM, VT, Legal);
  329       setOperationAction(ISD::FMAXNUM, VT, Legal);
  330       setOperationAction(ISD::FROUND, VT, Legal);
  360   setOperationAction(ISD::AND, MVT::v2i64, Legal);
  361   setOperationAction(ISD::OR, MVT::v2i64, Legal);
  362   setOperationAction(ISD::XOR, MVT::v2i64, Legal);
  365   addAllExtLoads(MVT::v8i16, MVT::v8i8, Legal);
  366   addAllExtLoads(MVT::v4i32, MVT::v4i16, Legal);
  367   addAllExtLoads(MVT::v4i32, MVT::v4i8, Legal);
  370   setTruncStoreAction(MVT::v4i32, MVT::v4i16, Legal);
  371   setTruncStoreAction(MVT::v4i32, MVT::v4i8,  Legal);
  372   setTruncStoreAction(MVT::v8i16, MVT::v8i8,  Legal);
  377     setIndexedLoadAction(im, MVT::v8i8, Legal);
  378     setIndexedStoreAction(im, MVT::v8i8, Legal);
  379     setIndexedLoadAction(im, MVT::v4i8, Legal);
  380     setIndexedStoreAction(im, MVT::v4i8, Legal);
  381     setIndexedLoadAction(im, MVT::v4i16, Legal);
  382     setIndexedStoreAction(im, MVT::v4i16, Legal);
  707     setOperationAction(ISD::FMINNUM, MVT::f16, Legal);
  708     setOperationAction(ISD::FMAXNUM, MVT::f16, Legal);
  914         setLoadExtAction(ISD::EXTLOAD, VT, Ty, Legal);
  915         setLoadExtAction(ISD::ZEXTLOAD, VT, Ty, Legal);
  916         setLoadExtAction(ISD::SEXTLOAD, VT, Ty, Legal);
 1002       setIndexedLoadAction(im,  MVT::i1,  Legal);
 1003       setIndexedLoadAction(im,  MVT::i8,  Legal);
 1004       setIndexedLoadAction(im,  MVT::i16, Legal);
 1005       setIndexedLoadAction(im,  MVT::i32, Legal);
 1006       setIndexedStoreAction(im, MVT::i1,  Legal);
 1007       setIndexedStoreAction(im, MVT::i8,  Legal);
 1008       setIndexedStoreAction(im, MVT::i16, Legal);
 1009       setIndexedStoreAction(im, MVT::i32, Legal);
 1013     setIndexedLoadAction(ISD::POST_INC, MVT::i32,  Legal);
 1014     setIndexedStoreAction(ISD::POST_INC, MVT::i32,  Legal);
 1031     setOperationAction(ISD::SADDSAT, MVT::i32, Legal);
 1032     setOperationAction(ISD::SSUBSAT, MVT::i32, Legal);
 1067     setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
 1182   setOperationAction(ISD::TRAP, MVT::Other, Legal);
 1183   setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
 1343     setOperationAction(ISD::FFLOOR, MVT::f32, Legal);
 1344     setOperationAction(ISD::FCEIL, MVT::f32, Legal);
 1345     setOperationAction(ISD::FROUND, MVT::f32, Legal);
 1346     setOperationAction(ISD::FTRUNC, MVT::f32, Legal);
 1347     setOperationAction(ISD::FNEARBYINT, MVT::f32, Legal);
 1348     setOperationAction(ISD::FRINT, MVT::f32, Legal);
 1349     setOperationAction(ISD::FMINNUM, MVT::f32, Legal);
 1350     setOperationAction(ISD::FMAXNUM, MVT::f32, Legal);
 1352       setOperationAction(ISD::FMINNUM, MVT::v2f32, Legal);
 1353       setOperationAction(ISD::FMAXNUM, MVT::v2f32, Legal);
 1354       setOperationAction(ISD::FMINNUM, MVT::v4f32, Legal);
 1355       setOperationAction(ISD::FMAXNUM, MVT::v4f32, Legal);
 1359       setOperationAction(ISD::FFLOOR, MVT::f64, Legal);
 1360       setOperationAction(ISD::FCEIL, MVT::f64, Legal);
 1361       setOperationAction(ISD::FROUND, MVT::f64, Legal);
 1362       setOperationAction(ISD::FTRUNC, MVT::f64, Legal);
 1363       setOperationAction(ISD::FNEARBYINT, MVT::f64, Legal);
 1364       setOperationAction(ISD::FRINT, MVT::f64, Legal);
 1365       setOperationAction(ISD::FMINNUM, MVT::f64, Legal);
 1366       setOperationAction(ISD::FMAXNUM, MVT::f64, Legal);
 1385     setOperationAction(ISD::FROUND, MVT::f16, Legal);
 1391     setOperationAction(ISD::FMINIMUM, MVT::f16, Legal);
 1392     setOperationAction(ISD::FMAXIMUM, MVT::f16, Legal);
 1393     setOperationAction(ISD::FMINIMUM, MVT::f32, Legal);
 1394     setOperationAction(ISD::FMAXIMUM, MVT::f32, Legal);
 1395     setOperationAction(ISD::FMINIMUM, MVT::v2f32, Legal);
 1396     setOperationAction(ISD::FMAXIMUM, MVT::v2f32, Legal);
 1397     setOperationAction(ISD::FMINIMUM, MVT::v4f32, Legal);
 1398     setOperationAction(ISD::FMAXIMUM, MVT::v4f32, Legal);
 1401       setOperationAction(ISD::FMINNUM, MVT::v4f16, Legal);
 1402       setOperationAction(ISD::FMAXNUM, MVT::v4f16, Legal);
 1403       setOperationAction(ISD::FMINNUM, MVT::v8f16, Legal);
 1404       setOperationAction(ISD::FMAXNUM, MVT::v8f16, Legal);
 1406       setOperationAction(ISD::FMINIMUM, MVT::v4f16, Legal);
 1407       setOperationAction(ISD::FMAXIMUM, MVT::v4f16, Legal);
 1408       setOperationAction(ISD::FMINIMUM, MVT::v8f16, Legal);
 1409       setOperationAction(ISD::FMAXIMUM, MVT::v8f16, Legal);
lib/Target/AVR/AVRISelLowering.cpp
   68     setOperationAction(ISD::ADDC, VT, Legal);
   69     setOperationAction(ISD::SUBC, VT, Legal);
   70     setOperationAction(ISD::ADDE, VT, Legal);
   71     setOperationAction(ISD::SUBE, VT, Legal);
  116   setIndexedLoadAction(ISD::POST_INC, MVT::i8, Legal);
  117   setIndexedLoadAction(ISD::POST_INC, MVT::i16, Legal);
  118   setIndexedLoadAction(ISD::PRE_DEC, MVT::i8, Legal);
  119   setIndexedLoadAction(ISD::PRE_DEC, MVT::i16, Legal);
  120   setIndexedStoreAction(ISD::POST_INC, MVT::i8, Legal);
  121   setIndexedStoreAction(ISD::POST_INC, MVT::i16, Legal);
  122   setIndexedStoreAction(ISD::PRE_DEC, MVT::i8, Legal);
  123   setIndexedStoreAction(ISD::PRE_DEC, MVT::i16, Legal);
lib/Target/Hexagon/HexagonISelLowering.cpp
 1292   setOperationAction(ISD::ConstantFP,           MVT::f32,   Legal);
 1293   setOperationAction(ISD::ConstantFP,           MVT::f64,   Legal);
 1294   setOperationAction(ISD::TRAP,                 MVT::Other, Legal);
 1336   setOperationAction(ISD::ABS, MVT::i32, Legal);
 1337   setOperationAction(ISD::ABS, MVT::i64, Legal);
 1361   setOperationAction(ISD::CTPOP, MVT::i64, Legal);
 1363   setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
 1364   setOperationAction(ISD::BITREVERSE, MVT::i64, Legal);
 1365   setOperationAction(ISD::BSWAP, MVT::i32, Legal);
 1366   setOperationAction(ISD::BSWAP, MVT::i64, Legal);
 1368   setOperationAction(ISD::FSHL, MVT::i32, Legal);
 1369   setOperationAction(ISD::FSHL, MVT::i64, Legal);
 1370   setOperationAction(ISD::FSHR, MVT::i32, Legal);
 1371   setOperationAction(ISD::FSHR, MVT::i64, Legal);
 1469   setLoadExtAction(ISD::EXTLOAD,  MVT::v2i16, MVT::v2i8, Legal);
 1470   setLoadExtAction(ISD::ZEXTLOAD, MVT::v2i16, MVT::v2i8, Legal);
 1471   setLoadExtAction(ISD::SEXTLOAD, MVT::v2i16, MVT::v2i8, Legal);
 1472   setLoadExtAction(ISD::EXTLOAD,  MVT::v4i16, MVT::v4i8, Legal);
 1473   setLoadExtAction(ISD::ZEXTLOAD, MVT::v4i16, MVT::v4i8, Legal);
 1474   setLoadExtAction(ISD::SEXTLOAD, MVT::v4i16, MVT::v4i8, Legal);
 1486     setOperationAction(ISD::ADD, NativeVT, Legal);
 1487     setOperationAction(ISD::SUB, NativeVT, Legal);
 1488     setOperationAction(ISD::MUL, NativeVT, Legal);
 1489     setOperationAction(ISD::AND, NativeVT, Legal);
 1490     setOperationAction(ISD::OR,  NativeVT, Legal);
 1491     setOperationAction(ISD::XOR, NativeVT, Legal);
 1530   setOperationAction(ISD::FMINNUM, MVT::f32, Legal);
 1531   setOperationAction(ISD::FMAXNUM, MVT::f32, Legal);
 1550     setIndexedLoadAction(ISD::POST_INC, VT, Legal);
 1551     setIndexedStoreAction(ISD::POST_INC, VT, Legal);
 1557     setOperationAction(ISD::ROTL, MVT::i32, Legal);
 1558     setOperationAction(ISD::ROTL, MVT::i64, Legal);
 1559     setOperationAction(ISD::ROTR, MVT::i32, Legal);
 1560     setOperationAction(ISD::ROTR, MVT::i64, Legal);
 1563     setOperationAction(ISD::FADD, MVT::f64, Legal);
 1564     setOperationAction(ISD::FSUB, MVT::f64, Legal);
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
   69   setOperationAction(ISD::VECTOR_SHUFFLE, ByteV, Legal);
   70   setOperationAction(ISD::VECTOR_SHUFFLE, ByteW, Legal);
   73     setIndexedLoadAction(ISD::POST_INC,  T, Legal);
   74     setIndexedStoreAction(ISD::POST_INC, T, Legal);
   76     setOperationAction(ISD::AND,            T, Legal);
   77     setOperationAction(ISD::OR,             T, Legal);
   78     setOperationAction(ISD::XOR,            T, Legal);
   79     setOperationAction(ISD::ADD,            T, Legal);
   80     setOperationAction(ISD::SUB,            T, Legal);
   81     setOperationAction(ISD::CTPOP,          T, Legal);
   82     setOperationAction(ISD::CTLZ,           T, Legal);
   84       setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, T, Legal);
   85       setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, T, Legal);
   86       setOperationAction(ISD::BSWAP,                    T, Legal);
  139     setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, T, Legal);
  140     setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, T, Legal);
  148     setOperationAction(ISD::ADD,      T, Legal);
  149     setOperationAction(ISD::SUB,      T, Legal);
  192     setOperationAction(ISD::AND,                BoolV, Legal);
  193     setOperationAction(ISD::OR,                 BoolV, Legal);
  194     setOperationAction(ISD::XOR,                BoolV, Legal);
lib/Target/Lanai/LanaiISelLowering.cpp
  126   setOperationAction(ISD::CTPOP, MVT::i32, Legal);
  127   setOperationAction(ISD::CTLZ, MVT::i32, Legal);
  128   setOperationAction(ISD::CTTZ, MVT::i32, Legal);
lib/Target/MSP430/MSP430ISelLowering.cpp
   57   setIndexedLoadAction(ISD::POST_INC, MVT::i8, Legal);
   58   setIndexedLoadAction(ISD::POST_INC, MVT::i16, Legal);
lib/Target/Mips/MipsISelLowering.cpp
  417     setOperationAction(ISD::CTPOP,           MVT::i32,   Legal);
  418     setOperationAction(ISD::CTPOP,           MVT::i64,   Legal);
  498   setOperationAction(ISD::TRAP, MVT::Other, Legal);
lib/Target/Mips/MipsSEISelLowering.cpp
   94       setOperationAction(ISD::ADD, VecTys[i], Legal);
   95       setOperationAction(ISD::SUB, VecTys[i], Legal);
   96       setOperationAction(ISD::LOAD, VecTys[i], Legal);
   97       setOperationAction(ISD::STORE, VecTys[i], Legal);
   98       setOperationAction(ISD::BITCAST, VecTys[i], Legal);
  108       setOperationAction(ISD::ADDC, MVT::i32, Legal);
  109       setOperationAction(ISD::ADDE, MVT::i32, Legal);
  114     setOperationAction(ISD::MUL, MVT::v2i16, Legal);
  188     setOperationAction(ISD::MUL,              MVT::i64, Legal);
  231     setOperationAction(ISD::MUL, MVT::i32, Legal);
  232     setOperationAction(ISD::MULHS, MVT::i32, Legal);
  233     setOperationAction(ISD::MULHU, MVT::i32, Legal);
  239     setOperationAction(ISD::SDIV, MVT::i32, Legal);
  240     setOperationAction(ISD::UDIV, MVT::i32, Legal);
  241     setOperationAction(ISD::SREM, MVT::i32, Legal);
  242     setOperationAction(ISD::UREM, MVT::i32, Legal);
  246     setOperationAction(ISD::SETCC, MVT::i32, Legal);
  247     setOperationAction(ISD::SELECT, MVT::i32, Legal);
  250     setOperationAction(ISD::SETCC, MVT::f32, Legal);
  251     setOperationAction(ISD::SELECT, MVT::f32, Legal);
  255     setOperationAction(ISD::SETCC, MVT::f64, Legal);
  259     setOperationAction(ISD::BRCOND, MVT::Other, Legal);
  278     setOperationAction(ISD::MUL, MVT::i64, Legal);
  279     setOperationAction(ISD::MULHS, MVT::i64, Legal);
  280     setOperationAction(ISD::MULHU, MVT::i64, Legal);
  286     setOperationAction(ISD::SDIV, MVT::i64, Legal);
  287     setOperationAction(ISD::UDIV, MVT::i64, Legal);
  288     setOperationAction(ISD::SREM, MVT::i64, Legal);
  289     setOperationAction(ISD::UREM, MVT::i64, Legal);
  293     setOperationAction(ISD::SETCC, MVT::i64, Legal);
  294     setOperationAction(ISD::SELECT, MVT::i64, Legal);
  324   setOperationAction(ISD::BITCAST, Ty, Legal);
  325   setOperationAction(ISD::LOAD, Ty, Legal);
  326   setOperationAction(ISD::STORE, Ty, Legal);
  328   setOperationAction(ISD::INSERT_VECTOR_ELT, Ty, Legal);
  330   setOperationAction(ISD::UNDEF, Ty, Legal);
  332   setOperationAction(ISD::ADD, Ty, Legal);
  333   setOperationAction(ISD::AND, Ty, Legal);
  334   setOperationAction(ISD::CTLZ, Ty, Legal);
  335   setOperationAction(ISD::CTPOP, Ty, Legal);
  336   setOperationAction(ISD::MUL, Ty, Legal);
  337   setOperationAction(ISD::OR, Ty, Legal);
  338   setOperationAction(ISD::SDIV, Ty, Legal);
  339   setOperationAction(ISD::SREM, Ty, Legal);
  340   setOperationAction(ISD::SHL, Ty, Legal);
  341   setOperationAction(ISD::SRA, Ty, Legal);
  342   setOperationAction(ISD::SRL, Ty, Legal);
  343   setOperationAction(ISD::SUB, Ty, Legal);
  344   setOperationAction(ISD::SMAX, Ty, Legal);
  345   setOperationAction(ISD::SMIN, Ty, Legal);
  346   setOperationAction(ISD::UDIV, Ty, Legal);
  347   setOperationAction(ISD::UREM, Ty, Legal);
  348   setOperationAction(ISD::UMAX, Ty, Legal);
  349   setOperationAction(ISD::UMIN, Ty, Legal);
  351   setOperationAction(ISD::VSELECT, Ty, Legal);
  352   setOperationAction(ISD::XOR, Ty, Legal);
  355     setOperationAction(ISD::FP_TO_SINT, Ty, Legal);
  356     setOperationAction(ISD::FP_TO_UINT, Ty, Legal);
  357     setOperationAction(ISD::SINT_TO_FP, Ty, Legal);
  358     setOperationAction(ISD::UINT_TO_FP, Ty, Legal);
  361   setOperationAction(ISD::SETCC, Ty, Legal);
  378   setOperationAction(ISD::LOAD, Ty, Legal);
  379   setOperationAction(ISD::STORE, Ty, Legal);
  380   setOperationAction(ISD::BITCAST, Ty, Legal);
  381   setOperationAction(ISD::EXTRACT_VECTOR_ELT, Ty, Legal);
  382   setOperationAction(ISD::INSERT_VECTOR_ELT, Ty, Legal);
  386     setOperationAction(ISD::FABS,  Ty, Legal);
  387     setOperationAction(ISD::FADD,  Ty, Legal);
  388     setOperationAction(ISD::FDIV,  Ty, Legal);
  389     setOperationAction(ISD::FEXP2, Ty, Legal);
  390     setOperationAction(ISD::FLOG2, Ty, Legal);
  391     setOperationAction(ISD::FMA,   Ty, Legal);
  392     setOperationAction(ISD::FMUL,  Ty, Legal);
  393     setOperationAction(ISD::FRINT, Ty, Legal);
  394     setOperationAction(ISD::FSQRT, Ty, Legal);
  395     setOperationAction(ISD::FSUB,  Ty, Legal);
  396     setOperationAction(ISD::VSELECT, Ty, Legal);
  398     setOperationAction(ISD::SETCC, Ty, Legal);
lib/Target/NVPTX/NVPTXISelLowering.cpp
  385   setOperationAction(ISD::SINT_TO_FP, MVT::f16, Legal);
  386   setOperationAction(ISD::FP_TO_SINT, MVT::f16, Legal);
  392   setFP16OperationAction(ISD::SETCC, MVT::f16, Legal, Promote);
  393   setFP16OperationAction(ISD::SETCC, MVT::v2f16, Legal, Expand);
  404   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i64, Legal);
  405   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal);
  406   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16, Legal);
  407   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal);
  417   setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
  418   setOperationAction(ISD::BITREVERSE, MVT::i64, Legal);
  423   setOperationAction(ISD::ROTL, MVT::i64, Legal);
  424   setOperationAction(ISD::ROTR, MVT::i64, Legal);
  425   setOperationAction(ISD::ROTL, MVT::i32, Legal);
  426   setOperationAction(ISD::ROTR, MVT::i32, Legal);
  475   setOperationAction(ISD::ConstantFP, MVT::f64, Legal);
  476   setOperationAction(ISD::ConstantFP, MVT::f32, Legal);
  477   setOperationAction(ISD::ConstantFP, MVT::f16, Legal);
  480   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  495     setOperationAction(ISD::ABS,  Ty, Legal);
  496     setOperationAction(ISD::SMIN, Ty, Legal);
  497     setOperationAction(ISD::SMAX, Ty, Legal);
  498     setOperationAction(ISD::UMIN, Ty, Legal);
  499     setOperationAction(ISD::UMAX, Ty, Legal);
  501     setOperationAction(ISD::CTPOP, Ty, Legal);
  502     setOperationAction(ISD::CTLZ, Ty, Legal);
  537     setFP16OperationAction(Op, MVT::f16, Legal, Promote);
  538     setFP16OperationAction(Op, MVT::v2f16, Legal, Expand);
  550     setOperationAction(Op, MVT::f16, Legal);
  551     setOperationAction(Op, MVT::f32, Legal);
  552     setOperationAction(Op, MVT::f64, Legal);
  574     setOperationAction(Op, MVT::f32, Legal);
  575     setOperationAction(Op, MVT::f64, Legal);
lib/Target/PowerPC/PPCISelLowering.cpp
  157   setOperationAction(ISD::BITREVERSE, MVT::i32, Legal);
  158   setOperationAction(ISD::BITREVERSE, MVT::i64, Legal);
  172   setIndexedLoadAction(ISD::PRE_INC, MVT::i1, Legal);
  173   setIndexedLoadAction(ISD::PRE_INC, MVT::i8, Legal);
  174   setIndexedLoadAction(ISD::PRE_INC, MVT::i16, Legal);
  175   setIndexedLoadAction(ISD::PRE_INC, MVT::i32, Legal);
  176   setIndexedLoadAction(ISD::PRE_INC, MVT::i64, Legal);
  177   setIndexedStoreAction(ISD::PRE_INC, MVT::i1, Legal);
  178   setIndexedStoreAction(ISD::PRE_INC, MVT::i8, Legal);
  179   setIndexedStoreAction(ISD::PRE_INC, MVT::i16, Legal);
  180   setIndexedStoreAction(ISD::PRE_INC, MVT::i32, Legal);
  181   setIndexedStoreAction(ISD::PRE_INC, MVT::i64, Legal);
  183     setIndexedLoadAction(ISD::PRE_INC, MVT::f32, Legal);
  184     setIndexedLoadAction(ISD::PRE_INC, MVT::f64, Legal);
  185     setIndexedStoreAction(ISD::PRE_INC, MVT::f32, Legal);
  186     setIndexedStoreAction(ISD::PRE_INC, MVT::f64, Legal);
  192     setOperationAction(ISD::ADDC, VT, Legal);
  193     setOperationAction(ISD::ADDE, VT, Legal);
  194     setOperationAction(ISD::SUBC, VT, Legal);
  195     setOperationAction(ISD::SUBE, VT, Legal);
  286     setOperationAction(ISD::FMA  , MVT::f64, Legal);
  287     setOperationAction(ISD::FMA  , MVT::f32, Legal);
  304     setOperationAction(ISD::FCOPYSIGN, MVT::f64, Legal);
  305     setOperationAction(ISD::FCOPYSIGN, MVT::f32, Legal);
  312     setOperationAction(ISD::FFLOOR, MVT::f64, Legal);
  313     setOperationAction(ISD::FCEIL,  MVT::f64, Legal);
  314     setOperationAction(ISD::FTRUNC, MVT::f64, Legal);
  315     setOperationAction(ISD::FROUND, MVT::f64, Legal);
  317     setOperationAction(ISD::FFLOOR, MVT::f32, Legal);
  318     setOperationAction(ISD::FCEIL,  MVT::f32, Legal);
  319     setOperationAction(ISD::FTRUNC, MVT::f32, Legal);
  320     setOperationAction(ISD::FROUND, MVT::f32, Legal);
  332     setOperationAction(ISD::CTTZ , MVT::i32  , Legal);
  333     setOperationAction(ISD::CTTZ , MVT::i64  , Legal);
  340     setOperationAction(ISD::CTPOP, MVT::i32  , Legal);
  341     setOperationAction(ISD::CTPOP, MVT::i64  , Legal);
  375     setOperationAction(ISD::FP_TO_SINT, MVT::i32, Legal);
  376     setOperationAction(ISD::SINT_TO_FP, MVT::i32, Legal);
  377     setOperationAction(ISD::UINT_TO_FP, MVT::i32, Legal);
  388     setOperationAction(ISD::BITCAST, MVT::f32, Legal);
  389     setOperationAction(ISD::BITCAST, MVT::i32, Legal);
  390     setOperationAction(ISD::BITCAST, MVT::i64, Legal);
  391     setOperationAction(ISD::BITCAST, MVT::f64, Legal);
  425   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  515       setOperationAction(ISD::FP_TO_UINT, MVT::i32, Legal);
  552     setOperationAction(ISD::FMAXNUM_IEEE, MVT::f64, Legal);
  553     setOperationAction(ISD::FMAXNUM_IEEE, MVT::f32, Legal);
  554     setOperationAction(ISD::FMINNUM_IEEE, MVT::f64, Legal);
  555     setOperationAction(ISD::FMINNUM_IEEE, MVT::f32, Legal);
  563       setOperationAction(ISD::ADD, VT, Legal);
  564       setOperationAction(ISD::SUB, VT, Legal);
  569         setOperationAction(ISD::SMAX, VT, Legal);
  570         setOperationAction(ISD::SMIN, VT, Legal);
  571         setOperationAction(ISD::UMAX, VT, Legal);
  572         setOperationAction(ISD::UMIN, VT, Legal);
  582         setOperationAction(ISD::FMAXNUM, VT, Legal);
  583         setOperationAction(ISD::FMINNUM, VT, Legal);
  588         setOperationAction(ISD::CTPOP, VT, Legal);
  589         setOperationAction(ISD::CTLZ, VT, Legal);
  598         setOperationAction(ISD::CTTZ, VT, Legal);
  617       setOperationAction(ISD::VSELECT, VT, Legal);
  691     setOperationAction(ISD::AND   , MVT::v4i32, Legal);
  692     setOperationAction(ISD::OR    , MVT::v4i32, Legal);
  693     setOperationAction(ISD::XOR   , MVT::v4i32, Legal);
  694     setOperationAction(ISD::LOAD  , MVT::v4i32, Legal);
  696                        Subtarget.useCRBits() ? Legal : Expand);
  697     setOperationAction(ISD::STORE , MVT::v4i32, Legal);
  698     setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal);
  699     setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal);
  700     setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal);
  701     setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal);
  702     setOperationAction(ISD::FFLOOR, MVT::v4f32, Legal);
  703     setOperationAction(ISD::FCEIL, MVT::v4f32, Legal);
  704     setOperationAction(ISD::FTRUNC, MVT::v4f32, Legal);
  705     setOperationAction(ISD::FNEARBYINT, MVT::v4f32, Legal);
  717     setOperationAction(ISD::MUL, MVT::v4f32, Legal);
  718     setOperationAction(ISD::FMA, MVT::v4f32, Legal);
  721       setOperationAction(ISD::FDIV, MVT::v4f32, Legal);
  722       setOperationAction(ISD::FSQRT, MVT::v4f32, Legal);
  726       setOperationAction(ISD::MUL, MVT::v4i32, Legal);
  748       setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v2f64, Legal);
  749       setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Legal);
  751         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4f32, Legal);
  752         setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Legal);
  755         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Legal);
  756         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8i16, Legal);
  757         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4i32, Legal);
  758         setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v2i64, Legal);
  759         setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v16i8, Legal);
  760         setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v8i16, Legal);
  761         setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i32, Legal);
  762         setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i64, Legal);
  764       setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Legal);
  766       setOperationAction(ISD::FFLOOR, MVT::v2f64, Legal);
  767       setOperationAction(ISD::FCEIL, MVT::v2f64, Legal);
  768       setOperationAction(ISD::FTRUNC, MVT::v2f64, Legal);
  769       setOperationAction(ISD::FNEARBYINT, MVT::v2f64, Legal);
  770       setOperationAction(ISD::FROUND, MVT::v2f64, Legal);
  772       setOperationAction(ISD::FROUND, MVT::v4f32, Legal);
  774       setOperationAction(ISD::MUL, MVT::v2f64, Legal);
  775       setOperationAction(ISD::FMA, MVT::v2f64, Legal);
  777       setOperationAction(ISD::FDIV, MVT::v2f64, Legal);
  778       setOperationAction(ISD::FSQRT, MVT::v2f64, Legal);
  786       setOperationAction(ISD::LOAD, MVT::v2f64, Legal);
  787       setOperationAction(ISD::STORE, MVT::v2f64, Legal);
  789       setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2f64, Legal);
  801         setOperationAction(ISD::SHL, MVT::v2i64, Legal);
  802         setOperationAction(ISD::SRA, MVT::v2i64, Legal);
  803         setOperationAction(ISD::SRL, MVT::v2i64, Legal);
  813         setOperationAction(ISD::SETCC, MVT::v2i64, Legal);
  832       setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2i64, Legal);
  834       setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Legal);
  835       setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Legal);
  836       setOperationAction(ISD::FP_TO_SINT, MVT::v2i64, Legal);
  837       setOperationAction(ISD::FP_TO_UINT, MVT::v2i64, Legal);
  851       setOperationAction(ISD::FNEG, MVT::v4f32, Legal);
  852       setOperationAction(ISD::FNEG, MVT::v2f64, Legal);
  853       setOperationAction(ISD::FABS, MVT::v4f32, Legal);
  854       setOperationAction(ISD::FABS, MVT::v2f64, Legal);
  855       setOperationAction(ISD::FCOPYSIGN, MVT::v4f32, Legal);
  856       setOperationAction(ISD::FCOPYSIGN, MVT::v2f64, Legal);
  877       setOperationAction(ISD::SHL, MVT::v1i128, Legal);
  878       setOperationAction(ISD::SRL, MVT::v1i128, Legal);
  883         setOperationAction(ISD::FADD, MVT::f128, Legal);
  884         setOperationAction(ISD::FSUB, MVT::f128, Legal);
  885         setOperationAction(ISD::FDIV, MVT::f128, Legal);
  886         setOperationAction(ISD::FMUL, MVT::f128, Legal);
  887         setOperationAction(ISD::FP_EXTEND, MVT::f128, Legal);
  891         setOperationAction(ISD::FMA, MVT::f128, Legal);
  899         setOperationAction(ISD::FTRUNC, MVT::f128, Legal);
  900         setOperationAction(ISD::FRINT, MVT::f128, Legal);
  901         setOperationAction(ISD::FFLOOR, MVT::f128, Legal);
  902         setOperationAction(ISD::FCEIL, MVT::f128, Legal);
  903         setOperationAction(ISD::FNEARBYINT, MVT::f128, Legal);
  904         setOperationAction(ISD::FROUND, MVT::f128, Legal);
  907         setOperationAction(ISD::FP_ROUND, MVT::f64, Legal);
  908         setOperationAction(ISD::FP_ROUND, MVT::f32, Legal);
  930     setOperationAction(ISD::FADD, MVT::v4f64, Legal);
  931     setOperationAction(ISD::FSUB, MVT::v4f64, Legal);
  932     setOperationAction(ISD::FMUL, MVT::v4f64, Legal);
  935     setOperationAction(ISD::FCOPYSIGN, MVT::v4f64, Legal);
  946     setOperationAction(ISD::VSELECT, MVT::v4f64, Legal);
  948     setOperationAction(ISD::EXTRACT_VECTOR_ELT , MVT::v4f64, Legal);
  953     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4f64, Legal);
  956     setOperationAction(ISD::FP_TO_SINT , MVT::v4f64, Legal);
  959     setOperationAction(ISD::FP_ROUND , MVT::v4f32, Legal);
  960     setOperationAction(ISD::FP_EXTEND, MVT::v4f64, Legal);
  962     setOperationAction(ISD::FNEG , MVT::v4f64, Legal);
  963     setOperationAction(ISD::FABS , MVT::v4f64, Legal);
  973     setOperationAction(ISD::FMINNUM, MVT::v4f64, Legal);
  974     setOperationAction(ISD::FMAXNUM, MVT::v4f64, Legal);
  976     setIndexedLoadAction(ISD::PRE_INC, MVT::v4f64, Legal);
  977     setIndexedStoreAction(ISD::PRE_INC, MVT::v4f64, Legal);
  981     setOperationAction(ISD::FADD, MVT::v4f32, Legal);
  982     setOperationAction(ISD::FSUB, MVT::v4f32, Legal);
  983     setOperationAction(ISD::FMUL, MVT::v4f32, Legal);
  986     setOperationAction(ISD::FCOPYSIGN, MVT::v4f32, Legal);
  994     setOperationAction(ISD::VSELECT, MVT::v4f32, Legal);
  996     setOperationAction(ISD::EXTRACT_VECTOR_ELT , MVT::v4f32, Legal);
 1001     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4f32, Legal);
 1004     setOperationAction(ISD::FP_TO_SINT , MVT::v4f32, Legal);
 1007     setOperationAction(ISD::FNEG , MVT::v4f32, Legal);
 1008     setOperationAction(ISD::FABS , MVT::v4f32, Legal);
 1018     setOperationAction(ISD::FMINNUM, MVT::v4f32, Legal);
 1019     setOperationAction(ISD::FMAXNUM, MVT::v4f32, Legal);
 1021     setIndexedLoadAction(ISD::PRE_INC, MVT::v4f32, Legal);
 1022     setIndexedStoreAction(ISD::PRE_INC, MVT::v4f32, Legal);
 1026     setOperationAction(ISD::AND , MVT::v4i1, Legal);
 1027     setOperationAction(ISD::OR , MVT::v4i1, Legal);
 1028     setOperationAction(ISD::XOR , MVT::v4i1, Legal);
 1032     setOperationAction(ISD::VSELECT, MVT::v4i1, Legal);
 1050     setOperationAction(ISD::FFLOOR, MVT::v4f64, Legal);
 1051     setOperationAction(ISD::FCEIL,  MVT::v4f64, Legal);
 1052     setOperationAction(ISD::FTRUNC, MVT::v4f64, Legal);
 1053     setOperationAction(ISD::FROUND, MVT::v4f64, Legal);
 1055     setOperationAction(ISD::FFLOOR, MVT::v4f32, Legal);
 1056     setOperationAction(ISD::FCEIL,  MVT::v4f32, Legal);
 1057     setOperationAction(ISD::FTRUNC, MVT::v4f32, Legal);
 1058     setOperationAction(ISD::FROUND, MVT::v4f32, Legal);
 1068       setOperationAction(ISD::FDIV, MVT::v4f64, Legal);
 1069       setOperationAction(ISD::FSQRT, MVT::v4f64, Legal);
 1071       setOperationAction(ISD::FDIV, MVT::v4f32, Legal);
 1072       setOperationAction(ISD::FSQRT, MVT::v4f32, Legal);
 1083     setOperationAction(ISD::PREFETCH, MVT::Other, Legal);
 1085   setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, isPPC64 ? Legal : Custom);
lib/Target/RISCV/RISCVISelLowering.cpp
  153     setOperationAction(ISD::FMINNUM, MVT::f32, Legal);
  154     setOperationAction(ISD::FMAXNUM, MVT::f32, Legal);
  170     setOperationAction(ISD::FMINNUM, MVT::f64, Legal);
  171     setOperationAction(ISD::FMAXNUM, MVT::f64, Legal);
  194                      Subtarget.is64Bit() ? Legal : Custom);
  196   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  197   setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
lib/Target/Sparc/SparcISelLowering.cpp
 1454     setOperationAction(ISD::LOAD, MVT::v2i32, Legal);
 1455     setOperationAction(ISD::STORE, MVT::v2i32, Legal);
 1456     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i32, Legal);
 1457     setOperationAction(ISD::BUILD_VECTOR, MVT::v2i32, Legal);
 1566                        Subtarget->usePopc() ? Legal : Expand);
 1588   setOperationAction(ISD::ATOMIC_SWAP, MVT::i32, Legal);
 1590   setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Legal);
 1597     setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i64, Legal);
 1598     setOperationAction(ISD::ATOMIC_SWAP, MVT::i64, Legal);
 1687   setOperationAction(ISD::TRAP              , MVT::Other, Legal);
 1688   setOperationAction(ISD::DEBUGTRAP         , MVT::Other, Legal);
 1700                      Subtarget->usePopc() ? Legal : Expand);
 1703     setOperationAction(ISD::LOAD, MVT::f128, Legal);
 1704     setOperationAction(ISD::STORE, MVT::f128, Legal);
 1711     setOperationAction(ISD::FADD,  MVT::f128, Legal);
 1712     setOperationAction(ISD::FSUB,  MVT::f128, Legal);
 1713     setOperationAction(ISD::FMUL,  MVT::f128, Legal);
 1714     setOperationAction(ISD::FDIV,  MVT::f128, Legal);
 1715     setOperationAction(ISD::FSQRT, MVT::f128, Legal);
 1716     setOperationAction(ISD::FP_EXTEND, MVT::f128, Legal);
 1717     setOperationAction(ISD::FP_ROUND,  MVT::f64, Legal);
 1719       setOperationAction(ISD::FNEG, MVT::f128, Legal);
 1720       setOperationAction(ISD::FABS, MVT::f128, Legal);
lib/Target/SystemZ/SystemZISelLowering.cpp
  212       setOperationAction(ISD::STRICT_FP_TO_SINT, VT, Legal);
  214         setOperationAction(ISD::STRICT_FP_TO_UINT, VT, Legal);
  247   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  259   setOperationAction(ISD::CTLZ, MVT::i64, Legal);
  264     setOperationAction(ISD::CTPOP, MVT::i64, Legal);
  306       if (getOperationAction(Opcode, VT) == Legal)
  322       setOperationAction(ISD::LOAD, VT, Legal);
  323       setOperationAction(ISD::STORE, VT, Legal);
  324       setOperationAction(ISD::VSELECT, VT, Legal);
  325       setOperationAction(ISD::BITCAST, VT, Legal);
  326       setOperationAction(ISD::UNDEF, VT, Legal);
  339       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Legal);
  340       setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Legal);
  341       setOperationAction(ISD::ADD, VT, Legal);
  342       setOperationAction(ISD::SUB, VT, Legal);
  344         setOperationAction(ISD::MUL, VT, Legal);
  345       setOperationAction(ISD::AND, VT, Legal);
  346       setOperationAction(ISD::OR, VT, Legal);
  347       setOperationAction(ISD::XOR, VT, Legal);
  349         setOperationAction(ISD::CTPOP, VT, Legal);
  352       setOperationAction(ISD::CTTZ, VT, Legal);
  353       setOperationAction(ISD::CTLZ, VT, Legal);
  382     setOperationAction(ISD::FP_TO_SINT, MVT::v2i64, Legal);
  383     setOperationAction(ISD::FP_TO_SINT, MVT::v2f64, Legal);
  384     setOperationAction(ISD::FP_TO_UINT, MVT::v2i64, Legal);
  385     setOperationAction(ISD::FP_TO_UINT, MVT::v2f64, Legal);
  386     setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Legal);
  387     setOperationAction(ISD::SINT_TO_FP, MVT::v2f64, Legal);
  388     setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Legal);
  389     setOperationAction(ISD::UINT_TO_FP, MVT::v2f64, Legal);
  391     setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2i64, Legal);
  392     setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2f64, Legal);
  393     setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2i64, Legal);
  394     setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2f64, Legal);
  398     setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal);
  399     setOperationAction(ISD::FP_TO_SINT, MVT::v4f32, Legal);
  400     setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal);
  401     setOperationAction(ISD::FP_TO_UINT, MVT::v4f32, Legal);
  402     setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal);
  403     setOperationAction(ISD::SINT_TO_FP, MVT::v4f32, Legal);
  404     setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal);
  405     setOperationAction(ISD::UINT_TO_FP, MVT::v4f32, Legal);
  407     setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4i32, Legal);
  408     setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4f32, Legal);
  409     setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4i32, Legal);
  410     setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4f32, Legal);
  420       setOperationAction(ISD::FRINT, VT, Legal);
  424         setOperationAction(ISD::FNEARBYINT, VT, Legal);
  425         setOperationAction(ISD::FFLOOR, VT, Legal);
  426         setOperationAction(ISD::FCEIL, VT, Legal);
  427         setOperationAction(ISD::FTRUNC, VT, Legal);
  428         setOperationAction(ISD::FROUND, VT, Legal);
  439       setOperationAction(ISD::STRICT_FADD, VT, Legal);
  440       setOperationAction(ISD::STRICT_FSUB, VT, Legal);
  441       setOperationAction(ISD::STRICT_FMUL, VT, Legal);
  442       setOperationAction(ISD::STRICT_FDIV, VT, Legal);
  443       setOperationAction(ISD::STRICT_FMA, VT, Legal);
  444       setOperationAction(ISD::STRICT_FSQRT, VT, Legal);
  445       setOperationAction(ISD::STRICT_FRINT, VT, Legal);
  446       setOperationAction(ISD::STRICT_FP_ROUND, VT, Legal);
  447       setOperationAction(ISD::STRICT_FP_EXTEND, VT, Legal);
  449         setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal);
  450         setOperationAction(ISD::STRICT_FFLOOR, VT, Legal);
  451         setOperationAction(ISD::STRICT_FCEIL, VT, Legal);
  452         setOperationAction(ISD::STRICT_FROUND, VT, Legal);
  453         setOperationAction(ISD::STRICT_FTRUNC, VT, Legal);
  461     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4f32, Legal);
  462     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v2f64, Legal);
  472     setOperationAction(ISD::FADD, MVT::v2f64, Legal);
  473     setOperationAction(ISD::FNEG, MVT::v2f64, Legal);
  474     setOperationAction(ISD::FSUB, MVT::v2f64, Legal);
  475     setOperationAction(ISD::FMUL, MVT::v2f64, Legal);
  476     setOperationAction(ISD::FMA, MVT::v2f64, Legal);
  477     setOperationAction(ISD::FDIV, MVT::v2f64, Legal);
  478     setOperationAction(ISD::FABS, MVT::v2f64, Legal);
  479     setOperationAction(ISD::FSQRT, MVT::v2f64, Legal);
  480     setOperationAction(ISD::FRINT, MVT::v2f64, Legal);
  481     setOperationAction(ISD::FNEARBYINT, MVT::v2f64, Legal);
  482     setOperationAction(ISD::FFLOOR, MVT::v2f64, Legal);
  483     setOperationAction(ISD::FCEIL, MVT::v2f64, Legal);
  484     setOperationAction(ISD::FTRUNC, MVT::v2f64, Legal);
  485     setOperationAction(ISD::FROUND, MVT::v2f64, Legal);
  488     setOperationAction(ISD::STRICT_FADD, MVT::v2f64, Legal);
  489     setOperationAction(ISD::STRICT_FSUB, MVT::v2f64, Legal);
  490     setOperationAction(ISD::STRICT_FMUL, MVT::v2f64, Legal);
  491     setOperationAction(ISD::STRICT_FMA, MVT::v2f64, Legal);
  492     setOperationAction(ISD::STRICT_FDIV, MVT::v2f64, Legal);
  493     setOperationAction(ISD::STRICT_FSQRT, MVT::v2f64, Legal);
  494     setOperationAction(ISD::STRICT_FRINT, MVT::v2f64, Legal);
  495     setOperationAction(ISD::STRICT_FNEARBYINT, MVT::v2f64, Legal);
  496     setOperationAction(ISD::STRICT_FFLOOR, MVT::v2f64, Legal);
  497     setOperationAction(ISD::STRICT_FCEIL, MVT::v2f64, Legal);
  498     setOperationAction(ISD::STRICT_FTRUNC, MVT::v2f64, Legal);
  499     setOperationAction(ISD::STRICT_FROUND, MVT::v2f64, Legal);
  504     setOperationAction(ISD::FADD, MVT::v4f32, Legal);
  505     setOperationAction(ISD::FNEG, MVT::v4f32, Legal);
  506     setOperationAction(ISD::FSUB, MVT::v4f32, Legal);
  507     setOperationAction(ISD::FMUL, MVT::v4f32, Legal);
  508     setOperationAction(ISD::FMA, MVT::v4f32, Legal);
  509     setOperationAction(ISD::FDIV, MVT::v4f32, Legal);
  510     setOperationAction(ISD::FABS, MVT::v4f32, Legal);
  511     setOperationAction(ISD::FSQRT, MVT::v4f32, Legal);
  512     setOperationAction(ISD::FRINT, MVT::v4f32, Legal);
  513     setOperationAction(ISD::FNEARBYINT, MVT::v4f32, Legal);
  514     setOperationAction(ISD::FFLOOR, MVT::v4f32, Legal);
  515     setOperationAction(ISD::FCEIL, MVT::v4f32, Legal);
  516     setOperationAction(ISD::FTRUNC, MVT::v4f32, Legal);
  517     setOperationAction(ISD::FROUND, MVT::v4f32, Legal);
  519     setOperationAction(ISD::FMAXNUM, MVT::f64, Legal);
  520     setOperationAction(ISD::FMAXIMUM, MVT::f64, Legal);
  521     setOperationAction(ISD::FMINNUM, MVT::f64, Legal);
  522     setOperationAction(ISD::FMINIMUM, MVT::f64, Legal);
  524     setOperationAction(ISD::FMAXNUM, MVT::v2f64, Legal);
  525     setOperationAction(ISD::FMAXIMUM, MVT::v2f64, Legal);
  526     setOperationAction(ISD::FMINNUM, MVT::v2f64, Legal);
  527     setOperationAction(ISD::FMINIMUM, MVT::v2f64, Legal);
  529     setOperationAction(ISD::FMAXNUM, MVT::f32, Legal);
  530     setOperationAction(ISD::FMAXIMUM, MVT::f32, Legal);
  531     setOperationAction(ISD::FMINNUM, MVT::f32, Legal);
  532     setOperationAction(ISD::FMINIMUM, MVT::f32, Legal);
  534     setOperationAction(ISD::FMAXNUM, MVT::v4f32, Legal);
  535     setOperationAction(ISD::FMAXIMUM, MVT::v4f32, Legal);
  536     setOperationAction(ISD::FMINNUM, MVT::v4f32, Legal);
  537     setOperationAction(ISD::FMINIMUM, MVT::v4f32, Legal);
  539     setOperationAction(ISD::FMAXNUM, MVT::f128, Legal);
  540     setOperationAction(ISD::FMAXIMUM, MVT::f128, Legal);
  541     setOperationAction(ISD::FMINNUM, MVT::f128, Legal);
  542     setOperationAction(ISD::FMINIMUM, MVT::f128, Legal);
  545     setOperationAction(ISD::STRICT_FADD, MVT::v4f32, Legal);
  546     setOperationAction(ISD::STRICT_FSUB, MVT::v4f32, Legal);
  547     setOperationAction(ISD::STRICT_FMUL, MVT::v4f32, Legal);
  548     setOperationAction(ISD::STRICT_FMA, MVT::v4f32, Legal);
  549     setOperationAction(ISD::STRICT_FDIV, MVT::v4f32, Legal);
  550     setOperationAction(ISD::STRICT_FSQRT, MVT::v4f32, Legal);
  551     setOperationAction(ISD::STRICT_FRINT, MVT::v4f32, Legal);
  552     setOperationAction(ISD::STRICT_FNEARBYINT, MVT::v4f32, Legal);
  553     setOperationAction(ISD::STRICT_FFLOOR, MVT::v4f32, Legal);
  554     setOperationAction(ISD::STRICT_FCEIL, MVT::v4f32, Legal);
  555     setOperationAction(ISD::STRICT_FROUND, MVT::v4f32, Legal);
  556     setOperationAction(ISD::STRICT_FTRUNC, MVT::v4f32, Legal);
  559       setOperationAction(ISD::STRICT_FMAXNUM, VT, Legal);
  560       setOperationAction(ISD::STRICT_FMINNUM, VT, Legal);
  565   setOperationAction(ISD::FMA, MVT::f32,  Legal);
  566   setOperationAction(ISD::FMA, MVT::f64,  Legal);
  568     setOperationAction(ISD::FMA, MVT::f128, Legal);
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
   86     setOperationAction(ISD::ConstantFP, T, Legal);
   99       setOperationAction(Op, T, Legal);
  101     setOperationAction(ISD::FMINIMUM, T, Legal);
  102     setOperationAction(ISD::FMAXIMUM, T, Legal);
  129         setOperationAction(Op, T, Legal);
  251         setLoadExtAction(Ext, MVT::v8i16, MVT::v8i8, Legal);
  252         setLoadExtAction(Ext, MVT::v4i32, MVT::v4i16, Legal);
  253         setLoadExtAction(Ext, MVT::v2i64, MVT::v2i32, Legal);
  262   setOperationAction(ISD::TRAP, MVT::Other, Legal);
lib/Target/X86/X86ISelLowering.cpp
  326     setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal);
  327   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16  , Legal);
  328   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8   , Legal);
  344     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i16  , Legal);
  345     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32  , Legal);
  348       setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Legal);
  461     setOperationAction(ISD::PREFETCH      , MVT::Other, Legal);
  496   setOperationAction(ISD::TRAP, MVT::Other, Legal);
  497   setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
  865     setOperationAction(ISD::MULHU,              MVT::v8i16, Legal);
  866     setOperationAction(ISD::MULHS,              MVT::v8i16, Legal);
  867     setOperationAction(ISD::MUL,                MVT::v8i16, Legal);
  873       setOperationAction(ISD::SMAX, VT, VT == MVT::v8i16 ? Legal : Custom);
  874       setOperationAction(ISD::SMIN, VT, VT == MVT::v8i16 ? Legal : Custom);
  875       setOperationAction(ISD::UMAX, VT, VT == MVT::v16i8 ? Legal : Custom);
  876       setOperationAction(ISD::UMIN, VT, VT == MVT::v16i8 ? Legal : Custom);
  879     setOperationAction(ISD::UADDSAT,            MVT::v16i8, Legal);
  880     setOperationAction(ISD::SADDSAT,            MVT::v16i8, Legal);
  881     setOperationAction(ISD::USUBSAT,            MVT::v16i8, Legal);
  882     setOperationAction(ISD::SSUBSAT,            MVT::v16i8, Legal);
  883     setOperationAction(ISD::UADDSAT,            MVT::v8i16, Legal);
  884     setOperationAction(ISD::SADDSAT,            MVT::v8i16, Legal);
  885     setOperationAction(ISD::USUBSAT,            MVT::v8i16, Legal);
  886     setOperationAction(ISD::SSUBSAT,            MVT::v8i16, Legal);
  934     setOperationAction(ISD::FP_TO_SINT,         MVT::v4i32, Legal);
  957     setOperationAction(ISD::SINT_TO_FP,         MVT::v4i32, Legal);
 1014     setOperationAction(ISD::ABS,                MVT::v16i8, Legal);
 1015     setOperationAction(ISD::ABS,                MVT::v8i16, Legal);
 1016     setOperationAction(ISD::ABS,                MVT::v4i32, Legal);
 1032       setOperationAction(ISD::FFLOOR,           RoundedTy,  Legal);
 1033       setOperationAction(ISD::FCEIL,            RoundedTy,  Legal);
 1034       setOperationAction(ISD::FTRUNC,           RoundedTy,  Legal);
 1035       setOperationAction(ISD::FRINT,            RoundedTy,  Legal);
 1036       setOperationAction(ISD::FNEARBYINT,       RoundedTy,  Legal);
 1039     setOperationAction(ISD::SMAX,               MVT::v16i8, Legal);
 1040     setOperationAction(ISD::SMAX,               MVT::v4i32, Legal);
 1041     setOperationAction(ISD::UMAX,               MVT::v8i16, Legal);
 1042     setOperationAction(ISD::UMAX,               MVT::v4i32, Legal);
 1043     setOperationAction(ISD::SMIN,               MVT::v16i8, Legal);
 1044     setOperationAction(ISD::SMIN,               MVT::v4i32, Legal);
 1045     setOperationAction(ISD::UMIN,               MVT::v8i16, Legal);
 1046     setOperationAction(ISD::UMIN,               MVT::v4i32, Legal);
 1049     setOperationAction(ISD::MUL,                MVT::v4i32, Legal);
 1053     setOperationAction(ISD::VSELECT,            MVT::v16i8, Legal);
 1058       setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Legal);
 1059       setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Legal);
 1064       setLoadExtAction(LoadExtOp, MVT::v8i16, MVT::v8i8,  Legal);
 1065       setLoadExtAction(LoadExtOp, MVT::v4i32, MVT::v4i8,  Legal);
 1066       setLoadExtAction(LoadExtOp, MVT::v2i64, MVT::v2i8,  Legal);
 1067       setLoadExtAction(LoadExtOp, MVT::v4i32, MVT::v4i16, Legal);
 1068       setLoadExtAction(LoadExtOp, MVT::v2i64, MVT::v2i16, Legal);
 1069       setLoadExtAction(LoadExtOp, MVT::v2i64, MVT::v2i32, Legal);
 1108       setOperationAction(ISD::FFLOOR,     VT, Legal);
 1109       setOperationAction(ISD::FCEIL,      VT, Legal);
 1110       setOperationAction(ISD::FTRUNC,     VT, Legal);
 1111       setOperationAction(ISD::FRINT,      VT, Legal);
 1112       setOperationAction(ISD::FNEARBYINT, VT, Legal);
 1122     setOperationAction(ISD::FP_TO_SINT,         MVT::v8i32, Legal);
 1124     setOperationAction(ISD::SINT_TO_FP,         MVT::v8i32, Legal);
 1184         setOperationAction(ISD::FMA, VT, Legal);
 1188       setOperationAction(ISD::ADD, VT, HasInt256 ? Legal : Custom);
 1189       setOperationAction(ISD::SUB, VT, HasInt256 ? Legal : Custom);
 1193     setOperationAction(ISD::MUL,       MVT::v8i32,  HasInt256 ? Legal : Custom);
 1194     setOperationAction(ISD::MUL,       MVT::v16i16, HasInt256 ? Legal : Custom);
 1199     setOperationAction(ISD::MULHU,     MVT::v16i16, HasInt256 ? Legal : Custom);
 1200     setOperationAction(ISD::MULHS,     MVT::v16i16, HasInt256 ? Legal : Custom);
 1210     setOperationAction(ISD::UADDSAT,   MVT::v32i8,  HasInt256 ? Legal : Custom);
 1211     setOperationAction(ISD::SADDSAT,   MVT::v32i8,  HasInt256 ? Legal : Custom);
 1212     setOperationAction(ISD::USUBSAT,   MVT::v32i8,  HasInt256 ? Legal : Custom);
 1213     setOperationAction(ISD::SSUBSAT,   MVT::v32i8,  HasInt256 ? Legal : Custom);
 1214     setOperationAction(ISD::UADDSAT,   MVT::v16i16, HasInt256 ? Legal : Custom);
 1215     setOperationAction(ISD::SADDSAT,   MVT::v16i16, HasInt256 ? Legal : Custom);
 1216     setOperationAction(ISD::USUBSAT,   MVT::v16i16, HasInt256 ? Legal : Custom);
 1217     setOperationAction(ISD::SSUBSAT,   MVT::v16i16, HasInt256 ? Legal : Custom);
 1220       setOperationAction(ISD::ABS,  VT, HasInt256 ? Legal : Custom);
 1221       setOperationAction(ISD::SMAX, VT, HasInt256 ? Legal : Custom);
 1222       setOperationAction(ISD::UMAX, VT, HasInt256 ? Legal : Custom);
 1223       setOperationAction(ISD::SMIN, VT, HasInt256 ? Legal : Custom);
 1224       setOperationAction(ISD::UMIN, VT, HasInt256 ? Legal : Custom);
 1239         setLoadExtAction(LoadExtOp, MVT::v16i16, MVT::v16i8, Legal);
 1240         setLoadExtAction(LoadExtOp, MVT::v8i32,  MVT::v8i8,  Legal);
 1241         setLoadExtAction(LoadExtOp, MVT::v4i64,  MVT::v4i8,  Legal);
 1242         setLoadExtAction(LoadExtOp, MVT::v8i32,  MVT::v8i16, Legal);
 1243         setLoadExtAction(LoadExtOp, MVT::v4i64,  MVT::v4i16, Legal);
 1244         setLoadExtAction(LoadExtOp, MVT::v4i64,  MVT::v4i32, Legal);
 1250       setOperationAction(ISD::MLOAD,  VT, Subtarget.hasVLX() ? Legal : Custom);
 1251       setOperationAction(ISD::MSTORE, VT, Legal);
 1258       setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal);
 1270       setOperationAction(ISD::INSERT_SUBVECTOR,   VT, Legal);
 1276       setOperationAction(ISD::VSELECT, MVT::v32i8, Legal);
 1364       setLoadExtAction(ExtType, MVT::v16i32, MVT::v16i8,  Legal);
 1365       setLoadExtAction(ExtType, MVT::v16i32, MVT::v16i16, Legal);
 1366       setLoadExtAction(ExtType, MVT::v8i64,  MVT::v8i8,   Legal);
 1367       setLoadExtAction(ExtType, MVT::v8i64,  MVT::v8i16,  Legal);
 1368       setLoadExtAction(ExtType, MVT::v8i64,  MVT::v8i32,  Legal);
 1374       setOperationAction(ISD::FMA,   VT, Legal);
 1378     setOperationAction(ISD::FP_TO_SINT,         MVT::v16i32, Legal);
 1382     setOperationAction(ISD::FP_TO_UINT,         MVT::v16i32, Legal);
 1386     setOperationAction(ISD::SINT_TO_FP,         MVT::v16i32, Legal);
 1387     setOperationAction(ISD::UINT_TO_FP,         MVT::v16i32, Legal);
 1391     setTruncStoreAction(MVT::v8i64,   MVT::v8i8,   Legal);
 1392     setTruncStoreAction(MVT::v8i64,   MVT::v8i16,  Legal);
 1393     setTruncStoreAction(MVT::v8i64,   MVT::v8i32,  Legal);
 1394     setTruncStoreAction(MVT::v16i32,  MVT::v16i8,  Legal);
 1395     setTruncStoreAction(MVT::v16i32,  MVT::v16i16, Legal);
 1423       setOperationAction(ISD::FFLOOR,           VT, Legal);
 1424       setOperationAction(ISD::FCEIL,            VT, Legal);
 1425       setOperationAction(ISD::FTRUNC,           VT, Legal);
 1426       setOperationAction(ISD::FRINT,            VT, Legal);
 1427       setOperationAction(ISD::FNEARBYINT,       VT, Legal);
 1444     setOperationAction(ISD::MUL,                MVT::v16i32, Legal);
 1450       setOperationAction(ISD::SMAX,             VT, Legal);
 1451       setOperationAction(ISD::UMAX,             VT, Legal);
 1452       setOperationAction(ISD::SMIN,             VT, Legal);
 1453       setOperationAction(ISD::UMIN,             VT, Legal);
 1454       setOperationAction(ISD::ABS,              VT, Legal);
 1471       setOperationAction(ISD::SINT_TO_FP, MVT::v8i64, Legal);
 1472       setOperationAction(ISD::UINT_TO_FP, MVT::v8i64, Legal);
 1473       setOperationAction(ISD::FP_TO_SINT, MVT::v8i64, Legal);
 1474       setOperationAction(ISD::FP_TO_UINT, MVT::v8i64, Legal);
 1476       setOperationAction(ISD::MUL,        MVT::v8i64, Legal);
 1482         setOperationAction(ISD::CTLZ,            VT, Legal);
 1488         setOperationAction(ISD::CTPOP, VT, Legal);
 1496       setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal);
 1505       setOperationAction(ISD::INSERT_SUBVECTOR,    VT, Legal);
 1506       setOperationAction(ISD::MLOAD,               VT, Legal);
 1507       setOperationAction(ISD::MSTORE,              VT, Legal);
 1537     setOperationAction(ISD::FP_TO_UINT,         MVT::v8i32, Legal);
 1538     setOperationAction(ISD::FP_TO_UINT,         MVT::v4i32, Legal);
 1540     setOperationAction(ISD::UINT_TO_FP,         MVT::v8i32, Legal);
 1541     setOperationAction(ISD::UINT_TO_FP,         MVT::v4i32, Legal);
 1544       setOperationAction(ISD::SMAX, VT, Legal);
 1545       setOperationAction(ISD::UMAX, VT, Legal);
 1546       setOperationAction(ISD::SMIN, VT, Legal);
 1547       setOperationAction(ISD::UMIN, VT, Legal);
 1548       setOperationAction(ISD::ABS,  VT, Legal);
 1566         setOperationAction(ISD::SINT_TO_FP,     VT, Legal);
 1567         setOperationAction(ISD::UINT_TO_FP,     VT, Legal);
 1568         setOperationAction(ISD::FP_TO_SINT,     VT, Legal);
 1569         setOperationAction(ISD::FP_TO_UINT,     VT, Legal);
 1571         setOperationAction(ISD::MUL,            VT, Legal);
 1577         setOperationAction(ISD::CTLZ,            VT, Legal);
 1583         setOperationAction(ISD::CTPOP, VT, Legal);
 1638     setOperationAction(ISD::MUL,                MVT::v32i16, Legal);
 1640     setOperationAction(ISD::MULHS,              MVT::v32i16, Legal);
 1641     setOperationAction(ISD::MULHU,              MVT::v32i16, Legal);
 1646     setOperationAction(ISD::INSERT_SUBVECTOR,   MVT::v32i16, Legal);
 1647     setOperationAction(ISD::INSERT_SUBVECTOR,   MVT::v64i8, Legal);
 1665     setTruncStoreAction(MVT::v32i16,  MVT::v32i8, Legal);
 1670       setOperationAction(ISD::ABS,          VT, Legal);
 1674       setOperationAction(ISD::MLOAD,        VT, Legal);
 1675       setOperationAction(ISD::MSTORE,       VT, Legal);
 1678       setOperationAction(ISD::SMAX,         VT, Legal);
 1679       setOperationAction(ISD::UMAX,         VT, Legal);
 1680       setOperationAction(ISD::SMIN,         VT, Legal);
 1681       setOperationAction(ISD::UMIN,         VT, Legal);
 1683       setOperationAction(ISD::UADDSAT,      VT, Legal);
 1684       setOperationAction(ISD::SADDSAT,      VT, Legal);
 1685       setOperationAction(ISD::USUBSAT,      VT, Legal);
 1686       setOperationAction(ISD::SSUBSAT,      VT, Legal);
 1696       setLoadExtAction(ExtType, MVT::v32i16, MVT::v32i8, Legal);
 1701         setOperationAction(ISD::CTPOP, VT, Legal);
 1712       setOperationAction(ISD::MLOAD,  VT, Subtarget.hasVLX() ? Legal : Custom);
 1713       setOperationAction(ISD::MSTORE, VT, Subtarget.hasVLX() ? Legal : Custom);
 1722         setOperationAction(ISD::CTPOP, VT, Legal);
 1727     setTruncStoreAction(MVT::v4i64, MVT::v4i8,  Legal);
 1728     setTruncStoreAction(MVT::v4i64, MVT::v4i16, Legal);
 1729     setTruncStoreAction(MVT::v4i64, MVT::v4i32, Legal);
 1730     setTruncStoreAction(MVT::v8i32, MVT::v8i8,  Legal);
 1731     setTruncStoreAction(MVT::v8i32, MVT::v8i16, Legal);
 1733     setTruncStoreAction(MVT::v2i64, MVT::v2i8,  Legal);
 1734     setTruncStoreAction(MVT::v2i64, MVT::v2i16, Legal);
 1735     setTruncStoreAction(MVT::v2i64, MVT::v2i32, Legal);
 1736     setTruncStoreAction(MVT::v4i32, MVT::v4i8,  Legal);
 1737     setTruncStoreAction(MVT::v4i32, MVT::v4i16, Legal);
 1751       setTruncStoreAction(MVT::v16i16,  MVT::v16i8, Legal);
 1752       setTruncStoreAction(MVT::v8i16,   MVT::v8i8,  Legal);
lib/Target/XCore/XCoreISelLowering.cpp
  110   setOperationAction(ISD::TRAP, MVT::Other, Legal);