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
  896     if (Op >= array_lengthof(OpActions[0])) return Custom;
  984        getOperationAction(Op, VT) == Custom);
 1002        getOperationAction(Op, VT) == Custom ||
 1009     return getOperationAction(Op, VT) == Custom;
 1115            getLoadExtAction(ExtType, ValVT, MemVT) == Custom;
 1141        getTruncStoreAction(ValVT, MemVT) == Custom);
 1159        getIndexedLoadAction(IdxMode, VT.getSimpleVT()) == Custom);
 1177        getIndexedStoreAction(IdxMode, VT.getSimpleVT()) == Custom);
 1205            getCondCodeAction(CC, VT) == Custom;
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  517     case TargetLowering::Custom: {
  630     case TargetLowering::Custom: {
  690     case TargetLowering::Custom:
  856     case TargetLowering::Custom:
 1082       Action = TargetLowering::Custom;
 1222     case TargetLowering::Custom:
lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
 3131   if (TLI.getOperationAction(ISD::SDIVREM, VT) == TargetLowering::Custom) {
 3186     Action == TargetLowering::Custom;
 3322   if (TLI.getOperationAction(ISD::SDIVREM, VT) == TargetLowering::Custom) {
 3480   if (TLI.getOperationAction(ISD::UDIVREM, VT) == TargetLowering::Custom) {
 3507   if (TLI.getOperationAction(ISD::UDIVREM, VT) == TargetLowering::Custom) {
 3990       TLI.getOperationAction(ISD::SINT_TO_FP, SrcVT) == TargetLowering::Custom){
lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
  879   if (TLI.getOperationAction(N->getOpcode(), VT) != TargetLowering::Custom)
  917   if (TLI.getOperationAction(N->getOpcode(), VT) != TargetLowering::Custom)
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  256       case TargetLowering::Custom:
  284       case TargetLowering::Custom: {
  494   case TargetLowering::Custom: {
lib/Target/AArch64/AArch64ISelLowering.cpp
  192   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
  193   setOperationAction(ISD::GlobalTLSAddress, MVT::i64, Custom);
  194   setOperationAction(ISD::SETCC, MVT::i32, Custom);
  195   setOperationAction(ISD::SETCC, MVT::i64, Custom);
  196   setOperationAction(ISD::SETCC, MVT::f16, Custom);
  197   setOperationAction(ISD::SETCC, MVT::f32, Custom);
  198   setOperationAction(ISD::SETCC, MVT::f64, Custom);
  202   setOperationAction(ISD::BR_CC, MVT::i32, Custom);
  203   setOperationAction(ISD::BR_CC, MVT::i64, Custom);
  204   setOperationAction(ISD::BR_CC, MVT::f16, Custom);
  205   setOperationAction(ISD::BR_CC, MVT::f32, Custom);
  206   setOperationAction(ISD::BR_CC, MVT::f64, Custom);
  207   setOperationAction(ISD::SELECT, MVT::i32, Custom);
  208   setOperationAction(ISD::SELECT, MVT::i64, Custom);
  209   setOperationAction(ISD::SELECT, MVT::f16, Custom);
  210   setOperationAction(ISD::SELECT, MVT::f32, Custom);
  211   setOperationAction(ISD::SELECT, MVT::f64, Custom);
  212   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
  213   setOperationAction(ISD::SELECT_CC, MVT::i64, Custom);
  214   setOperationAction(ISD::SELECT_CC, MVT::f16, Custom);
  215   setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
  216   setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
  217   setOperationAction(ISD::BR_JT, MVT::Other, Custom);
  218   setOperationAction(ISD::JumpTable, MVT::i64, Custom);
  220   setOperationAction(ISD::SHL_PARTS, MVT::i64, Custom);
  221   setOperationAction(ISD::SRA_PARTS, MVT::i64, Custom);
  222   setOperationAction(ISD::SRL_PARTS, MVT::i64, Custom);
  232   setOperationAction(ISD::XOR, MVT::i32, Custom);
  233   setOperationAction(ISD::XOR, MVT::i64, Custom);
  238   setOperationAction(ISD::FADD, MVT::f128, Custom);
  241   setOperationAction(ISD::FDIV, MVT::f128, Custom);
  243   setOperationAction(ISD::FMUL, MVT::f128, Custom);
  251   setOperationAction(ISD::FSUB, MVT::f128, Custom);
  253   setOperationAction(ISD::SETCC, MVT::f128, Custom);
  254   setOperationAction(ISD::BR_CC, MVT::f128, Custom);
  255   setOperationAction(ISD::SELECT, MVT::f128, Custom);
  256   setOperationAction(ISD::SELECT_CC, MVT::f128, Custom);
  257   setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom);
  261   setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
  262   setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
  263   setOperationAction(ISD::FP_TO_SINT, MVT::i128, Custom);
  264   setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
  265   setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
  266   setOperationAction(ISD::FP_TO_UINT, MVT::i128, Custom);
  267   setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
  268   setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
  269   setOperationAction(ISD::SINT_TO_FP, MVT::i128, Custom);
  270   setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom);
  271   setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom);
  272   setOperationAction(ISD::UINT_TO_FP, MVT::i128, Custom);
  273   setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
  274   setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
  277   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  278   setOperationAction(ISD::VAARG, MVT::Other, Custom);
  279   setOperationAction(ISD::VACOPY, MVT::Other, Custom);
  287     setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64, Custom);
  292   setOperationAction(ISD::ConstantPool, MVT::i64, Custom);
  295   setOperationAction(ISD::BlockAddress, MVT::i64, Custom);
  298   setOperationAction(ISD::ADDC, MVT::i32, Custom);
  299   setOperationAction(ISD::ADDE, MVT::i32, Custom);
  300   setOperationAction(ISD::SUBC, MVT::i32, Custom);
  301   setOperationAction(ISD::SUBE, MVT::i32, Custom);
  302   setOperationAction(ISD::ADDC, MVT::i64, Custom);
  303   setOperationAction(ISD::ADDE, MVT::i64, Custom);
  304   setOperationAction(ISD::SUBC, MVT::i64, Custom);
  305   setOperationAction(ISD::SUBE, MVT::i64, Custom);
  319   setOperationAction(ISD::CTPOP, MVT::i32, Custom);
  320   setOperationAction(ISD::CTPOP, MVT::i64, Custom);
  336   setOperationAction(ISD::SADDO, MVT::i32, Custom);
  337   setOperationAction(ISD::SADDO, MVT::i64, Custom);
  338   setOperationAction(ISD::UADDO, MVT::i32, Custom);
  339   setOperationAction(ISD::UADDO, MVT::i64, Custom);
  340   setOperationAction(ISD::SSUBO, MVT::i32, Custom);
  341   setOperationAction(ISD::SSUBO, MVT::i64, Custom);
  342   setOperationAction(ISD::USUBO, MVT::i32, Custom);
  343   setOperationAction(ISD::USUBO, MVT::i64, Custom);
  344   setOperationAction(ISD::SMULO, MVT::i32, Custom);
  345   setOperationAction(ISD::SMULO, MVT::i64, Custom);
  346   setOperationAction(ISD::UMULO, MVT::i32, Custom);
  347   setOperationAction(ISD::UMULO, MVT::i64, Custom);
  355   setOperationAction(ISD::FCOPYSIGN, MVT::f64, Custom);
  356   setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom);
  358     setOperationAction(ISD::FCOPYSIGN, MVT::f16, Custom);
  503   setOperationAction(ISD::PREFETCH, MVT::Other, Custom);
  505   setOperationAction(ISD::FLT_ROUNDS_, MVT::i32, Custom);
  507   setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i128, Custom);
  508   setOperationAction(ISD::ATOMIC_LOAD_SUB, MVT::i32, Custom);
  509   setOperationAction(ISD::ATOMIC_LOAD_SUB, MVT::i64, Custom);
  510   setOperationAction(ISD::ATOMIC_LOAD_AND, MVT::i32, Custom);
  511   setOperationAction(ISD::ATOMIC_LOAD_AND, MVT::i64, Custom);
  521     setOperationAction(ISD::FSINCOS, MVT::f64, Custom);
  522     setOperationAction(ISD::FSINCOS, MVT::f32, Custom);
  554   setOperationAction(ISD::BITCAST, MVT::i16, Custom);
  555   setOperationAction(ISD::BITCAST, MVT::f16, Custom);
  657   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
  704     setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom);
  705     setOperationAction(ISD::UINT_TO_FP, MVT::v2i32, Custom);
  706     setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Custom);
  707     setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Custom);
  710     setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Custom);
  711     setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Custom);
  714       setOperationAction(ISD::SINT_TO_FP, MVT::v4i16, Custom);
  715       setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom);
  716       setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Custom);
  717       setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Custom);
  733     setOperationAction(ISD::MUL, MVT::v8i16, Custom);
  734     setOperationAction(ISD::MUL, MVT::v4i32, Custom);
  735     setOperationAction(ISD::MUL, MVT::v2i64, Custom);
  740       setOperationAction(ISD::VECREDUCE_ADD, VT, Custom);
  741       setOperationAction(ISD::VECREDUCE_SMAX, VT, Custom);
  742       setOperationAction(ISD::VECREDUCE_SMIN, VT, Custom);
  743       setOperationAction(ISD::VECREDUCE_UMAX, VT, Custom);
  744       setOperationAction(ISD::VECREDUCE_UMIN, VT, Custom);
  748       setOperationAction(ISD::VECREDUCE_FMAX, VT, Custom);
  749       setOperationAction(ISD::VECREDUCE_FMIN, VT, Custom);
  801     setTruncStoreAction(MVT::v4i16, MVT::v4i8, Custom);
  810         setOperationAction(ISD::SPLAT_VECTOR, VT, Custom);
  838     setOperationAction(ISD::FCOPYSIGN, VT, Custom);
  841   setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  842   setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  843   setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  844   setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
  845   setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
  846   setOperationAction(ISD::SRA, VT, Custom);
  847   setOperationAction(ISD::SRL, VT, Custom);
  848   setOperationAction(ISD::SHL, VT, Custom);
  849   setOperationAction(ISD::OR, VT, Custom);
  850   setOperationAction(ISD::SETCC, VT, Custom);
  861     setOperationAction(ISD::CTPOP, VT, Custom);
  869   setOperationAction(ISD::FP_TO_SINT, VT, Custom);
  870   setOperationAction(ISD::FP_TO_UINT, VT, Custom);
lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  246   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Custom);
  261   setOperationAction(ISD::FROUND, MVT::f32, Custom);
  262   setOperationAction(ISD::FROUND, MVT::f64, Custom);
  264   setOperationAction(ISD::FLOG, MVT::f32, Custom);
  265   setOperationAction(ISD::FLOG10, MVT::f32, Custom);
  266   setOperationAction(ISD::FEXP, MVT::f32, Custom);
  269   setOperationAction(ISD::FNEARBYINT, MVT::f32, Custom);
  270   setOperationAction(ISD::FNEARBYINT, MVT::f64, Custom);
  272   setOperationAction(ISD::FREM, MVT::f32, Custom);
  273   setOperationAction(ISD::FREM, MVT::f64, Custom);
  278   setOperationAction(ISD::CONCAT_VECTORS, MVT::v3i32, Custom);
  279   setOperationAction(ISD::CONCAT_VECTORS, MVT::v3f32, Custom);
  280   setOperationAction(ISD::CONCAT_VECTORS, MVT::v4i32, Custom);
  281   setOperationAction(ISD::CONCAT_VECTORS, MVT::v4f32, Custom);
  282   setOperationAction(ISD::CONCAT_VECTORS, MVT::v5i32, Custom);
  283   setOperationAction(ISD::CONCAT_VECTORS, MVT::v5f32, Custom);
  284   setOperationAction(ISD::CONCAT_VECTORS, MVT::v8i32, Custom);
  285   setOperationAction(ISD::CONCAT_VECTORS, MVT::v8f32, Custom);
  286   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v2f32, Custom);
  287   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v2i32, Custom);
  288   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v3f32, Custom);
  289   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v3i32, Custom);
  290   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v4f32, Custom);
  291   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v4i32, Custom);
  292   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v5f32, Custom);
  293   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v5i32, Custom);
  294   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8f32, Custom);
  295   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8i32, Custom);
  296   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v16f32, Custom);
  297   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v16i32, Custom);
  298   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v32f32, Custom);
  299   setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v32i32, Custom);
  302   setOperationAction(ISD::FP_TO_FP16, MVT::f64, Custom);
  303   setOperationAction(ISD::FP_TO_FP16, MVT::f32, Custom);
  314     setOperationAction(ISD::SDIVREM, VT, Custom);
  315     setOperationAction(ISD::UDIVREM, VT, Custom);
  340   setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom);
  341   setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
  342   setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
  343   setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
  351   setOperationAction(ISD::CTTZ, MVT::i64, Custom);
  352   setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Custom);
  353   setOperationAction(ISD::CTLZ, MVT::i64, Custom);
  354   setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i64, Custom);
  384     setOperationAction(ISD::SDIVREM, VT, Custom);
lib/Target/AMDGPU/R600ISelLowering.cpp
   68   setOperationAction(ISD::LOAD, MVT::i32, Custom);
   69   setOperationAction(ISD::LOAD, MVT::v2i32, Custom);
   70   setOperationAction(ISD::LOAD, MVT::v4i32, Custom);
   76     setLoadExtAction(ISD::SEXTLOAD, VT, MVT::i8, Custom);
   77     setLoadExtAction(ISD::SEXTLOAD, VT, MVT::i16, Custom);
   80     setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::i8, Custom);
   81     setLoadExtAction(ISD::ZEXTLOAD, VT, MVT::i16, Custom);
   84     setLoadExtAction(ISD::EXTLOAD, VT, MVT::i8, Custom);
   85     setLoadExtAction(ISD::EXTLOAD, VT, MVT::i16, Custom);
   97   setOperationAction(ISD::STORE, MVT::i8, Custom);
   98   setOperationAction(ISD::STORE, MVT::i32, Custom);
   99   setOperationAction(ISD::STORE, MVT::v2i32, Custom);
  100   setOperationAction(ISD::STORE, MVT::v4i32, Custom);
  102   setTruncStoreAction(MVT::i32, MVT::i8, Custom);
  103   setTruncStoreAction(MVT::i32, MVT::i16, Custom);
  106   setTruncStoreAction(MVT::v2i32, MVT::v2i16, Custom);
  107   setTruncStoreAction(MVT::v4i32, MVT::v4i16, Custom);
  108   setTruncStoreAction(MVT::v8i32, MVT::v8i16, Custom);
  109   setTruncStoreAction(MVT::v16i32, MVT::v16i16, Custom);
  110   setTruncStoreAction(MVT::v32i32, MVT::v32i16, Custom);
  111   setTruncStoreAction(MVT::v2i32, MVT::v2i8, Custom);
  112   setTruncStoreAction(MVT::v4i32, MVT::v4i8, Custom);
  113   setTruncStoreAction(MVT::v8i32, MVT::v8i8, Custom);
  114   setTruncStoreAction(MVT::v16i32, MVT::v16i8, Custom);
  115   setTruncStoreAction(MVT::v32i32, MVT::v32i8, Custom);
  140   setOperationAction(ISD::FCOS, MVT::f32, Custom);
  141   setOperationAction(ISD::FSIN, MVT::f32, Custom);
  148   setOperationAction(ISD::BRCOND, MVT::Other, Custom);
  152   setOperationAction(ISD::FCEIL, MVT::f64, Custom);
  153   setOperationAction(ISD::FTRUNC, MVT::f64, Custom);
  154   setOperationAction(ISD::FRINT, MVT::f64, Custom);
  155   setOperationAction(ISD::FFLOOR, MVT::f64, Custom);
  157   setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
  158   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
  162   setOperationAction(ISD::FP_TO_UINT, MVT::i1, Custom);
  163   setOperationAction(ISD::FP_TO_SINT, MVT::i1, Custom);
  164   setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
  165   setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
  175     setOperationAction(ISD::UADDO, MVT::i32, Custom);
  178     setOperationAction(ISD::USUBO, MVT::i32, Custom);
  203   setOperationAction(ISD::FrameIndex, MVT::i32, Custom);
  205   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i32, Custom);
  206   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f32, Custom);
  207   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i32, Custom);
  208   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom);
  210   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2i32, Custom);
  211   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2f32, Custom);
  212   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom);
  213   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom);
  217   setOperationAction(ISD::SHL_PARTS, MVT::i32, Custom);
  218   setOperationAction(ISD::SRL_PARTS, MVT::i32, Custom);
  219   setOperationAction(ISD::SRA_PARTS, MVT::i32, Custom);
  244     setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Custom);
  247     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Custom);
  254   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
  270   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
  271   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
lib/Target/AMDGPU/SIISelLowering.cpp
  164   setOperationAction(ISD::LOAD, MVT::v2i32, Custom);
  165   setOperationAction(ISD::LOAD, MVT::v3i32, Custom);
  166   setOperationAction(ISD::LOAD, MVT::v4i32, Custom);
  167   setOperationAction(ISD::LOAD, MVT::v5i32, Custom);
  168   setOperationAction(ISD::LOAD, MVT::v8i32, Custom);
  169   setOperationAction(ISD::LOAD, MVT::v16i32, Custom);
  170   setOperationAction(ISD::LOAD, MVT::i1, Custom);
  171   setOperationAction(ISD::LOAD, MVT::v32i32, Custom);
  173   setOperationAction(ISD::STORE, MVT::v2i32, Custom);
  174   setOperationAction(ISD::STORE, MVT::v3i32, Custom);
  175   setOperationAction(ISD::STORE, MVT::v4i32, Custom);
  176   setOperationAction(ISD::STORE, MVT::v5i32, Custom);
  177   setOperationAction(ISD::STORE, MVT::v8i32, Custom);
  178   setOperationAction(ISD::STORE, MVT::v16i32, Custom);
  179   setOperationAction(ISD::STORE, MVT::i1, Custom);
  180   setOperationAction(ISD::STORE, MVT::v32i32, Custom);
  194   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
  195   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
  198   setOperationAction(ISD::SELECT, MVT::i64, Custom);
  216   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i1, Custom);
  217   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v4i1, Custom);
  218   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i8, Custom);
  219   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v4i8, Custom);
  220   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v2i16, Custom);
  221   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v3i16, Custom);
  222   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::v4i16, Custom);
  223   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::Other, Custom);
  225   setOperationAction(ISD::BRCOND, MVT::Other, Custom);
  265         setOperationAction(Op, VT, Custom);
  300   setOperationAction(ISD::BUILD_VECTOR, MVT::v4f16, Custom);
  301   setOperationAction(ISD::BUILD_VECTOR, MVT::v4i16, Custom);
  305   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2i16, Custom);
  306   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2f16, Custom);
  307   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i16, Custom);
  308   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f16, Custom);
  310   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i16, Custom);
  311   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f16, Custom);
  312   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i8, Custom);
  313   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i8, Custom);
  314   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v8i8, Custom);
  316   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2i8, Custom);
  317   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i8, Custom);
  318   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i8, Custom);
  320   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i16, Custom);
  321   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f16, Custom);
  322   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i16, Custom);
  323   setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f16, Custom);
  326   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v3i32, Custom);
  327   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v3f32, Custom);
  328   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v4i32, Custom);
  329   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v4f32, Custom);
  332   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v5i32, Custom);
  333   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v5f32, Custom);
  334   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v8i32, Custom);
  335   setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v8f32, Custom);
  339   setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i32, Custom);
  340   setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i64, Custom);
  348     setOperationAction(ISD::ADDRSPACECAST, MVT::i32, Custom);
  349     setOperationAction(ISD::ADDRSPACECAST, MVT::i64, Custom);
  357   setOperationAction(ISD::TRAP, MVT::Other, Custom);
  358   setOperationAction(ISD::DEBUGTRAP, MVT::Other, Custom);
  361     setOperationAction(ISD::FLOG, MVT::f16, Custom);
  362     setOperationAction(ISD::FEXP, MVT::f16, Custom);
  363     setOperationAction(ISD::FLOG10, MVT::f16, Custom);
  383     setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32, Custom);
  386     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32, Custom);
  399   setOperationAction(ISD::FMINNUM, MVT::f32, Custom);
  400   setOperationAction(ISD::FMAXNUM, MVT::f32, Custom);
  401   setOperationAction(ISD::FMINNUM, MVT::f64, Custom);
  402   setOperationAction(ISD::FMAXNUM, MVT::f64, Custom);
  419     setOperationAction(ISD::FCEIL, MVT::f64, Custom);
  420     setOperationAction(ISD::FTRUNC, MVT::f64, Custom);
  421     setOperationAction(ISD::FRINT, MVT::f64, Custom);
  422     setOperationAction(ISD::FFLOOR, MVT::f64, Custom);
  427   setOperationAction(ISD::FSIN, MVT::f32, Custom);
  428   setOperationAction(ISD::FCOS, MVT::f32, Custom);
  429   setOperationAction(ISD::FDIV, MVT::f32, Custom);
  430   setOperationAction(ISD::FDIV, MVT::f64, Custom);
  465     setOperationAction(ISD::LOAD, MVT::i16, Custom);
  489     setOperationAction(ISD::FP_ROUND, MVT::f16, Custom);
  496     setOperationAction(ISD::FROUND, MVT::f16, Custom);
  502     setOperationAction(ISD::FDIV, MVT::f16, Custom);
  523           setOperationAction(Op, VT, Custom);
  576       setOperationAction(ISD::BUILD_VECTOR, MVT::v2i16, Custom);
  577       setOperationAction(ISD::BUILD_VECTOR, MVT::v2f16, Custom);
  585     setOperationAction(ISD::FMAXNUM, MVT::f16, Custom);
  586     setOperationAction(ISD::FMINNUM, MVT::f16, Custom);
  590     setOperationAction(ISD::FMINNUM_IEEE, MVT::v4f16, Custom);
  591     setOperationAction(ISD::FMAXNUM_IEEE, MVT::v4f16, Custom);
  618     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i16, Custom);
  619     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f16, Custom);
  621     setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4f16, Custom);
  622     setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4i16, Custom);
  624     setOperationAction(ISD::SHL, MVT::v4i16, Custom);
  625     setOperationAction(ISD::SRA, MVT::v4i16, Custom);
  626     setOperationAction(ISD::SRL, MVT::v4i16, Custom);
  627     setOperationAction(ISD::ADD, MVT::v4i16, Custom);
  628     setOperationAction(ISD::SUB, MVT::v4i16, Custom);
  629     setOperationAction(ISD::MUL, MVT::v4i16, Custom);
  631     setOperationAction(ISD::SMIN, MVT::v4i16, Custom);
  632     setOperationAction(ISD::SMAX, MVT::v4i16, Custom);
  633     setOperationAction(ISD::UMIN, MVT::v4i16, Custom);
  634     setOperationAction(ISD::UMAX, MVT::v4i16, Custom);
  636     setOperationAction(ISD::FADD, MVT::v4f16, Custom);
  637     setOperationAction(ISD::FMUL, MVT::v4f16, Custom);
  638     setOperationAction(ISD::FMA, MVT::v4f16, Custom);
  640     setOperationAction(ISD::FMAXNUM, MVT::v2f16, Custom);
  641     setOperationAction(ISD::FMINNUM, MVT::v2f16, Custom);
  643     setOperationAction(ISD::FMINNUM, MVT::v4f16, Custom);
  644     setOperationAction(ISD::FMAXNUM, MVT::v4f16, Custom);
  645     setOperationAction(ISD::FCANONICALIZE, MVT::v4f16, Custom);
  647     setOperationAction(ISD::FEXP, MVT::v2f16, Custom);
  648     setOperationAction(ISD::SELECT, MVT::v4i16, Custom);
  649     setOperationAction(ISD::SELECT, MVT::v4f16, Custom);
  652   setOperationAction(ISD::FNEG, MVT::v4f16, Custom);
  653   setOperationAction(ISD::FABS, MVT::v4f16, Custom);
  662     setOperationAction(ISD::SELECT, MVT::v2i16, Custom);
  663     setOperationAction(ISD::SELECT, MVT::v2f16, Custom);
  665     setOperationAction(ISD::FNEG, MVT::v2f16, Custom);
  666     setOperationAction(ISD::FABS, MVT::v2f16, Custom);
  670     setOperationAction(ISD::SELECT, VT, Custom);
  673   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
  674   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::f32, Custom);
  675   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::v4f32, Custom);
  676   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i16, Custom);
  677   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::f16, Custom);
  678   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::v2i16, Custom);
  679   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::v2f16, Custom);
  681   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::v2f16, Custom);
  682   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::v2i16, Custom);
  683   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::v4f16, Custom);
  684   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::v4i16, Custom);
  685   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::v8f16, Custom);
  686   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
  687   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::f16, Custom);
  688   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i16, Custom);
  689   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i8, Custom);
  691   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
  692   setOperationAction(ISD::INTRINSIC_VOID, MVT::v2i16, Custom);
  693   setOperationAction(ISD::INTRINSIC_VOID, MVT::v2f16, Custom);
  694   setOperationAction(ISD::INTRINSIC_VOID, MVT::v4f16, Custom);
  695   setOperationAction(ISD::INTRINSIC_VOID, MVT::v4i16, Custom);
  696   setOperationAction(ISD::INTRINSIC_VOID, MVT::f16, Custom);
  697   setOperationAction(ISD::INTRINSIC_VOID, MVT::i16, Custom);
  698   setOperationAction(ISD::INTRINSIC_VOID, MVT::i8, Custom);
lib/Target/ARC/ARCISelLowering.cpp
  116   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
  117   setOperationAction(ISD::BR_CC, MVT::i32, Custom);
  120   setOperationAction(ISD::JumpTable, MVT::i32, Custom);
  125   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
  128   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  138   setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1, Custom);
lib/Target/ARM/ARMISelLowering.cpp
  162     setOperationAction(ISD::SETCC, VT, Custom);
  163   setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  164   setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  166     setOperationAction(ISD::SINT_TO_FP, VT, Custom);
  167     setOperationAction(ISD::UINT_TO_FP, VT, Custom);
  168     setOperationAction(ISD::FP_TO_SINT, VT, Custom);
  169     setOperationAction(ISD::FP_TO_UINT, VT, Custom);
  176   setOperationAction(ISD::BUILD_VECTOR,      VT, Custom);
  177   setOperationAction(ISD::VECTOR_SHUFFLE,    VT, Custom);
  185     setOperationAction(ISD::SHL, VT, Custom);
  186     setOperationAction(ISD::SRA, VT, Custom);
  187     setOperationAction(ISD::SRL, VT, Custom);
  249     setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
  250     setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  251     setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  252     setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  253     setOperationAction(ISD::SHL, VT, Custom);
  254     setOperationAction(ISD::SRA, VT, Custom);
  255     setOperationAction(ISD::SRL, VT, Custom);
  261     setOperationAction(ISD::SETCC, VT, Custom);
  262     setOperationAction(ISD::MLOAD, VT, Custom);
  265     setOperationAction(ISD::CTTZ, VT, Custom);
  309     setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
  310     setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  311     setOperationAction(ISD::INSERT_VECTOR_ELT, VT.getVectorElementType(), Custom);
  312     setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  313     setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  314     setOperationAction(ISD::BUILD_VECTOR, VT.getVectorElementType(), Custom);
  316     setOperationAction(ISD::SETCC, VT, Custom);
  317     setOperationAction(ISD::MLOAD, VT, Custom);
  355     setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  356     setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  357     setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  389     setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  390     setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
  391     setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
  392     setOperationAction(ISD::CONCAT_VECTORS, VT, Custom);
  393     setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
  394     setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  395     setOperationAction(ISD::SETCC, VT, Custom);
  397     setOperationAction(ISD::LOAD, VT, Custom);
  398     setOperationAction(ISD::STORE, VT, Custom);
  703     setOperationAction(ISD::BITCAST, MVT::i16, Custom);
  704     setOperationAction(ISD::BITCAST, MVT::i32, Custom);
  705     setOperationAction(ISD::BITCAST, MVT::f16, Custom);
  725   setOperationAction(ISD::ConstantFP, MVT::f32, Custom);
  726   setOperationAction(ISD::ConstantFP, MVT::f64, Custom);
  728   setOperationAction(ISD::READ_REGISTER, MVT::i64, Custom);
  729   setOperationAction(ISD::WRITE_REGISTER, MVT::i64, Custom);
  835     setOperationAction(ISD::MUL, MVT::v8i16, Custom);
  836     setOperationAction(ISD::MUL, MVT::v4i32, Custom);
  837     setOperationAction(ISD::MUL, MVT::v2i64, Custom);
  839     setOperationAction(ISD::SDIV, MVT::v4i16, Custom);
  840     setOperationAction(ISD::SDIV, MVT::v8i8, Custom);
  841     setOperationAction(ISD::UDIV, MVT::v4i16, Custom);
  842     setOperationAction(ISD::UDIV, MVT::v8i8, Custom);
  847     setOperationAction(ISD::SINT_TO_FP, MVT::v4i16, Custom);
  848     setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Custom);
  849     setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom);
  850     setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Custom);
  851     setOperationAction(ISD::FP_TO_UINT, MVT::v4i16, Custom);
  852     setOperationAction(ISD::FP_TO_UINT, MVT::v8i16, Custom);
  853     setOperationAction(ISD::FP_TO_SINT, MVT::v4i16, Custom);
  854     setOperationAction(ISD::FP_TO_SINT, MVT::v8i16, Custom);
  862     setOperationAction(ISD::CTPOP,      MVT::v2i32, Custom);
  863     setOperationAction(ISD::CTPOP,      MVT::v4i32, Custom);
  864     setOperationAction(ISD::CTPOP,      MVT::v4i16, Custom);
  865     setOperationAction(ISD::CTPOP,      MVT::v8i16, Custom);
  866     setOperationAction(ISD::CTPOP,      MVT::v1i64, Custom);
  867     setOperationAction(ISD::CTPOP,      MVT::v2i64, Custom);
  873     setOperationAction(ISD::CTTZ, MVT::v8i8, Custom);
  874     setOperationAction(ISD::CTTZ, MVT::v4i16, Custom);
  875     setOperationAction(ISD::CTTZ, MVT::v2i32, Custom);
  876     setOperationAction(ISD::CTTZ, MVT::v1i64, Custom);
  878     setOperationAction(ISD::CTTZ, MVT::v16i8, Custom);
  879     setOperationAction(ISD::CTTZ, MVT::v8i16, Custom);
  880     setOperationAction(ISD::CTTZ, MVT::v4i32, Custom);
  881     setOperationAction(ISD::CTTZ, MVT::v2i64, Custom);
  883     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i8, Custom);
  884     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i16, Custom);
  885     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v2i32, Custom);
  886     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v1i64, Custom);
  888     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v16i8, Custom);
  889     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i16, Custom);
  890     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i32, Custom);
  891     setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v2i64, Custom);
  960     setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
  961     setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom);
  962     setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
  963     setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
  964     setOperationAction(ISD::FP_TO_SINT, MVT::f64, Custom);
  965     setOperationAction(ISD::FP_TO_UINT, MVT::f64, Custom);
  966     setOperationAction(ISD::FP_ROUND,   MVT::f32, Custom);
  970     setOperationAction(ISD::FP_EXTEND,  MVT::f64, Custom);
  972       setOperationAction(ISD::FP_ROUND,  MVT::f16, Custom);
  976     setOperationAction(ISD::FP_EXTEND,  MVT::f32, Custom);
  979     setOperationAction(ISD::FP_ROUND,  MVT::f32, Custom);
 1017   setOperationAction(ISD::SADDO, MVT::i32, Custom);
 1018   setOperationAction(ISD::UADDO, MVT::i32, Custom);
 1019   setOperationAction(ISD::SSUBO, MVT::i32, Custom);
 1020   setOperationAction(ISD::USUBO, MVT::i32, Custom);
 1022   setOperationAction(ISD::ADDCARRY, MVT::i32, Custom);
 1023   setOperationAction(ISD::SUBCARRY, MVT::i32, Custom);
 1025     setOperationAction(ISD::SADDSAT, MVT::i8, Custom);
 1026     setOperationAction(ISD::SSUBSAT, MVT::i8, Custom);
 1027     setOperationAction(ISD::SADDSAT, MVT::i16, Custom);
 1028     setOperationAction(ISD::SSUBSAT, MVT::i16, Custom);
 1046   setOperationAction(ISD::SHL_PARTS, MVT::i32, Custom);
 1047   setOperationAction(ISD::SRA_PARTS, MVT::i32, Custom);
 1048   setOperationAction(ISD::SRL_PARTS, MVT::i32, Custom);
 1049   setOperationAction(ISD::SRL,       MVT::i64, Custom);
 1050   setOperationAction(ISD::SRA,       MVT::i64, Custom);
 1051   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
 1052   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i64, Custom);
 1057     setOperationAction(ISD::SHL, MVT::i64, Custom);
 1075   setOperationAction(ISD::CTTZ,  MVT::i32, Custom);
 1087     setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Custom);
 1102     setOperationAction(ISD::SDIV, MVT::i32, Custom);
 1103     setOperationAction(ISD::UDIV, MVT::i32, Custom);
 1105     setOperationAction(ISD::SDIV, MVT::i64, Custom);
 1106     setOperationAction(ISD::UDIV, MVT::i64, Custom);
 1116     setOperationAction(ISD::SREM, MVT::i64, Custom);
 1117     setOperationAction(ISD::UREM, MVT::i64, Custom);
 1164     setOperationAction(ISD::SDIVREM, MVT::i32, Custom);
 1165     setOperationAction(ISD::UDIVREM, MVT::i32, Custom);
 1166     setOperationAction(ISD::SDIVREM, MVT::i64, Custom);
 1167     setOperationAction(ISD::UDIVREM, MVT::i64, Custom);
 1175       setOperationAction(ISD::FPOWI, VT, Custom);
 1177   setOperationAction(ISD::GlobalAddress, MVT::i32,   Custom);
 1178   setOperationAction(ISD::ConstantPool,  MVT::i32,   Custom);
 1179   setOperationAction(ISD::GlobalTLSAddress, MVT::i32, Custom);
 1180   setOperationAction(ISD::BlockAddress, MVT::i32, Custom);
 1186   setOperationAction(ISD::VASTART,            MVT::Other, Custom);
 1194     setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Custom);
 1205     setOperationAction(ISD::ATOMIC_FENCE,     MVT::Other, Custom);
 1207       setOperationAction(ISD::ATOMIC_CMP_SWAP,  MVT::i64, Custom);
 1224                        Subtarget->hasAnyDataBarrier() ? Custom : Expand);
 1242       setOperationAction(ISD::ATOMIC_LOAD, MVT::i32, Custom);
 1243       setOperationAction(ISD::ATOMIC_STORE, MVT::i32, Custom);
 1247   setOperationAction(ISD::PREFETCH,         MVT::Other, Custom);
 1260     setOperationAction(ISD::BITCAST, MVT::i64, Custom);
 1261     setOperationAction(ISD::FLT_ROUNDS_, MVT::i32, Custom);
 1265   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
 1266   setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom);
 1267   setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom);
 1268   setOperationAction(ISD::EH_SJLJ_SETUP_DISPATCH, MVT::Other, Custom);
 1275   setOperationAction(ISD::SELECT,    MVT::i32, Custom);
 1276   setOperationAction(ISD::SELECT,    MVT::f32, Custom);
 1277   setOperationAction(ISD::SELECT,    MVT::f64, Custom);
 1278   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
 1279   setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
 1280   setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
 1283     setOperationAction(ISD::SELECT,    MVT::f16, Custom);
 1284     setOperationAction(ISD::SELECT_CC, MVT::f16, Custom);
 1287   setOperationAction(ISD::SETCCCARRY, MVT::i32, Custom);
 1289   setOperationAction(ISD::BRCOND,    MVT::Other, Custom);
 1290   setOperationAction(ISD::BR_CC,     MVT::i32,   Custom);
 1292       setOperationAction(ISD::BR_CC, MVT::f16,   Custom);
 1293   setOperationAction(ISD::BR_CC,     MVT::f32,   Custom);
 1294   setOperationAction(ISD::BR_CC,     MVT::f64,   Custom);
 1295   setOperationAction(ISD::BR_JT,     MVT::Other, Custom);
 1308     setOperationAction(ISD::FCOPYSIGN, MVT::f64, Custom);
 1309     setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom);
 1337     setOperationAction(ISD::FSINCOS, MVT::f64, Custom);
 1338     setOperationAction(ISD::FSINCOS, MVT::f32, Custom);
lib/Target/AVR/AVRISelLowering.cpp
   50   setOperationAction(ISD::GlobalAddress, MVT::i16, Custom);
   51   setOperationAction(ISD::BlockAddress, MVT::i16, Custom);
   76   setOperationAction(ISD::ADD, MVT::i32, Custom);
   77   setOperationAction(ISD::ADD, MVT::i64, Custom);
   81   setOperationAction(ISD::SRA, MVT::i8, Custom);
   82   setOperationAction(ISD::SHL, MVT::i8, Custom);
   83   setOperationAction(ISD::SRL, MVT::i8, Custom);
   84   setOperationAction(ISD::SRA, MVT::i16, Custom);
   85   setOperationAction(ISD::SHL, MVT::i16, Custom);
   86   setOperationAction(ISD::SRL, MVT::i16, Custom);
   91   setOperationAction(ISD::ROTL, MVT::i8, Custom);
   93   setOperationAction(ISD::ROTR, MVT::i8, Custom);
   96   setOperationAction(ISD::BR_CC, MVT::i8, Custom);
   97   setOperationAction(ISD::BR_CC, MVT::i16, Custom);
   98   setOperationAction(ISD::BR_CC, MVT::i32, Custom);
   99   setOperationAction(ISD::BR_CC, MVT::i64, Custom);
  102   setOperationAction(ISD::SELECT_CC, MVT::i8, Custom);
  103   setOperationAction(ISD::SELECT_CC, MVT::i16, Custom);
  106   setOperationAction(ISD::SETCC, MVT::i8, Custom);
  107   setOperationAction(ISD::SETCC, MVT::i16, Custom);
  108   setOperationAction(ISD::SETCC, MVT::i32, Custom);
  109   setOperationAction(ISD::SETCC, MVT::i64, Custom);
  127   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  155     setOperationAction(ISD::UDIVREM, VT, Custom);
  156     setOperationAction(ISD::SDIVREM, VT, Custom);
lib/Target/BPF/BPFISelLowering.cpp
   71   setOperationAction(ISD::BR_CC, MVT::i64, Custom);
   76   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
   78   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64, Custom);
  103     setOperationAction(ISD::SELECT_CC, VT, Custom);
  109                        STI.getHasJmp32() ? Custom : Promote);
  112   setOperationAction(ISD::CTTZ, MVT::i64, Custom);
  113   setOperationAction(ISD::CTLZ, MVT::i64, Custom);
  114   setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Custom);
  115   setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i64, Custom);
lib/Target/Hexagon/HexagonISelLowering.cpp
 1295   setOperationAction(ISD::ConstantPool,         MVT::i32,   Custom);
 1296   setOperationAction(ISD::JumpTable,            MVT::i32,   Custom);
 1299   setOperationAction(ISD::INLINEASM,            MVT::Other, Custom);
 1300   setOperationAction(ISD::INLINEASM_BR,         MVT::Other, Custom);
 1301   setOperationAction(ISD::PREFETCH,             MVT::Other, Custom);
 1302   setOperationAction(ISD::READCYCLECOUNTER,     MVT::i64,   Custom);
 1303   setOperationAction(ISD::INTRINSIC_VOID,       MVT::Other, Custom);
 1304   setOperationAction(ISD::EH_RETURN,            MVT::Other, Custom);
 1305   setOperationAction(ISD::GLOBAL_OFFSET_TABLE,  MVT::i32,   Custom);
 1306   setOperationAction(ISD::GlobalTLSAddress,     MVT::i32,   Custom);
 1307   setOperationAction(ISD::ATOMIC_FENCE,         MVT::Other, Custom);
 1310   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
 1311   setOperationAction(ISD::GlobalAddress, MVT::i8,  Custom);
 1312   setOperationAction(ISD::BlockAddress,  MVT::i32, Custom);
 1315   setOperationAction(ISD::SETCC, MVT::i8,    Custom);
 1316   setOperationAction(ISD::SETCC, MVT::i16,   Custom);
 1317   setOperationAction(ISD::SETCC, MVT::v4i8,  Custom);
 1318   setOperationAction(ISD::SETCC, MVT::v2i16, Custom);
 1321   setOperationAction(ISD::VASTART, MVT::Other, Custom);
 1328   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Custom);
 1342     setOperationAction(ISD::UADDO,    VT, Custom);
 1343     setOperationAction(ISD::USUBO,    VT, Custom);
 1349   setOperationAction(ISD::ADDCARRY, MVT::i64, Custom);
 1350   setOperationAction(ISD::SUBCARRY, MVT::i64, Custom);
 1462     setOperationAction(ISD::SRA, VT, Custom);
 1463     setOperationAction(ISD::SHL, VT, Custom);
 1464     setOperationAction(ISD::SRL, VT, Custom);
 1479     setOperationAction(ISD::BUILD_VECTOR,       NativeVT, Custom);
 1480     setOperationAction(ISD::EXTRACT_VECTOR_ELT, NativeVT, Custom);
 1481     setOperationAction(ISD::INSERT_VECTOR_ELT,  NativeVT, Custom);
 1482     setOperationAction(ISD::EXTRACT_SUBVECTOR,  NativeVT, Custom);
 1483     setOperationAction(ISD::INSERT_SUBVECTOR,   NativeVT, Custom);
 1484     setOperationAction(ISD::CONCAT_VECTORS,     NativeVT, Custom);
 1500     setOperationAction(ISD::LOAD,  VT, Custom);
 1501     setOperationAction(ISD::STORE, VT, Custom);
 1516   setOperationAction(ISD::BITCAST,        MVT::i8,    Custom);
 1517   setOperationAction(ISD::SETCC,          MVT::v2i16, Custom);
 1518   setOperationAction(ISD::VSELECT,        MVT::v4i8,  Custom);
 1519   setOperationAction(ISD::VSELECT,        MVT::v2i16, Custom);
 1520   setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4i8,  Custom);
 1521   setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4i16, Custom);
 1522   setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v8i8,  Custom);
lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
   89     setOperationAction(ISD::CTTZ,               T, Custom);
   90     setOperationAction(ISD::LOAD,               T, Custom);
   91     setOperationAction(ISD::MUL,                T, Custom);
   92     setOperationAction(ISD::MULHS,              T, Custom);
   93     setOperationAction(ISD::MULHU,              T, Custom);
   94     setOperationAction(ISD::BUILD_VECTOR,       T, Custom);
   96     setOperationAction(ISD::CONCAT_VECTORS,     T, Custom);
   97     setOperationAction(ISD::INSERT_SUBVECTOR,   T, Custom);
   98     setOperationAction(ISD::INSERT_VECTOR_ELT,  T, Custom);
   99     setOperationAction(ISD::EXTRACT_SUBVECTOR,  T, Custom);
  100     setOperationAction(ISD::EXTRACT_VECTOR_ELT, T, Custom);
  101     setOperationAction(ISD::ANY_EXTEND,         T, Custom);
  102     setOperationAction(ISD::SIGN_EXTEND,        T, Custom);
  103     setOperationAction(ISD::ZERO_EXTEND,        T, Custom);
  105       setOperationAction(ISD::ANY_EXTEND_VECTOR_INREG, T, Custom);
  107       setOperationAction(ISD::SRA,                     T, Custom);
  108       setOperationAction(ISD::SHL,                     T, Custom);
  109       setOperationAction(ISD::SRL,                     T, Custom);
  128     setOperationAction(ISD::BUILD_VECTOR,   T, Custom);
  130     setOperationAction(ISD::CONCAT_VECTORS, T, Custom);
  134     setOperationAction(ISD::ANY_EXTEND,               T, Custom);
  135     setOperationAction(ISD::SIGN_EXTEND,              T, Custom);
  136     setOperationAction(ISD::ZERO_EXTEND,              T, Custom);
  137     setOperationAction(ISD::SIGN_EXTEND_INREG,        T, Custom);
  138     setOperationAction(ISD::ANY_EXTEND_VECTOR_INREG,  T, Custom);
  142     setOperationAction(ISD::LOAD,     T, Custom);
  143     setOperationAction(ISD::STORE,    T, Custom);
  144     setOperationAction(ISD::CTLZ,     T, Custom);
  145     setOperationAction(ISD::CTTZ,     T, Custom);
  146     setOperationAction(ISD::CTPOP,    T, Custom);
  150     setOperationAction(ISD::MUL,      T, Custom);
  151     setOperationAction(ISD::MULHS,    T, Custom);
  152     setOperationAction(ISD::MULHU,    T, Custom);
  153     setOperationAction(ISD::AND,      T, Custom);
  154     setOperationAction(ISD::OR,       T, Custom);
  155     setOperationAction(ISD::XOR,      T, Custom);
  156     setOperationAction(ISD::SETCC,    T, Custom);
  157     setOperationAction(ISD::VSELECT,  T, Custom);
  159       setOperationAction(ISD::SRA,      T, Custom);
  160       setOperationAction(ISD::SHL,      T, Custom);
  161       setOperationAction(ISD::SRL,      T, Custom);
  178     setOperationAction(ISD::SETCC,              BoolW, Custom);
  179     setOperationAction(ISD::AND,                BoolW, Custom);
  180     setOperationAction(ISD::OR,                 BoolW, Custom);
  181     setOperationAction(ISD::XOR,                BoolW, Custom);
  186     setOperationAction(ISD::BUILD_VECTOR,       BoolV, Custom);
  187     setOperationAction(ISD::CONCAT_VECTORS,     BoolV, Custom);
  188     setOperationAction(ISD::INSERT_SUBVECTOR,   BoolV, Custom);
  189     setOperationAction(ISD::INSERT_VECTOR_ELT,  BoolV, Custom);
  190     setOperationAction(ISD::EXTRACT_SUBVECTOR,  BoolV, Custom);
  191     setOperationAction(ISD::EXTRACT_VECTOR_ELT, BoolV, Custom);
lib/Target/Lanai/LanaiISelLowering.cpp
   85   setOperationAction(ISD::BR_CC, MVT::i32, Custom);
   88   setOperationAction(ISD::SETCC, MVT::i32, Custom);
   90   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
   92   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
   93   setOperationAction(ISD::BlockAddress, MVT::i32, Custom);
   94   setOperationAction(ISD::JumpTable, MVT::i32, Custom);
   95   setOperationAction(ISD::ConstantPool, MVT::i32, Custom);
   97   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32, Custom);
  101   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  113   setOperationAction(ISD::MUL, MVT::i32, Custom);
  121   setOperationAction(ISD::SHL_PARTS, MVT::i32, Custom);
  122   setOperationAction(ISD::SRL_PARTS, MVT::i32, Custom);
lib/Target/MSP430/MSP430ISelLowering.cpp
   71   setOperationAction(ISD::SRA,              MVT::i8,    Custom);
   72   setOperationAction(ISD::SHL,              MVT::i8,    Custom);
   73   setOperationAction(ISD::SRL,              MVT::i8,    Custom);
   74   setOperationAction(ISD::SRA,              MVT::i16,   Custom);
   75   setOperationAction(ISD::SHL,              MVT::i16,   Custom);
   76   setOperationAction(ISD::SRL,              MVT::i16,   Custom);
   81   setOperationAction(ISD::GlobalAddress,    MVT::i16,   Custom);
   82   setOperationAction(ISD::ExternalSymbol,   MVT::i16,   Custom);
   83   setOperationAction(ISD::BlockAddress,     MVT::i16,   Custom);
   85   setOperationAction(ISD::BR_CC,            MVT::i8,    Custom);
   86   setOperationAction(ISD::BR_CC,            MVT::i16,   Custom);
   88   setOperationAction(ISD::SETCC,            MVT::i8,    Custom);
   89   setOperationAction(ISD::SETCC,            MVT::i16,   Custom);
   92   setOperationAction(ISD::SELECT_CC,        MVT::i8,    Custom);
   93   setOperationAction(ISD::SELECT_CC,        MVT::i16,   Custom);
   94   setOperationAction(ISD::SIGN_EXTEND,      MVT::i16,   Custom);
  142   setOperationAction(ISD::VASTART,          MVT::Other, Custom);
  146   setOperationAction(ISD::JumpTable,        MVT::i16,   Custom);
lib/Target/Mips/MipsISelLowering.cpp
  348   setOperationAction(ISD::GlobalAddress,      MVT::i32,   Custom);
  349   setOperationAction(ISD::BlockAddress,       MVT::i32,   Custom);
  350   setOperationAction(ISD::GlobalTLSAddress,   MVT::i32,   Custom);
  351   setOperationAction(ISD::JumpTable,          MVT::i32,   Custom);
  352   setOperationAction(ISD::ConstantPool,       MVT::i32,   Custom);
  353   setOperationAction(ISD::SELECT,             MVT::f32,   Custom);
  354   setOperationAction(ISD::SELECT,             MVT::f64,   Custom);
  355   setOperationAction(ISD::SELECT,             MVT::i32,   Custom);
  356   setOperationAction(ISD::SETCC,              MVT::f32,   Custom);
  357   setOperationAction(ISD::SETCC,              MVT::f64,   Custom);
  358   setOperationAction(ISD::BRCOND,             MVT::Other, Custom);
  359   setOperationAction(ISD::FCOPYSIGN,          MVT::f32,   Custom);
  360   setOperationAction(ISD::FCOPYSIGN,          MVT::f64,   Custom);
  361   setOperationAction(ISD::FP_TO_SINT,         MVT::i32,   Custom);
  364     setOperationAction(ISD::FABS, MVT::f32, Custom);
  365     setOperationAction(ISD::FABS, MVT::f64, Custom);
  369     setOperationAction(ISD::GlobalAddress,      MVT::i64,   Custom);
  370     setOperationAction(ISD::BlockAddress,       MVT::i64,   Custom);
  371     setOperationAction(ISD::GlobalTLSAddress,   MVT::i64,   Custom);
  372     setOperationAction(ISD::JumpTable,          MVT::i64,   Custom);
  373     setOperationAction(ISD::ConstantPool,       MVT::i64,   Custom);
  374     setOperationAction(ISD::SELECT,             MVT::i64,   Custom);
  375     setOperationAction(ISD::LOAD,               MVT::i64,   Custom);
  376     setOperationAction(ISD::STORE,              MVT::i64,   Custom);
  377     setOperationAction(ISD::FP_TO_SINT,         MVT::i64,   Custom);
  378     setOperationAction(ISD::SHL_PARTS,          MVT::i64,   Custom);
  379     setOperationAction(ISD::SRA_PARTS,          MVT::i64,   Custom);
  380     setOperationAction(ISD::SRL_PARTS,          MVT::i64,   Custom);
  384     setOperationAction(ISD::SHL_PARTS,          MVT::i32,   Custom);
  385     setOperationAction(ISD::SRA_PARTS,          MVT::i32,   Custom);
  386     setOperationAction(ISD::SRL_PARTS,          MVT::i32,   Custom);
  389   setOperationAction(ISD::EH_DWARF_CFA,         MVT::i32,   Custom);
  391     setOperationAction(ISD::EH_DWARF_CFA,       MVT::i64,   Custom);
  459   setOperationAction(ISD::EH_RETURN, MVT::Other, Custom);
  461   setOperationAction(ISD::VASTART,           MVT::Other, Custom);
  462   setOperationAction(ISD::VAARG,             MVT::Other, Custom);
  492     setLoadExtAction(ISD::SEXTLOAD, MVT::i64, MVT::i32, Custom);
  493     setLoadExtAction(ISD::ZEXTLOAD, MVT::i64, MVT::i32, Custom);
  494     setLoadExtAction(ISD::EXTLOAD, MVT::i64, MVT::i32, Custom);
  495     setTruncStoreAction(MVT::i64, MVT::i32, Custom);
lib/Target/Mips/MipsSEISelLowering.cpp
  182   setOperationAction(ISD::SMUL_LOHI,          MVT::i32, Custom);
  183   setOperationAction(ISD::UMUL_LOHI,          MVT::i32, Custom);
  184   setOperationAction(ISD::MULHS,              MVT::i32, Custom);
  185   setOperationAction(ISD::MULHU,              MVT::i32, Custom);
  190     setOperationAction(ISD::MUL,              MVT::i64, Custom);
  193     setOperationAction(ISD::SMUL_LOHI,        MVT::i64, Custom);
  194     setOperationAction(ISD::UMUL_LOHI,        MVT::i64, Custom);
  195     setOperationAction(ISD::MULHS,            MVT::i64, Custom);
  196     setOperationAction(ISD::MULHU,            MVT::i64, Custom);
  197     setOperationAction(ISD::SDIVREM,          MVT::i64, Custom);
  198     setOperationAction(ISD::UDIVREM,          MVT::i64, Custom);
  201   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i64, Custom);
  202   setOperationAction(ISD::INTRINSIC_W_CHAIN,  MVT::i64, Custom);
  204   setOperationAction(ISD::SDIVREM, MVT::i32, Custom);
  205   setOperationAction(ISD::UDIVREM, MVT::i32, Custom);
  206   setOperationAction(ISD::ATOMIC_FENCE,       MVT::Other, Custom);
  207   setOperationAction(ISD::LOAD,               MVT::i32, Custom);
  208   setOperationAction(ISD::STORE,              MVT::i32, Custom);
  212   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
  213   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
  214   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
  218     setOperationAction(ISD::BITCAST, MVT::i64, Custom);
  222     setOperationAction(ISD::LOAD, MVT::f64, Custom);
  223     setOperationAction(ISD::STORE, MVT::f64, Custom);
  256     setOperationAction(ISD::SELECT, MVT::f64, Custom);
  327   setOperationAction(ISD::EXTRACT_VECTOR_ELT, Ty, Custom);
  329   setOperationAction(ISD::BUILD_VECTOR, Ty, Custom);
  350   setOperationAction(ISD::VECTOR_SHUFFLE, Ty, Custom);
  383   setOperationAction(ISD::BUILD_VECTOR, Ty, Custom);
lib/Target/NVPTX/NVPTXISelLowering.cpp
  387   setOperationAction(ISD::BUILD_VECTOR, MVT::v2f16, Custom);
  388   setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f16, Custom);
  410   setOperationAction(ISD::SHL_PARTS, MVT::i32  , Custom);
  411   setOperationAction(ISD::SRA_PARTS, MVT::i32  , Custom);
  412   setOperationAction(ISD::SRL_PARTS, MVT::i32  , Custom);
  413   setOperationAction(ISD::SHL_PARTS, MVT::i64  , Custom);
  414   setOperationAction(ISD::SRA_PARTS, MVT::i64  , Custom);
  415   setOperationAction(ISD::SRL_PARTS, MVT::i64  , Custom);
  441   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
  442   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
  446   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
  465   setOperationAction(ISD::LOAD, MVT::i1, Custom);
  466   setOperationAction(ISD::STORE, MVT::i1, Custom);
  485       setOperationAction(ISD::LOAD, VT, Custom);
  486       setOperationAction(ISD::STORE, VT, Custom);
  487       setOperationAction(ISD::INTRINSIC_W_CHAIN, VT, Custom);
  492   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i8, Custom);
  510   setOperationAction(ISD::SELECT, MVT::i1, Custom);
  558   setOperationAction(ISD::FROUND, MVT::f32, Custom);
  559   setOperationAction(ISD::FROUND, MVT::f64, Custom);
lib/Target/PowerPC/PPCISelLowering.cpp
  161   setOperationAction(ISD::ATOMIC_CMP_SWAP, MVT::i32, Custom);
  209       setOperationAction(ISD::SINT_TO_FP, MVT::i1, Custom);
  210       setOperationAction(ISD::UINT_TO_FP, MVT::i1, Custom);
  214     setOperationAction(ISD::LOAD, MVT::i1, Custom);
  215     setOperationAction(ISD::STORE, MVT::i1, Custom);
  219       setOperationAction(ISD::TRUNCATE, MVT::i1, Custom);
  232   setOperationAction(ISD::FP_TO_SINT, MVT::ppcf128, Custom);
  233   setOperationAction(ISD::FP_TO_UINT, MVT::ppcf128, Custom);
  250     setOperationAction(ISD::SREM, MVT::i32, Custom);
  251     setOperationAction(ISD::UREM, MVT::i32, Custom);
  252     setOperationAction(ISD::SREM, MVT::i64, Custom);
  253     setOperationAction(ISD::UREM, MVT::i64, Custom);
  290   setOperationAction(ISD::FLT_ROUNDS_, MVT::i32, Custom);
  328     setOperationAction(ISD::BSWAP, MVT::i64  , Custom);
  360   setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
  361   setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
  365     setOperationAction(ISD::SETCC, MVT::i32, Custom);
  380     setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
  408   setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom);
  409   setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom);
  413   setOperationAction(ISD::GlobalAddress, MVT::i32, Custom);
  414   setOperationAction(ISD::GlobalTLSAddress, MVT::i32, Custom);
  415   setOperationAction(ISD::BlockAddress,  MVT::i32, Custom);
  416   setOperationAction(ISD::ConstantPool,  MVT::i32, Custom);
  417   setOperationAction(ISD::JumpTable,     MVT::i32, Custom);
  418   setOperationAction(ISD::GlobalAddress, MVT::i64, Custom);
  419   setOperationAction(ISD::GlobalTLSAddress, MVT::i64, Custom);
  420   setOperationAction(ISD::BlockAddress,  MVT::i64, Custom);
  421   setOperationAction(ISD::ConstantPool,  MVT::i64, Custom);
  422   setOperationAction(ISD::JumpTable,     MVT::i64, Custom);
  428   setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom);
  429   setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom);
  432   setOperationAction(ISD::VASTART           , MVT::Other, Custom);
  447     setOperationAction(ISD::VAARG, MVT::Other, Custom);
  448     setOperationAction(ISD::VAARG, MVT::i64, Custom);
  454     setOperationAction(ISD::VACOPY            , MVT::Other, Custom);
  461   setOperationAction(ISD::STACKRESTORE      , MVT::Other, Custom);
  462   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32  , Custom);
  463   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64  , Custom);
  464   setOperationAction(ISD::GET_DYNAMIC_AREA_OFFSET, MVT::i32, Custom);
  465   setOperationAction(ISD::GET_DYNAMIC_AREA_OFFSET, MVT::i64, Custom);
  466   setOperationAction(ISD::EH_DWARF_CFA, MVT::i32, Custom);
  467   setOperationAction(ISD::EH_DWARF_CFA, MVT::i64, Custom);
  470   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
  473   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i1, Custom);
  475   setOperationAction(ISD::INTRINSIC_VOID, MVT::i8, Custom);
  476   setOperationAction(ISD::INTRINSIC_VOID, MVT::i16, Custom);
  477   setOperationAction(ISD::INTRINSIC_VOID, MVT::i32, Custom);
  478   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
  502     setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
  504     setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
  508     setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
  511       setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
  523       setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
  524       setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
  525       setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
  526       setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom);
  529     setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
  530     setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
  531     setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
  532     setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom);
  541     setOperationAction(ISD::SHL_PARTS, MVT::i64, Custom);
  542     setOperationAction(ISD::SRA_PARTS, MVT::i64, Custom);
  543     setOperationAction(ISD::SRL_PARTS, MVT::i64, Custom);
  546     setOperationAction(ISD::SHL_PARTS, MVT::i32, Custom);
  547     setOperationAction(ISD::SRA_PARTS, MVT::i32, Custom);
  548     setOperationAction(ISD::SRL_PARTS, MVT::i32, Custom);
  677       setOperationAction(ISD::ABS, VT, Custom);
  681     setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v16i8, Custom);
  685     setOperationAction(ISD::TRUNCATE, MVT::v8i8, Custom);
  686     setOperationAction(ISD::TRUNCATE, MVT::v4i8, Custom);
  687     setOperationAction(ISD::TRUNCATE, MVT::v2i8, Custom);
  688     setOperationAction(ISD::TRUNCATE, MVT::v4i16, Custom);
  689     setOperationAction(ISD::TRUNCATE, MVT::v2i16, Custom);
  728       setOperationAction(ISD::MUL, MVT::v4i32, Custom);
  730     setOperationAction(ISD::MUL, MVT::v8i16, Custom);
  731     setOperationAction(ISD::MUL, MVT::v16i8, Custom);
  733     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4f32, Custom);
  734     setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v4i32, Custom);
  736     setOperationAction(ISD::BUILD_VECTOR, MVT::v16i8, Custom);
  737     setOperationAction(ISD::BUILD_VECTOR, MVT::v8i16, Custom);
  738     setOperationAction(ISD::BUILD_VECTOR, MVT::v4i32, Custom);
  739     setOperationAction(ISD::BUILD_VECTOR, MVT::v4f32, Custom);
  820         setOperationAction(ISD::SETCC, MVT::v2i64, Custom);
  842       setOperationAction(ISD::UINT_TO_FP, MVT::v2i8, Custom);
  843       setOperationAction(ISD::UINT_TO_FP, MVT::v4i8, Custom);
  844       setOperationAction(ISD::UINT_TO_FP, MVT::v2i16, Custom);
  845       setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom);
  846       setOperationAction(ISD::SINT_TO_FP, MVT::v2i8, Custom);
  847       setOperationAction(ISD::SINT_TO_FP, MVT::v4i8, Custom);
  848       setOperationAction(ISD::SINT_TO_FP, MVT::v2i16, Custom);
  849       setOperationAction(ISD::SINT_TO_FP, MVT::v4i16, Custom);
  859         setOperationAction(ISD::BUILD_VECTOR, MVT::v2i64, Custom);
  860       setOperationAction(ISD::BUILD_VECTOR, MVT::v2f64, Custom);
  871       setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom);
  872       setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom);
  911         setOperationAction(ISD::BITCAST, MVT::i128, Custom);
  919       setOperationAction(ISD::FP_EXTEND, MVT::v2f32, Custom);
  924       setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom);
  925       setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16i8, Custom);
  938     setOperationAction(ISD::LOAD  , MVT::v4f64, Custom);
  939     setOperationAction(ISD::STORE , MVT::v4f64, Custom);
  941     setTruncStoreAction(MVT::v4f64, MVT::v4f32, Custom);
  942     setLoadExtAction(ISD::EXTLOAD, MVT::v4f64, MVT::v4f32, Custom);
  952     setOperationAction(ISD::VECTOR_SHUFFLE , MVT::v4f64, Custom);
  954     setOperationAction(ISD::BUILD_VECTOR, MVT::v4f64, Custom);
  989     setOperationAction(ISD::LOAD  , MVT::v4f32, Custom);
  990     setOperationAction(ISD::STORE , MVT::v4f32, Custom);
 1000     setOperationAction(ISD::VECTOR_SHUFFLE , MVT::v4f32, Custom);
 1002     setOperationAction(ISD::BUILD_VECTOR, MVT::v4f32, Custom);
 1034     setOperationAction(ISD::LOAD  , MVT::v4i1, Custom);
 1035     setOperationAction(ISD::STORE , MVT::v4i1, Custom);
 1037     setOperationAction(ISD::EXTRACT_VECTOR_ELT , MVT::v4i1, Custom);
 1041     setOperationAction(ISD::VECTOR_SHUFFLE , MVT::v4i1, Custom);
 1043     setOperationAction(ISD::BUILD_VECTOR, MVT::v4i1, Custom);
 1045     setOperationAction(ISD::SINT_TO_FP, MVT::v4i1, Custom);
 1046     setOperationAction(ISD::UINT_TO_FP, MVT::v4i1, Custom);
 1085   setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, isPPC64 ? Legal : Custom);
lib/Target/RISCV/RISCVISelLowering.cpp
   88   setOperationAction(ISD::SELECT, XLenVT, Custom);
   94   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  103     setOperationAction(ISD::ADD, MVT::i32, Custom);
  104     setOperationAction(ISD::SUB, MVT::i32, Custom);
  105     setOperationAction(ISD::SHL, MVT::i32, Custom);
  106     setOperationAction(ISD::SRA, MVT::i32, Custom);
  107     setOperationAction(ISD::SRL, MVT::i32, Custom);
  121     setOperationAction(ISD::MUL, MVT::i32, Custom);
  122     setOperationAction(ISD::SDIV, MVT::i32, Custom);
  123     setOperationAction(ISD::UDIV, MVT::i32, Custom);
  124     setOperationAction(ISD::UREM, MVT::i32, Custom);
  132   setOperationAction(ISD::SHL_PARTS, XLenVT, Custom);
  133   setOperationAction(ISD::SRL_PARTS, XLenVT, Custom);
  134   setOperationAction(ISD::SRA_PARTS, XLenVT, Custom);
  158     setOperationAction(ISD::SELECT, MVT::f32, Custom);
  167     setOperationAction(ISD::BITCAST, MVT::i32, Custom);
  175     setOperationAction(ISD::SELECT, MVT::f64, Custom);
  185   setOperationAction(ISD::GlobalAddress, XLenVT, Custom);
  186   setOperationAction(ISD::BlockAddress, XLenVT, Custom);
  187   setOperationAction(ISD::ConstantPool, XLenVT, Custom);
  189   setOperationAction(ISD::GlobalTLSAddress, XLenVT, Custom);
  194                      Subtarget.is64Bit() ? Legal : Custom);
lib/Target/Sparc/SparcISelLowering.cpp
 1460     setOperationAction(ISD::LOAD, MVT::i64, Custom);
 1461     setOperationAction(ISD::STORE, MVT::i64, Custom);
 1484   setOperationAction(ISD::GlobalAddress, PtrVT, Custom);
 1485   setOperationAction(ISD::GlobalTLSAddress, PtrVT, Custom);
 1486   setOperationAction(ISD::ConstantPool, PtrVT, Custom);
 1487   setOperationAction(ISD::BlockAddress, PtrVT, Custom);
 1509   setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom);
 1510   setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom);
 1511   setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom);
 1512   setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom);
 1515   setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
 1516   setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom);
 1517   setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
 1518   setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom);
 1538   setOperationAction(ISD::BR_CC, MVT::i32, Custom);
 1539   setOperationAction(ISD::BR_CC, MVT::f32, Custom);
 1540   setOperationAction(ISD::BR_CC, MVT::f64, Custom);
 1541   setOperationAction(ISD::BR_CC, MVT::f128, Custom);
 1543   setOperationAction(ISD::SELECT_CC, MVT::i32, Custom);
 1544   setOperationAction(ISD::SELECT_CC, MVT::f32, Custom);
 1545   setOperationAction(ISD::SELECT_CC, MVT::f64, Custom);
 1546   setOperationAction(ISD::SELECT_CC, MVT::f128, Custom);
 1548   setOperationAction(ISD::ADDC, MVT::i32, Custom);
 1549   setOperationAction(ISD::ADDE, MVT::i32, Custom);
 1550   setOperationAction(ISD::SUBC, MVT::i32, Custom);
 1551   setOperationAction(ISD::SUBE, MVT::i32, Custom);
 1554     setOperationAction(ISD::ADDC, MVT::i64, Custom);
 1555     setOperationAction(ISD::ADDE, MVT::i64, Custom);
 1556     setOperationAction(ISD::SUBC, MVT::i64, Custom);
 1557     setOperationAction(ISD::SUBE, MVT::i64, Custom);
 1562     setOperationAction(ISD::BR_CC, MVT::i64, Custom);
 1563     setOperationAction(ISD::SELECT_CC, MVT::i64, Custom);
 1572     setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i64, Custom);
 1593   setOperationAction(ISD::ATOMIC_LOAD, MVT::i32, Custom);
 1594   setOperationAction(ISD::ATOMIC_STORE, MVT::i32, Custom);
 1599     setOperationAction(ISD::ATOMIC_LOAD, MVT::i64, Custom);
 1600     setOperationAction(ISD::ATOMIC_STORE, MVT::i64, Custom);
 1612     setOperationAction(ISD::FNEG, MVT::f64, Custom);
 1613     setOperationAction(ISD::FABS, MVT::f64, Custom);
 1674     setOperationAction(ISD::UMULO,     MVT::i64, Custom);
 1675     setOperationAction(ISD::SMULO,     MVT::i64, Custom);
 1683   setOperationAction(ISD::VASTART           , MVT::Other, Custom);
 1685   setOperationAction(ISD::VAARG             , MVT::Other, Custom);
 1695   setOperationAction(ISD::DYNAMIC_STACKALLOC, MVT::i32  , Custom);
 1706     setOperationAction(ISD::LOAD, MVT::f128, Custom);
 1707     setOperationAction(ISD::STORE, MVT::f128, Custom);
 1722       setOperationAction(ISD::FNEG, MVT::f128, Custom);
 1723       setOperationAction(ISD::FABS, MVT::f128, Custom);
 1736     setOperationAction(ISD::FADD,  MVT::f128, Custom);
 1737     setOperationAction(ISD::FSUB,  MVT::f128, Custom);
 1738     setOperationAction(ISD::FMUL,  MVT::f128, Custom);
 1739     setOperationAction(ISD::FDIV,  MVT::f128, Custom);
 1740     setOperationAction(ISD::FSQRT, MVT::f128, Custom);
 1741     setOperationAction(ISD::FNEG,  MVT::f128, Custom);
 1742     setOperationAction(ISD::FABS,  MVT::f128, Custom);
 1744     setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom);
 1745     setOperationAction(ISD::FP_ROUND,  MVT::f64, Custom);
 1746     setOperationAction(ISD::FP_ROUND,  MVT::f32, Custom);
 1804     setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Custom);
 1806   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
lib/Target/SystemZ/SystemZISelLowering.cpp
  134       setOperationAction(ISD::SETCC, VT, Custom);
  140       setOperationAction(ISD::SELECT_CC, VT, Custom);
  141       setOperationAction(ISD::BR_CC,     VT, Custom);
  163       setOperationAction(ISD::SDIVREM, VT, Custom);
  164       setOperationAction(ISD::UDIVREM, VT, Custom);
  167       setOperationAction(ISD::SADDO, VT, Custom);
  168       setOperationAction(ISD::SSUBO, VT, Custom);
  171       setOperationAction(ISD::UADDO, VT, Custom);
  172       setOperationAction(ISD::USUBO, VT, Custom);
  175       setOperationAction(ISD::ADDCARRY, VT, Custom);
  176       setOperationAction(ISD::SUBCARRY, VT, Custom);
  180       setOperationAction(ISD::ATOMIC_LOAD,  VT, Custom);
  181       setOperationAction(ISD::ATOMIC_STORE, VT, Custom);
  185       setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom);
  189         setOperationAction(ISD::CTPOP, VT, Custom);
  200       setOperationAction(ISD::SMUL_LOHI, VT, Custom);
  201       setOperationAction(ISD::UMUL_LOHI, VT, Custom);
  221   setOperationAction(ISD::ATOMIC_SWAP,      MVT::i32, Custom);
  222   setOperationAction(ISD::ATOMIC_LOAD_ADD,  MVT::i32, Custom);
  223   setOperationAction(ISD::ATOMIC_LOAD_SUB,  MVT::i32, Custom);
  224   setOperationAction(ISD::ATOMIC_LOAD_AND,  MVT::i32, Custom);
  225   setOperationAction(ISD::ATOMIC_LOAD_OR,   MVT::i32, Custom);
  226   setOperationAction(ISD::ATOMIC_LOAD_XOR,  MVT::i32, Custom);
  227   setOperationAction(ISD::ATOMIC_LOAD_NAND, MVT::i32, Custom);
  228   setOperationAction(ISD::ATOMIC_LOAD_MIN,  MVT::i32, Custom);
  229   setOperationAction(ISD::ATOMIC_LOAD_MAX,  MVT::i32, Custom);
  230   setOperationAction(ISD::ATOMIC_LOAD_UMIN, MVT::i32, Custom);
  231   setOperationAction(ISD::ATOMIC_LOAD_UMAX, MVT::i32, Custom);
  235   setOperationAction(ISD::ATOMIC_LOAD,     MVT::i128, Custom);
  236   setOperationAction(ISD::ATOMIC_STORE,    MVT::i128, Custom);
  240   setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i32, Custom);
  241   setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i64, Custom);
  242   setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i128, Custom);
  244   setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom);
  268   setOperationAction(ISD::OR, MVT::i64, Custom);
  284   setOperationAction(ISD::ConstantPool,     PtrVT, Custom);
  285   setOperationAction(ISD::GlobalAddress,    PtrVT, Custom);
  286   setOperationAction(ISD::GlobalTLSAddress, PtrVT, Custom);
  287   setOperationAction(ISD::BlockAddress,     PtrVT, Custom);
  288   setOperationAction(ISD::JumpTable,        PtrVT, Custom);
  292   setOperationAction(ISD::DYNAMIC_STACKALLOC, PtrVT, Custom);
  293   setOperationAction(ISD::GET_DYNAMIC_AREA_OFFSET, PtrVT, Custom);
  297   setOperationAction(ISD::STACKSAVE,    MVT::Other, Custom);
  298   setOperationAction(ISD::STACKRESTORE, MVT::Other, Custom);
  301   setOperationAction(ISD::PREFETCH, MVT::Other, Custom);
  330       setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
  331       setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom);
  351         setOperationAction(ISD::CTPOP, VT, Custom);
  356       setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom);
  359       setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom);
  360       setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom);
  364       setOperationAction(ISD::SHL, VT, Custom);
  365       setOperationAction(ISD::SRA, VT, Custom);
  366       setOperationAction(ISD::SRL, VT, Custom);
  375       setOperationAction(ISD::SETCC, VT, Custom);
  466     setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom);
  467     setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2f64, Custom);
  468     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom);
  469     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Custom);
  596     setOperationAction(ISD::BITCAST, MVT::i32, Custom);
  597     setOperationAction(ISD::BITCAST, MVT::f32, Custom);
  602   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  603   setOperationAction(ISD::VACOPY,  MVT::Other, Custom);
  623   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
  624   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
   71   setOperationAction(ISD::GlobalAddress, MVTPtr, Custom);
   72   setOperationAction(ISD::ExternalSymbol, MVTPtr, Custom);
   73   setOperationAction(ISD::JumpTable, MVTPtr, Custom);
   74   setOperationAction(ISD::BlockAddress, MVTPtr, Custom);
   75   setOperationAction(ISD::BRIND, MVT::Other, Custom);
   79   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  133       setOperationAction(ISD::BUILD_VECTOR, T, Custom);
  136         setOperationAction(ISD::BUILD_VECTOR, T, Custom);
  140       setOperationAction(ISD::VECTOR_SHUFFLE, T, Custom);
  143         setOperationAction(ISD::VECTOR_SHUFFLE, T, Custom);
  148         setOperationAction(Op, T, Custom);
  150         setOperationAction(Op, MVT::v2i64, Custom);
  156         setOperationAction(Op, T, Custom);
  159           setOperationAction(Op, T, Custom);
  204     auto Action = Subtarget->hasSIMD128() ? Custom : Expand;
  216   setOperationAction(ISD::FrameIndex, MVT::i32, Custom);
  217   setOperationAction(ISD::CopyToReg, MVT::Other, Custom);
  225   setOperationAction(ISD::BR_JT, MVT::Other, Custom);
  265   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
  266   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
lib/Target/X86/X86ISelLowering.cpp
  207     setOperationAction(ISD::ABS            , MVT::i16  , Custom);
  208     setOperationAction(ISD::ABS            , MVT::i32  , Custom);
  210   setOperationAction(ISD::ABS              , MVT::i64  , Custom);
  214     setOperationAction(ShiftOp             , MVT::i16  , Custom);
  215     setOperationAction(ShiftOp             , MVT::i32  , Custom);
  217       setOperationAction(ShiftOp           , MVT::i64  , Custom);
  229     setOperationAction(ISD::UINT_TO_FP     , MVT::i64  , Custom);
  232     setOperationAction(ISD::UINT_TO_FP     , MVT::i32  , Custom);
  247       setOperationAction(ISD::SINT_TO_FP     , MVT::i32  , Custom);
  249       setOperationAction(ISD::SINT_TO_FP     , MVT::i16  , Custom);
  250       setOperationAction(ISD::SINT_TO_FP     , MVT::i32  , Custom);
  265     setOperationAction(ISD::FP_TO_SINT     , MVT::i64  , Custom);
  266     setOperationAction(ISD::SINT_TO_FP     , MVT::i64  , Custom);
  268     setOperationAction(ISD::FP_TO_SINT     , MVT::i16  , Custom);
  269     setOperationAction(ISD::FP_TO_SINT     , MVT::i32  , Custom);
  283     setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom);
  284     setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom);
  297     setOperationAction(ISD::BITCAST      , MVT::i64  , Custom);
  319   setOperationAction(ISD::BRCOND           , MVT::Other, Custom);
  335   setOperationAction(ISD::FLT_ROUNDS_      , MVT::i32  , Custom);
  342     setOperationAction(ISD::CTTZ           , MVT::i16  , Custom);
  343     setOperationAction(ISD::CTTZ           , MVT::i32  , Custom);
  347       setOperationAction(ISD::CTTZ         , MVT::i64  , Custom);
  358     setOperationAction(ISD::CTLZ           , MVT::i8   , Custom);
  359     setOperationAction(ISD::CTLZ           , MVT::i16  , Custom);
  360     setOperationAction(ISD::CTLZ           , MVT::i32  , Custom);
  361     setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i8   , Custom);
  362     setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i16  , Custom);
  363     setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32  , Custom);
  365       setOperationAction(ISD::CTLZ         , MVT::i64  , Custom);
  366       setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i64, Custom);
  404       setOperationAction(ISD::CTPOP        , MVT::i64  , Custom);
  407   setOperationAction(ISD::READCYCLECOUNTER , MVT::i64  , Custom);
  416     setOperationAction(ISD::SELECT, VT, Custom);
  417     setOperationAction(ISD::SETCC, VT, Custom);
  422     setOperationAction(ISD::SELECT, VT, Custom);
  423     setOperationAction(ISD::SETCC,  VT, Custom);
  427   setOperationAction(ISD::SELECT, MVT::x86mmx, Custom);
  430   setOperationAction(ISD::EH_RETURN       , MVT::Other, Custom);
  433   setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom);
  434   setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom);
  435   setOperationAction(ISD::EH_SJLJ_SETUP_DISPATCH, MVT::Other, Custom);
  443     setOperationAction(ISD::ConstantPool    , VT, Custom);
  444     setOperationAction(ISD::JumpTable       , VT, Custom);
  445     setOperationAction(ISD::GlobalAddress   , VT, Custom);
  446     setOperationAction(ISD::GlobalTLSAddress, VT, Custom);
  447     setOperationAction(ISD::ExternalSymbol  , VT, Custom);
  448     setOperationAction(ISD::BlockAddress    , VT, Custom);
  455     setOperationAction(ISD::SHL_PARTS, VT, Custom);
  456     setOperationAction(ISD::SRA_PARTS, VT, Custom);
  457     setOperationAction(ISD::SRL_PARTS, VT, Custom);
  463   setOperationAction(ISD::ATOMIC_FENCE  , MVT::Other, Custom);
  467     setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, VT, Custom);
  468     setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom);
  469     setOperationAction(ISD::ATOMIC_LOAD_ADD, VT, Custom);
  470     setOperationAction(ISD::ATOMIC_LOAD_OR, VT, Custom);
  471     setOperationAction(ISD::ATOMIC_LOAD_XOR, VT, Custom);
  472     setOperationAction(ISD::ATOMIC_LOAD_AND, VT, Custom);
  473     setOperationAction(ISD::ATOMIC_STORE, VT, Custom);
  477     setOperationAction(ISD::ATOMIC_LOAD, MVT::i64, Custom);
  480     setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i128, Custom);
  490   setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom);
  491   setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i64, Custom);
  493   setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom);
  494   setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom);
  500   setOperationAction(ISD::VASTART           , MVT::Other, Custom);
  503   setOperationAction(ISD::VAARG,  MVT::Other, Is64Bit ? Custom : Expand);
  504   setOperationAction(ISD::VACOPY, MVT::Other, Is64Bit ? Custom : Expand);
  509   setOperationAction(ISD::DYNAMIC_STACKALLOC, PtrVT, Custom);
  512   setOperationAction(ISD::GC_TRANSITION_START, MVT::Other, Custom);
  513   setOperationAction(ISD::GC_TRANSITION_END, MVT::Other, Custom);
  531       setOperationAction(ISD::FABS, VT, Custom);
  534       setOperationAction(ISD::FNEG, VT, Custom);
  537       setOperationAction(ISD::FCOPYSIGN, VT, Custom);
  540       setOperationAction(ISD::FADD, VT, Custom);
  541       setOperationAction(ISD::FSUB, VT, Custom);
  550     setOperationAction(ISD::FGETSIGN, MVT::i64, Custom);
  551     setOperationAction(ISD::FGETSIGN, MVT::i32, Custom);
  561     setOperationAction(ISD::FABS , MVT::f32, Custom);
  564     setOperationAction(ISD::FNEG , MVT::f32, Custom);
  572     setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom);
  671     setOperationAction(ISD::FADD, MVT::f128, Custom);
  672     setOperationAction(ISD::FSUB, MVT::f128, Custom);
  673     setOperationAction(ISD::FDIV, MVT::f128, Custom);
  674     setOperationAction(ISD::FMUL, MVT::f128, Custom);
  677     setOperationAction(ISD::FABS, MVT::f128, Custom);
  678     setOperationAction(ISD::FNEG, MVT::f128, Custom);
  679     setOperationAction(ISD::FCOPYSIGN, MVT::f128, Custom);
  686     setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom);
  691       setOperationAction(ISD::FP_ROUND, MVT::f32, Custom);
  692       setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Custom);
  695       setOperationAction(ISD::FP_ROUND, MVT::f64, Custom);
  696       setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Custom);
  699       setOperationAction(ISD::FP_ROUND, MVT::f80, Custom);
  700       setOperationAction(ISD::STRICT_FP_ROUND, MVT::f80, Custom);
  703     setOperationAction(ISD::SETCC, MVT::f128, Custom);
  815     setOperationAction(ISD::FNEG,               MVT::v4f32, Custom);
  816     setOperationAction(ISD::FABS,               MVT::v4f32, Custom);
  817     setOperationAction(ISD::FCOPYSIGN,          MVT::v4f32, Custom);
  818     setOperationAction(ISD::BUILD_VECTOR,       MVT::v4f32, Custom);
  819     setOperationAction(ISD::VECTOR_SHUFFLE,     MVT::v4f32, Custom);
  820     setOperationAction(ISD::VSELECT,            MVT::v4f32, Custom);
  821     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom);
  822     setOperationAction(ISD::SELECT,             MVT::v4f32, Custom);
  823     setOperationAction(ISD::UINT_TO_FP,         MVT::v4i32, Custom);
  825     setOperationAction(ISD::LOAD,               MVT::v2f32, Custom);
  826     setOperationAction(ISD::STORE,              MVT::v2f32, Custom);
  828     setOperationAction(ISD::STRICT_FP_ROUND,    MVT::v4f32, Custom);
  848       setOperationAction(ISD::SDIV, VT, Custom);
  849       setOperationAction(ISD::SREM, VT, Custom);
  850       setOperationAction(ISD::UDIV, VT, Custom);
  851       setOperationAction(ISD::UREM, VT, Custom);
  854     setOperationAction(ISD::MUL,                MVT::v2i8,  Custom);
  855     setOperationAction(ISD::MUL,                MVT::v4i8,  Custom);
  856     setOperationAction(ISD::MUL,                MVT::v8i8,  Custom);
  858     setOperationAction(ISD::MUL,                MVT::v16i8, Custom);
  859     setOperationAction(ISD::MUL,                MVT::v4i32, Custom);
  860     setOperationAction(ISD::MUL,                MVT::v2i64, Custom);
  861     setOperationAction(ISD::MULHU,              MVT::v4i32, Custom);
  862     setOperationAction(ISD::MULHS,              MVT::v4i32, Custom);
  863     setOperationAction(ISD::MULHU,              MVT::v16i8, Custom);
  864     setOperationAction(ISD::MULHS,              MVT::v16i8, Custom);
  868     setOperationAction(ISD::FNEG,               MVT::v2f64, Custom);
  869     setOperationAction(ISD::FABS,               MVT::v2f64, Custom);
  870     setOperationAction(ISD::FCOPYSIGN,          MVT::v2f64, Custom);
  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);
  887     setOperationAction(ISD::UADDSAT,            MVT::v4i32, Custom);
  888     setOperationAction(ISD::USUBSAT,            MVT::v4i32, Custom);
  889     setOperationAction(ISD::UADDSAT,            MVT::v2i64, Custom);
  890     setOperationAction(ISD::USUBSAT,            MVT::v2i64, Custom);
  892     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v8i16, Custom);
  893     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v4i32, Custom);
  894     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v4f32, Custom);
  897       setOperationAction(ISD::SETCC,              VT, Custom);
  898       setOperationAction(ISD::CTPOP,              VT, Custom);
  899       setOperationAction(ISD::ABS,                VT, Custom);
  903       setCondCodeAction(ISD::SETLT, VT, Custom);
  904       setCondCodeAction(ISD::SETLE, VT, Custom);
  908       setOperationAction(ISD::SCALAR_TO_VECTOR,   VT, Custom);
  909       setOperationAction(ISD::BUILD_VECTOR,       VT, Custom);
  910       setOperationAction(ISD::VECTOR_SHUFFLE,     VT, Custom);
  911       setOperationAction(ISD::VSELECT,            VT, Custom);
  912       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  916       setOperationAction(ISD::BUILD_VECTOR,       VT, Custom);
  917       setOperationAction(ISD::VECTOR_SHUFFLE,     VT, Custom);
  918       setOperationAction(ISD::VSELECT,            VT, Custom);
  923       setOperationAction(ISD::INSERT_VECTOR_ELT,  VT, Custom);
  924       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
  928     setOperationAction(ISD::SELECT,             MVT::v2f64, Custom);
  929     setOperationAction(ISD::SELECT,             MVT::v2i64, Custom);
  930     setOperationAction(ISD::SELECT,             MVT::v4i32, Custom);
  931     setOperationAction(ISD::SELECT,             MVT::v8i16, Custom);
  932     setOperationAction(ISD::SELECT,             MVT::v16i8, Custom);
  935     setOperationAction(ISD::FP_TO_SINT,         MVT::v2i32, Custom);
  938     setOperationAction(ISD::FP_TO_SINT,         MVT::v2i8,  Custom);
  939     setOperationAction(ISD::FP_TO_SINT,         MVT::v4i8,  Custom);
  940     setOperationAction(ISD::FP_TO_SINT,         MVT::v8i8,  Custom);
  941     setOperationAction(ISD::FP_TO_SINT,         MVT::v2i16, Custom);
  942     setOperationAction(ISD::FP_TO_SINT,         MVT::v4i16, Custom);
  943     setOperationAction(ISD::FP_TO_UINT,         MVT::v2i8,  Custom);
  944     setOperationAction(ISD::FP_TO_UINT,         MVT::v4i8,  Custom);
  945     setOperationAction(ISD::FP_TO_UINT,         MVT::v8i8,  Custom);
  946     setOperationAction(ISD::FP_TO_UINT,         MVT::v2i16, Custom);
  947     setOperationAction(ISD::FP_TO_UINT,         MVT::v4i16, Custom);
  955     setOperationAction(ISD::FP_TO_SINT,         MVT::v8i16, Custom);
  958     setOperationAction(ISD::SINT_TO_FP,         MVT::v2i32, Custom);
  960     setOperationAction(ISD::UINT_TO_FP,         MVT::v2i32, Custom);
  963     setOperationAction(ISD::UINT_TO_FP,         MVT::v2f32, Custom);
  965     setOperationAction(ISD::FP_EXTEND,          MVT::v2f32, Custom);
  966     setOperationAction(ISD::FP_ROUND,           MVT::v2f32, Custom);
  971     setOperationAction(ISD::LOAD,               MVT::v2i32, Custom);
  972     setOperationAction(ISD::LOAD,               MVT::v4i16, Custom);
  973     setOperationAction(ISD::LOAD,               MVT::v8i8,  Custom);
  974     setOperationAction(ISD::STORE,              MVT::v2i32, Custom);
  975     setOperationAction(ISD::STORE,              MVT::v4i16, Custom);
  976     setOperationAction(ISD::STORE,              MVT::v8i8,  Custom);
  978     setOperationAction(ISD::BITCAST,            MVT::v2i32, Custom);
  979     setOperationAction(ISD::BITCAST,            MVT::v4i16, Custom);
  980     setOperationAction(ISD::BITCAST,            MVT::v8i8,  Custom);
  982       setOperationAction(ISD::BITCAST, MVT::v16i1, Custom);
  984     setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v2i64, Custom);
  985     setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v4i32, Custom);
  986     setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v8i16, Custom);
  988     setOperationAction(ISD::SIGN_EXTEND, MVT::v4i64, Custom);
  990     setOperationAction(ISD::TRUNCATE,    MVT::v2i8,  Custom);
  991     setOperationAction(ISD::TRUNCATE,    MVT::v2i16, Custom);
  992     setOperationAction(ISD::TRUNCATE,    MVT::v2i32, Custom);
  993     setOperationAction(ISD::TRUNCATE,    MVT::v4i8,  Custom);
  994     setOperationAction(ISD::TRUNCATE,    MVT::v4i16, Custom);
  995     setOperationAction(ISD::TRUNCATE,    MVT::v8i8,  Custom);
 1000       setOperationAction(ISD::SRL,              VT, Custom);
 1001       setOperationAction(ISD::SHL,              VT, Custom);
 1002       setOperationAction(ISD::SRA,              VT, Custom);
 1005     setOperationAction(ISD::ROTL,               MVT::v4i32, Custom);
 1006     setOperationAction(ISD::ROTL,               MVT::v8i16, Custom);
 1010       setOperationAction(ISD::ROTL,             MVT::v16i8, Custom);
 1017     setOperationAction(ISD::BITREVERSE,         MVT::v16i8, Custom);
 1018     setOperationAction(ISD::CTLZ,               MVT::v16i8, Custom);
 1019     setOperationAction(ISD::CTLZ,               MVT::v8i16, Custom);
 1020     setOperationAction(ISD::CTLZ,               MVT::v4i32, Custom);
 1021     setOperationAction(ISD::CTLZ,               MVT::v2i64, Custom);
 1024     setOperationAction(ISD::ADD,                MVT::i16, Custom);
 1025     setOperationAction(ISD::ADD,                MVT::i32, Custom);
 1026     setOperationAction(ISD::SUB,                MVT::i16, Custom);
 1027     setOperationAction(ISD::SUB,                MVT::i32, Custom);
 1074     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v16i8, Custom);
 1080       setOperationAction(ISD::ROTL, VT, Custom);
 1084       setOperationAction(ISD::BITREVERSE, VT, Custom);
 1088       setOperationAction(ISD::BITREVERSE, VT, Custom);
 1113       setOperationAction(ISD::FNEG,       VT, Custom);
 1114       setOperationAction(ISD::FABS,       VT, Custom);
 1115       setOperationAction(ISD::FCOPYSIGN,  VT, Custom);
 1126     setOperationAction(ISD::STRICT_FP_ROUND,    MVT::v8f32, Custom);
 1129       setOperationAction(ISD::BITCAST, MVT::v32i1, Custom);
 1134       setOperationAction(ISD::SRL, VT, Custom);
 1135       setOperationAction(ISD::SHL, VT, Custom);
 1136       setOperationAction(ISD::SRA, VT, Custom);
 1140     setOperationAction(ISD::SIGN_EXTEND,       MVT::v8i64,  Custom);
 1141     setOperationAction(ISD::SIGN_EXTEND,       MVT::v16i32, Custom);
 1142     setOperationAction(ISD::ZERO_EXTEND,       MVT::v8i64,  Custom);
 1143     setOperationAction(ISD::ZERO_EXTEND,       MVT::v16i32, Custom);
 1145     setOperationAction(ISD::ROTL,              MVT::v8i32,  Custom);
 1146     setOperationAction(ISD::ROTL,              MVT::v16i16, Custom);
 1150       setOperationAction(ISD::ROTL,            MVT::v32i8,  Custom);
 1152     setOperationAction(ISD::SELECT,            MVT::v4f64, Custom);
 1153     setOperationAction(ISD::SELECT,            MVT::v4i64, Custom);
 1154     setOperationAction(ISD::SELECT,            MVT::v8i32, Custom);
 1155     setOperationAction(ISD::SELECT,            MVT::v16i16, Custom);
 1156     setOperationAction(ISD::SELECT,            MVT::v32i8, Custom);
 1157     setOperationAction(ISD::SELECT,            MVT::v8f32, Custom);
 1160       setOperationAction(ISD::SIGN_EXTEND,     VT, Custom);
 1161       setOperationAction(ISD::ZERO_EXTEND,     VT, Custom);
 1162       setOperationAction(ISD::ANY_EXTEND,      VT, Custom);
 1165     setOperationAction(ISD::TRUNCATE,          MVT::v16i8, Custom);
 1166     setOperationAction(ISD::TRUNCATE,          MVT::v8i16, Custom);
 1167     setOperationAction(ISD::TRUNCATE,          MVT::v4i32, Custom);
 1168     setOperationAction(ISD::BITREVERSE,        MVT::v32i8, Custom);
 1171       setOperationAction(ISD::SETCC,           VT, Custom);
 1172       setOperationAction(ISD::CTPOP,           VT, Custom);
 1173       setOperationAction(ISD::CTLZ,            VT, Custom);
 1177       setCondCodeAction(ISD::SETLT, VT, Custom);
 1178       setCondCodeAction(ISD::SETLE, VT, Custom);
 1188       setOperationAction(ISD::ADD, VT, HasInt256 ? Legal : Custom);
 1189       setOperationAction(ISD::SUB, VT, HasInt256 ? Legal : Custom);
 1192     setOperationAction(ISD::MUL,       MVT::v4i64,  Custom);
 1193     setOperationAction(ISD::MUL,       MVT::v8i32,  HasInt256 ? Legal : Custom);
 1194     setOperationAction(ISD::MUL,       MVT::v16i16, HasInt256 ? Legal : Custom);
 1195     setOperationAction(ISD::MUL,       MVT::v32i8,  Custom);
 1197     setOperationAction(ISD::MULHU,     MVT::v8i32,  Custom);
 1198     setOperationAction(ISD::MULHS,     MVT::v8i32,  Custom);
 1199     setOperationAction(ISD::MULHU,     MVT::v16i16, HasInt256 ? Legal : Custom);
 1200     setOperationAction(ISD::MULHS,     MVT::v16i16, HasInt256 ? Legal : Custom);
 1201     setOperationAction(ISD::MULHU,     MVT::v32i8,  Custom);
 1202     setOperationAction(ISD::MULHS,     MVT::v32i8,  Custom);
 1204     setOperationAction(ISD::ABS,       MVT::v4i64,  Custom);
 1205     setOperationAction(ISD::SMAX,      MVT::v4i64,  Custom);
 1206     setOperationAction(ISD::UMAX,      MVT::v4i64,  Custom);
 1207     setOperationAction(ISD::SMIN,      MVT::v4i64,  Custom);
 1208     setOperationAction(ISD::UMIN,      MVT::v4i64,  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);
 1228       setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom);
 1229       setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom);
 1235       setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Custom);
 1250       setOperationAction(ISD::MLOAD,  VT, Subtarget.hasVLX() ? Legal : Custom);
 1264       setOperationAction(ISD::BUILD_VECTOR,       VT, Custom);
 1265       setOperationAction(ISD::VECTOR_SHUFFLE,     VT, Custom);
 1266       setOperationAction(ISD::VSELECT,            VT, Custom);
 1267       setOperationAction(ISD::INSERT_VECTOR_ELT,  VT, Custom);
 1268       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
 1269       setOperationAction(ISD::SCALAR_TO_VECTOR,   VT, Custom);
 1271       setOperationAction(ISD::CONCAT_VECTORS,     VT, Custom);
 1272       setOperationAction(ISD::STORE,              VT, Custom);
 1279       setOperationAction(ISD::MGATHER, MVT::v2f32, Custom);
 1280       setOperationAction(ISD::MGATHER, MVT::v2i32, Custom);
 1284         setOperationAction(ISD::MGATHER,  VT, Custom);
 1298     setOperationAction(ISD::SELECT,             MVT::v1i1, Custom);
 1299     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v1i1, Custom);
 1300     setOperationAction(ISD::BUILD_VECTOR,       MVT::v1i1, Custom);
 1306     setOperationAction(ISD::FP_TO_SINT,         MVT::v2i1,  Custom);
 1307     setOperationAction(ISD::FP_TO_UINT,         MVT::v2i1,  Custom);
 1311       setOperationAction(ISD::LOAD, MVT::v1i1, Custom);
 1312       setOperationAction(ISD::LOAD, MVT::v2i1, Custom);
 1313       setOperationAction(ISD::LOAD, MVT::v4i1, Custom);
 1314       setOperationAction(ISD::LOAD, MVT::v8i1, Custom);
 1316       setOperationAction(ISD::STORE, MVT::v1i1, Custom);
 1317       setOperationAction(ISD::STORE, MVT::v2i1, Custom);
 1318       setOperationAction(ISD::STORE, MVT::v4i1, Custom);
 1319       setOperationAction(ISD::STORE, MVT::v8i1, Custom);
 1324       setOperationAction(ISD::SIGN_EXTEND, VT, Custom);
 1325       setOperationAction(ISD::ZERO_EXTEND, VT, Custom);
 1326       setOperationAction(ISD::ANY_EXTEND,  VT, Custom);
 1330       setOperationAction(ISD::ADD,              VT, Custom);
 1331       setOperationAction(ISD::SUB,              VT, Custom);
 1332       setOperationAction(ISD::MUL,              VT, Custom);
 1333       setOperationAction(ISD::SETCC,            VT, Custom);
 1334       setOperationAction(ISD::SELECT,           VT, Custom);
 1335       setOperationAction(ISD::TRUNCATE,         VT, Custom);
 1336       setOperationAction(ISD::UADDSAT,          VT, Custom);
 1337       setOperationAction(ISD::SADDSAT,          VT, Custom);
 1338       setOperationAction(ISD::USUBSAT,          VT, Custom);
 1339       setOperationAction(ISD::SSUBSAT,          VT, Custom);
 1341       setOperationAction(ISD::BUILD_VECTOR,     VT, Custom);
 1342       setOperationAction(ISD::CONCAT_VECTORS,   VT, Custom);
 1343       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
 1344       setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom);
 1345       setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom);
 1346       setOperationAction(ISD::VECTOR_SHUFFLE,   VT,  Custom);
 1351       setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
 1372       setOperationAction(ISD::FNEG,  VT, Custom);
 1373       setOperationAction(ISD::FABS,  VT, Custom);
 1375       setOperationAction(ISD::FCOPYSIGN, VT, Custom);
 1389     setOperationAction(ISD::STRICT_FP_ROUND,    MVT::v16f32, Custom);
 1403         setOperationAction(ISD::MLOAD,  VT, Custom);
 1404         setOperationAction(ISD::MSTORE, VT, Custom);
 1408     setOperationAction(ISD::TRUNCATE,           MVT::v8i32, Custom);
 1409     setOperationAction(ISD::TRUNCATE,           MVT::v16i16, Custom);
 1410     setOperationAction(ISD::ZERO_EXTEND,        MVT::v16i32, Custom);
 1411     setOperationAction(ISD::ZERO_EXTEND,        MVT::v8i64, Custom);
 1412     setOperationAction(ISD::ANY_EXTEND,         MVT::v16i32, Custom);
 1413     setOperationAction(ISD::ANY_EXTEND,         MVT::v8i64, Custom);
 1414     setOperationAction(ISD::SIGN_EXTEND,        MVT::v16i32, Custom);
 1415     setOperationAction(ISD::SIGN_EXTEND,        MVT::v8i64, Custom);
 1418     setOperationAction(ISD::ANY_EXTEND,         MVT::v8i8, Custom);
 1419     setOperationAction(ISD::ZERO_EXTEND,        MVT::v8i8, Custom);
 1420     setOperationAction(ISD::SIGN_EXTEND,        MVT::v8i8, Custom);
 1429       setOperationAction(ISD::SELECT,           VT, Custom);
 1434       setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom);
 1435       setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom);
 1438     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v8f64,  Custom);
 1439     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v8i64,  Custom);
 1440     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v16f32,  Custom);
 1441     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v16i32,  Custom);
 1443     setOperationAction(ISD::MUL,                MVT::v8i64, Custom);
 1446     setOperationAction(ISD::MULHU,              MVT::v16i32,  Custom);
 1447     setOperationAction(ISD::MULHS,              MVT::v16i32,  Custom);
 1455       setOperationAction(ISD::SRL,              VT, Custom);
 1456       setOperationAction(ISD::SHL,              VT, Custom);
 1457       setOperationAction(ISD::SRA,              VT, Custom);
 1458       setOperationAction(ISD::CTPOP,            VT, Custom);
 1459       setOperationAction(ISD::ROTL,             VT, Custom);
 1460       setOperationAction(ISD::ROTR,             VT, Custom);
 1461       setOperationAction(ISD::SETCC,            VT, Custom);
 1462       setOperationAction(ISD::SELECT,           VT, Custom);
 1466       setCondCodeAction(ISD::SETLT, VT, Custom);
 1467       setCondCodeAction(ISD::SETLE, VT, Custom);
 1499       setOperationAction(ISD::VECTOR_SHUFFLE,      VT, Custom);
 1500       setOperationAction(ISD::INSERT_VECTOR_ELT,   VT, Custom);
 1501       setOperationAction(ISD::BUILD_VECTOR,        VT, Custom);
 1502       setOperationAction(ISD::VSELECT,             VT, Custom);
 1503       setOperationAction(ISD::EXTRACT_VECTOR_ELT,  VT, Custom);
 1504       setOperationAction(ISD::SCALAR_TO_VECTOR,    VT, Custom);
 1508       setOperationAction(ISD::MGATHER,             VT, Custom);
 1509       setOperationAction(ISD::MSCATTER,            VT, Custom);
 1513       setOperationAction(ISD::BITCAST, MVT::v32i16, Custom);
 1514       setOperationAction(ISD::BITCAST, MVT::v64i8,  Custom);
 1517       setOperationAction(ISD::BITREVERSE, MVT::v8i64, Custom);
 1518       setOperationAction(ISD::BITREVERSE, MVT::v16i32, Custom);
 1523         setOperationAction(ISD::FSHL, VT, Custom);
 1524         setOperationAction(ISD::FSHR, VT, Custom);
 1539     setOperationAction(ISD::FP_TO_UINT,         MVT::v2i32, Custom);
 1552       setOperationAction(ISD::ROTL,     VT, Custom);
 1553       setOperationAction(ISD::ROTR,     VT, Custom);
 1557     setOperationAction(ISD::MSCATTER, MVT::v2f32, Custom);
 1558     setOperationAction(ISD::MSCATTER, MVT::v2i32, Custom);
 1562       setOperationAction(ISD::MSCATTER, VT, Custom);
 1595       setOperationAction(ISD::ADD,                VT, Custom);
 1596       setOperationAction(ISD::SUB,                VT, Custom);
 1597       setOperationAction(ISD::MUL,                VT, Custom);
 1599       setOperationAction(ISD::UADDSAT,            VT, Custom);
 1600       setOperationAction(ISD::SADDSAT,            VT, Custom);
 1601       setOperationAction(ISD::USUBSAT,            VT, Custom);
 1602       setOperationAction(ISD::SSUBSAT,            VT, Custom);
 1604       setOperationAction(ISD::TRUNCATE,           VT, Custom);
 1605       setOperationAction(ISD::SETCC,              VT, Custom);
 1606       setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom);
 1607       setOperationAction(ISD::INSERT_VECTOR_ELT,  VT, Custom);
 1608       setOperationAction(ISD::SELECT,             VT, Custom);
 1609       setOperationAction(ISD::BUILD_VECTOR,       VT, Custom);
 1610       setOperationAction(ISD::VECTOR_SHUFFLE,     VT, Custom);
 1613     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v32i1, Custom);
 1614     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v64i1, Custom);
 1615     setOperationAction(ISD::INSERT_SUBVECTOR,   MVT::v32i1, Custom);
 1616     setOperationAction(ISD::INSERT_SUBVECTOR,   MVT::v64i1, Custom);
 1618       setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom);
 1621     setOperationAction(ISD::SIGN_EXTEND,        MVT::v32i8, Custom);
 1622     setOperationAction(ISD::ZERO_EXTEND,        MVT::v32i8, Custom);
 1623     setOperationAction(ISD::ANY_EXTEND,         MVT::v32i8, Custom);
 1634     setOperationAction(ISD::SIGN_EXTEND,        MVT::v64i8, Custom);
 1635     setOperationAction(ISD::ZERO_EXTEND,        MVT::v64i8, Custom);
 1636     setOperationAction(ISD::ANY_EXTEND,         MVT::v64i8, Custom);
 1639     setOperationAction(ISD::MUL,                MVT::v64i8, Custom);
 1642     setOperationAction(ISD::MULHS,              MVT::v64i8, Custom);
 1643     setOperationAction(ISD::MULHU,              MVT::v64i8, Custom);
 1644     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v32i16, Custom);
 1645     setOperationAction(ISD::CONCAT_VECTORS,     MVT::v64i8, Custom);
 1648     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v32i16, Custom);
 1649     setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v64i8, Custom);
 1650     setOperationAction(ISD::SCALAR_TO_VECTOR,   MVT::v32i16, Custom);
 1651     setOperationAction(ISD::SCALAR_TO_VECTOR,   MVT::v64i8, Custom);
 1652     setOperationAction(ISD::SIGN_EXTEND,        MVT::v32i16, Custom);
 1653     setOperationAction(ISD::ZERO_EXTEND,        MVT::v32i16, Custom);
 1654     setOperationAction(ISD::ANY_EXTEND,         MVT::v32i16, Custom);
 1655     setOperationAction(ISD::VECTOR_SHUFFLE,     MVT::v32i16, Custom);
 1656     setOperationAction(ISD::VECTOR_SHUFFLE,     MVT::v64i8, Custom);
 1657     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v32i16, Custom);
 1658     setOperationAction(ISD::INSERT_VECTOR_ELT,  MVT::v64i8, Custom);
 1659     setOperationAction(ISD::TRUNCATE,           MVT::v32i8, Custom);
 1660     setOperationAction(ISD::BITREVERSE,         MVT::v64i8, Custom);
 1662     setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v32i16, Custom);
 1663     setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, MVT::v32i16, Custom);
 1668       setOperationAction(ISD::BUILD_VECTOR, VT, Custom);
 1669       setOperationAction(ISD::VSELECT,      VT, Custom);
 1671       setOperationAction(ISD::SRL,          VT, Custom);
 1672       setOperationAction(ISD::SHL,          VT, Custom);
 1673       setOperationAction(ISD::SRA,          VT, Custom);
 1676       setOperationAction(ISD::CTPOP,        VT, Custom);
 1677       setOperationAction(ISD::CTLZ,         VT, Custom);
 1682       setOperationAction(ISD::SETCC,        VT, Custom);
 1687       setOperationAction(ISD::SELECT,       VT, Custom);
 1691       setCondCodeAction(ISD::SETLT, VT, Custom);
 1692       setCondCodeAction(ISD::SETLE, VT, Custom);
 1705       setOperationAction(ISD::FSHL, MVT::v32i16, Custom);
 1706       setOperationAction(ISD::FSHR, MVT::v32i16, Custom);
 1712       setOperationAction(ISD::MLOAD,  VT, Subtarget.hasVLX() ? Legal : Custom);
 1713       setOperationAction(ISD::MSTORE, VT, Subtarget.hasVLX() ? Legal : Custom);
 1742       setOperationAction(ISD::SINT_TO_FP,    MVT::v2f32, Custom);
 1746       setOperationAction(ISD::FP_TO_SINT,    MVT::v2f32, Custom);
 1747       setOperationAction(ISD::FP_TO_UINT,    MVT::v2f32, Custom);
 1759         setOperationAction(ISD::FSHL, VT, Custom);
 1760         setOperationAction(ISD::FSHR, VT, Custom);
 1764     setOperationAction(ISD::TRUNCATE, MVT::v16i32, Custom);
 1765     setOperationAction(ISD::TRUNCATE, MVT::v8i64, Custom);
 1766     setOperationAction(ISD::TRUNCATE, MVT::v16i64, Custom);
 1770   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);
 1771   setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom);
 1772   setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom);
 1774     setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i64, Custom);
 1787     setOperationAction(ISD::SADDO, VT, Custom);
 1788     setOperationAction(ISD::UADDO, VT, Custom);
 1789     setOperationAction(ISD::SSUBO, VT, Custom);
 1790     setOperationAction(ISD::USUBO, VT, Custom);
 1791     setOperationAction(ISD::SMULO, VT, Custom);
 1792     setOperationAction(ISD::UMULO, VT, Custom);
 1795     setOperationAction(ISD::ADDCARRY, VT, Custom);
 1796     setOperationAction(ISD::SUBCARRY, VT, Custom);
 1797     setOperationAction(ISD::SETCCCARRY, VT, Custom);
 1811     setOperationAction(ISD::FSINCOS, MVT::f64, Custom);
 1812     setOperationAction(ISD::FSINCOS, MVT::f32, Custom);
 1816     setOperationAction(ISD::SDIV, MVT::i128, Custom);
 1817     setOperationAction(ISD::UDIV, MVT::i128, Custom);
 1818     setOperationAction(ISD::SREM, MVT::i128, Custom);
 1819     setOperationAction(ISD::UREM, MVT::i128, Custom);
 1820     setOperationAction(ISD::SDIVREM, MVT::i128, Custom);
 1821     setOperationAction(ISD::UDIVREM, MVT::i128, Custom);
lib/Target/XCore/XCoreISelLowering.cpp
   95   setOperationAction(ISD::ADD, MVT::i64, Custom);
   96   setOperationAction(ISD::SUB, MVT::i64, Custom);
   97   setOperationAction(ISD::SMUL_LOHI, MVT::i32, Custom);
   98   setOperationAction(ISD::UMUL_LOHI, MVT::i32, Custom);
  113   setOperationAction(ISD::BR_JT, MVT::Other, Custom);
  115   setOperationAction(ISD::GlobalAddress, MVT::i32,   Custom);
  116   setOperationAction(ISD::BlockAddress, MVT::i32 , Custom);
  119   setOperationAction(ISD::ConstantPool, MVT::i32,   Custom);
  132   setOperationAction(ISD::LOAD, MVT::i32, Custom);
  133   setOperationAction(ISD::STORE, MVT::i32, Custom);
  138   setOperationAction(ISD::VAARG, MVT::Other, Custom);
  139   setOperationAction(ISD::VASTART, MVT::Other, Custom);
  147   setOperationAction(ISD::EH_RETURN, MVT::Other, Custom);
  148   setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom);
  153   setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Custom);
  154   setOperationAction(ISD::ATOMIC_LOAD, MVT::i32, Custom);
  155   setOperationAction(ISD::ATOMIC_STORE, MVT::i32, Custom);
  158   setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom);
  159   setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom);
  162   setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom);