Lines Matching refs:setOperationAction

142   setOperationAction(ISD::CLEAR_CACHE, MVT::Other, Expand);  in X86TargetLowering()
223 setOperationAction(ISD::ABS , MVT::i16 , Custom); in X86TargetLowering()
224 setOperationAction(ISD::ABS , MVT::i32 , Custom); in X86TargetLowering()
226 setOperationAction(ISD::ABS , MVT::i64 , Custom); in X86TargetLowering()
231 setOperationAction(Op , MVT::i8 , Custom); in X86TargetLowering()
232 setOperationAction(Op , MVT::i16 , Custom); in X86TargetLowering()
233 setOperationAction(Op , MVT::i32 , Custom); in X86TargetLowering()
235 setOperationAction(Op , MVT::i64 , Custom); in X86TargetLowering()
239 setOperationAction(ISD::SSUBSAT , MVT::i8 , Custom); in X86TargetLowering()
240 setOperationAction(ISD::SSUBSAT , MVT::i16 , Custom); in X86TargetLowering()
241 setOperationAction(ISD::SSUBSAT , MVT::i32 , Custom); in X86TargetLowering()
243 setOperationAction(ISD::SSUBSAT , MVT::i64 , Custom); in X86TargetLowering()
250 setOperationAction(ShiftOp , MVT::i8 , Custom); in X86TargetLowering()
251 setOperationAction(ShiftOp , MVT::i16 , Custom); in X86TargetLowering()
252 setOperationAction(ShiftOp , MVT::i32 , ShiftDoubleAction); in X86TargetLowering()
254 setOperationAction(ShiftOp , MVT::i64 , ShiftDoubleAction); in X86TargetLowering()
260 setOperationAction(ISD::UINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
261 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
262 setOperationAction(ISD::UINT_TO_FP, MVT::i16, Promote); in X86TargetLowering()
263 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i16, Promote); in X86TargetLowering()
266 setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
267 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
270 setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
271 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
275 setOperationAction(ISD::SINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
276 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
279 setOperationAction(ISD::SINT_TO_FP, MVT::i16, Custom); in X86TargetLowering()
280 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i16, Custom); in X86TargetLowering()
282 setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
283 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
286 setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
287 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
291 setOperationAction(ISD::FP_TO_SINT, MVT::i8, Promote); in X86TargetLowering()
293 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i8, Promote); in X86TargetLowering()
294 setOperationAction(ISD::FP_TO_SINT, MVT::i16, Custom); in X86TargetLowering()
295 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i16, Custom); in X86TargetLowering()
296 setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom); in X86TargetLowering()
297 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i32, Custom); in X86TargetLowering()
300 setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom); in X86TargetLowering()
301 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i64, Custom); in X86TargetLowering()
305 setOperationAction(ISD::FP_TO_UINT, MVT::i8, Promote); in X86TargetLowering()
307 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i8, Promote); in X86TargetLowering()
308 setOperationAction(ISD::FP_TO_UINT, MVT::i16, Promote); in X86TargetLowering()
310 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i16, Promote); in X86TargetLowering()
311 setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom); in X86TargetLowering()
312 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i32, Custom); in X86TargetLowering()
313 setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom); in X86TargetLowering()
314 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i64, Custom); in X86TargetLowering()
316 setOperationAction(ISD::LRINT, MVT::f32, Custom); in X86TargetLowering()
317 setOperationAction(ISD::LRINT, MVT::f64, Custom); in X86TargetLowering()
318 setOperationAction(ISD::LLRINT, MVT::f32, Custom); in X86TargetLowering()
319 setOperationAction(ISD::LLRINT, MVT::f64, Custom); in X86TargetLowering()
322 setOperationAction(ISD::LRINT, MVT::i64, Custom); in X86TargetLowering()
323 setOperationAction(ISD::LLRINT, MVT::i64, Custom); in X86TargetLowering()
331 setOperationAction(ISD::FP_TO_UINT_SAT, VT, Custom); in X86TargetLowering()
332 setOperationAction(ISD::FP_TO_SINT_SAT, VT, Custom); in X86TargetLowering()
335 setOperationAction(ISD::FP_TO_UINT_SAT, MVT::i64, Custom); in X86TargetLowering()
336 setOperationAction(ISD::FP_TO_SINT_SAT, MVT::i64, Custom); in X86TargetLowering()
341 setOperationAction(ISD::ADDRSPACECAST, MVT::i32, Custom); in X86TargetLowering()
342 setOperationAction(ISD::ADDRSPACECAST, MVT::i64, Custom); in X86TargetLowering()
346 setOperationAction(ISD::BITCAST , MVT::f32 , Expand); in X86TargetLowering()
347 setOperationAction(ISD::BITCAST , MVT::i32 , Expand); in X86TargetLowering()
349 setOperationAction(ISD::BITCAST , MVT::f64 , Expand); in X86TargetLowering()
351 setOperationAction(ISD::BITCAST , MVT::i64 , Expand); in X86TargetLowering()
354 setOperationAction(ISD::BITCAST , MVT::i64 , Custom); in X86TargetLowering()
367 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
368 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
369 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
370 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
371 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
372 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
375 setOperationAction(ISD::BR_JT , MVT::Other, Expand); in X86TargetLowering()
376 setOperationAction(ISD::BRCOND , MVT::Other, Custom); in X86TargetLowering()
379 setOperationAction(ISD::BR_CC, VT, Expand); in X86TargetLowering()
380 setOperationAction(ISD::SELECT_CC, VT, Expand); in X86TargetLowering()
383 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal); in X86TargetLowering()
384 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16 , Legal); in X86TargetLowering()
385 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal); in X86TargetLowering()
386 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1 , Expand); in X86TargetLowering()
388 setOperationAction(ISD::FREM , MVT::f32 , Expand); in X86TargetLowering()
389 setOperationAction(ISD::FREM , MVT::f64 , Expand); in X86TargetLowering()
390 setOperationAction(ISD::FREM , MVT::f80 , Expand); in X86TargetLowering()
391 setOperationAction(ISD::FREM , MVT::f128 , Expand); in X86TargetLowering()
394 setOperationAction(ISD::GET_ROUNDING , MVT::i32 , Custom); in X86TargetLowering()
395 setOperationAction(ISD::SET_ROUNDING , MVT::Other, Custom); in X86TargetLowering()
396 setOperationAction(ISD::GET_FPENV_MEM , MVT::Other, Custom); in X86TargetLowering()
397 setOperationAction(ISD::SET_FPENV_MEM , MVT::Other, Custom); in X86TargetLowering()
398 setOperationAction(ISD::RESET_FPENV , MVT::Other, Custom); in X86TargetLowering()
412 setOperationAction(ISD::CTTZ , MVT::i32 , Custom); in X86TargetLowering()
413 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32 , Legal); in X86TargetLowering()
415 setOperationAction(ISD::CTTZ , MVT::i64 , Custom); in X86TargetLowering()
416 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Legal); in X86TargetLowering()
429 setOperationAction(ISD::CTLZ , VT, Custom); in X86TargetLowering()
430 setOperationAction(ISD::CTLZ_ZERO_UNDEF, VT, Custom); in X86TargetLowering()
439 setOperationAction( in X86TargetLowering()
443 setOperationAction(Op, MVT::f64, Expand); in X86TargetLowering()
444 setOperationAction(Op, MVT::f80, Expand); in X86TargetLowering()
445 setOperationAction(Op, MVT::f128, Expand); in X86TargetLowering()
449 setOperationAction(ISD::STRICT_FP_TO_BF16, VT, Expand); in X86TargetLowering()
450 setOperationAction(ISD::STRICT_BF16_TO_FP, VT, Expand); in X86TargetLowering()
459 setOperationAction(ISD::BF16_TO_FP, VT, Expand); in X86TargetLowering()
460 setOperationAction(ISD::FP_TO_BF16, VT, Custom); in X86TargetLowering()
463 setOperationAction(ISD::PARITY, MVT::i8, Custom); in X86TargetLowering()
464 setOperationAction(ISD::PARITY, MVT::i16, Custom); in X86TargetLowering()
465 setOperationAction(ISD::PARITY, MVT::i32, Custom); in X86TargetLowering()
467 setOperationAction(ISD::PARITY, MVT::i64, Custom); in X86TargetLowering()
474 setOperationAction(ISD::CTPOP , MVT::i8 , Custom); in X86TargetLowering()
475 setOperationAction(ISD::CTPOP , MVT::i16 , Custom); in X86TargetLowering()
476 setOperationAction(ISD::CTPOP , MVT::i32 , Custom); in X86TargetLowering()
477 setOperationAction(ISD::CTPOP , MVT::i64 , Custom); in X86TargetLowering()
480 setOperationAction(ISD::READCYCLECOUNTER , MVT::i64 , Custom); in X86TargetLowering()
483 setOperationAction(ISD::BSWAP , MVT::i16 , Expand); in X86TargetLowering()
487 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
488 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
489 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
490 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
495 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
496 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
500 setOperationAction(ISD::SELECT, MVT::x86mmx, Custom); in X86TargetLowering()
501 setOperationAction(ISD::SELECT_CC, MVT::x86mmx, Expand); in X86TargetLowering()
503 setOperationAction(ISD::EH_RETURN , MVT::Other, Custom); in X86TargetLowering()
506 setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom); in X86TargetLowering()
507 setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom); in X86TargetLowering()
508 setOperationAction(ISD::EH_SJLJ_SETUP_DISPATCH, MVT::Other, Custom); in X86TargetLowering()
516 setOperationAction(ISD::ConstantPool , VT, Custom); in X86TargetLowering()
517 setOperationAction(ISD::JumpTable , VT, Custom); in X86TargetLowering()
518 setOperationAction(ISD::GlobalAddress , VT, Custom); in X86TargetLowering()
519 setOperationAction(ISD::GlobalTLSAddress, VT, Custom); in X86TargetLowering()
520 setOperationAction(ISD::ExternalSymbol , VT, Custom); in X86TargetLowering()
521 setOperationAction(ISD::BlockAddress , VT, Custom); in X86TargetLowering()
528 setOperationAction(ISD::SHL_PARTS, VT, Custom); in X86TargetLowering()
529 setOperationAction(ISD::SRA_PARTS, VT, Custom); in X86TargetLowering()
530 setOperationAction(ISD::SRL_PARTS, VT, Custom); in X86TargetLowering()
534 setOperationAction(ISD::PREFETCH , MVT::Other, Custom); in X86TargetLowering()
536 setOperationAction(ISD::ATOMIC_FENCE , MVT::Other, Custom); in X86TargetLowering()
540 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, VT, Custom); in X86TargetLowering()
541 setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom); in X86TargetLowering()
542 setOperationAction(ISD::ATOMIC_LOAD_ADD, VT, Custom); in X86TargetLowering()
543 setOperationAction(ISD::ATOMIC_LOAD_OR, VT, Custom); in X86TargetLowering()
544 setOperationAction(ISD::ATOMIC_LOAD_XOR, VT, Custom); in X86TargetLowering()
545 setOperationAction(ISD::ATOMIC_LOAD_AND, VT, Custom); in X86TargetLowering()
546 setOperationAction(ISD::ATOMIC_STORE, VT, Custom); in X86TargetLowering()
550 setOperationAction(ISD::ATOMIC_LOAD, MVT::i64, Custom); in X86TargetLowering()
555 setOperationAction(ISD::ATOMIC_LOAD, MVT::i128, Custom); in X86TargetLowering()
556 setOperationAction(ISD::ATOMIC_STORE, MVT::i128, Custom); in X86TargetLowering()
560 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i128, Custom); in X86TargetLowering()
566 setOperationAction(ISD::EH_LABEL, MVT::Other, Expand); in X86TargetLowering()
569 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom); in X86TargetLowering()
570 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i64, Custom); in X86TargetLowering()
572 setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
573 setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
575 setOperationAction(ISD::TRAP, MVT::Other, Legal); in X86TargetLowering()
576 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal); in X86TargetLowering()
578 setOperationAction(ISD::UBSANTRAP, MVT::Other, Expand); in X86TargetLowering()
580 setOperationAction(ISD::UBSANTRAP, MVT::Other, Legal); in X86TargetLowering()
583 setOperationAction(ISD::VASTART , MVT::Other, Custom); in X86TargetLowering()
584 setOperationAction(ISD::VAEND , MVT::Other, Expand); in X86TargetLowering()
586 setOperationAction(ISD::VAARG, MVT::Other, Is64Bit ? Custom : Expand); in X86TargetLowering()
587 setOperationAction(ISD::VACOPY, MVT::Other, Is64Bit ? Custom : Expand); in X86TargetLowering()
589 setOperationAction(ISD::STACKSAVE, MVT::Other, Expand); in X86TargetLowering()
590 setOperationAction(ISD::STACKRESTORE, MVT::Other, Expand); in X86TargetLowering()
592 setOperationAction(ISD::DYNAMIC_STACKALLOC, PtrVT, Custom); in X86TargetLowering()
595 setOperationAction(ISD::GC_TRANSITION_START, MVT::Other, Custom); in X86TargetLowering()
596 setOperationAction(ISD::GC_TRANSITION_END, MVT::Other, Custom); in X86TargetLowering()
598 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f64, Legal); in X86TargetLowering()
601 setOperationAction(ISD::FABS, VT, Action); in X86TargetLowering()
602 setOperationAction(ISD::FNEG, VT, Action); in X86TargetLowering()
603 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
604 setOperationAction(ISD::FREM, VT, Action); in X86TargetLowering()
605 setOperationAction(ISD::FMA, VT, Action); in X86TargetLowering()
606 setOperationAction(ISD::FMINNUM, VT, Action); in X86TargetLowering()
607 setOperationAction(ISD::FMAXNUM, VT, Action); in X86TargetLowering()
608 setOperationAction(ISD::FMINIMUM, VT, Action); in X86TargetLowering()
609 setOperationAction(ISD::FMAXIMUM, VT, Action); in X86TargetLowering()
610 setOperationAction(ISD::FSIN, VT, Action); in X86TargetLowering()
611 setOperationAction(ISD::FCOS, VT, Action); in X86TargetLowering()
612 setOperationAction(ISD::FSINCOS, VT, Action); in X86TargetLowering()
613 setOperationAction(ISD::FTAN, VT, Action); in X86TargetLowering()
614 setOperationAction(ISD::FSQRT, VT, Action); in X86TargetLowering()
615 setOperationAction(ISD::FPOW, VT, Action); in X86TargetLowering()
616 setOperationAction(ISD::FLOG, VT, Action); in X86TargetLowering()
617 setOperationAction(ISD::FLOG2, VT, Action); in X86TargetLowering()
618 setOperationAction(ISD::FLOG10, VT, Action); in X86TargetLowering()
619 setOperationAction(ISD::FEXP, VT, Action); in X86TargetLowering()
620 setOperationAction(ISD::FEXP2, VT, Action); in X86TargetLowering()
621 setOperationAction(ISD::FEXP10, VT, Action); in X86TargetLowering()
622 setOperationAction(ISD::FCEIL, VT, Action); in X86TargetLowering()
623 setOperationAction(ISD::FFLOOR, VT, Action); in X86TargetLowering()
624 setOperationAction(ISD::FNEARBYINT, VT, Action); in X86TargetLowering()
625 setOperationAction(ISD::FRINT, VT, Action); in X86TargetLowering()
626 setOperationAction(ISD::BR_CC, VT, Action); in X86TargetLowering()
627 setOperationAction(ISD::SETCC, VT, Action); in X86TargetLowering()
628 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
629 setOperationAction(ISD::SELECT_CC, VT, Action); in X86TargetLowering()
630 setOperationAction(ISD::FROUND, VT, Action); in X86TargetLowering()
631 setOperationAction(ISD::FROUNDEVEN, VT, Action); in X86TargetLowering()
632 setOperationAction(ISD::FTRUNC, VT, Action); in X86TargetLowering()
633 setOperationAction(ISD::FLDEXP, VT, Action); in X86TargetLowering()
654 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
657 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
660 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
663 setOperationAction(ISD::FADD, VT, Custom); in X86TargetLowering()
664 setOperationAction(ISD::FSUB, VT, Custom); in X86TargetLowering()
667 setOperationAction(ISD::FSIN , VT, Expand); in X86TargetLowering()
668 setOperationAction(ISD::FCOS , VT, Expand); in X86TargetLowering()
669 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
674 setOperationAction(ISD::FADD, MVT::f16, Promote); in X86TargetLowering()
675 setOperationAction(ISD::FSUB, MVT::f16, Promote); in X86TargetLowering()
676 setOperationAction(ISD::FMUL, MVT::f16, Promote); in X86TargetLowering()
677 setOperationAction(ISD::FDIV, MVT::f16, Promote); in X86TargetLowering()
678 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
679 setOperationAction(ISD::FP_EXTEND, MVT::f32, Custom); in X86TargetLowering()
680 setOperationAction(ISD::FP_EXTEND, MVT::f64, Custom); in X86TargetLowering()
682 setOperationAction(ISD::STRICT_FADD, MVT::f16, Promote); in X86TargetLowering()
683 setOperationAction(ISD::STRICT_FSUB, MVT::f16, Promote); in X86TargetLowering()
684 setOperationAction(ISD::STRICT_FMUL, MVT::f16, Promote); in X86TargetLowering()
685 setOperationAction(ISD::STRICT_FDIV, MVT::f16, Promote); in X86TargetLowering()
686 setOperationAction(ISD::STRICT_FMA, MVT::f16, Promote); in X86TargetLowering()
687 setOperationAction(ISD::STRICT_FMINNUM, MVT::f16, Promote); in X86TargetLowering()
688 setOperationAction(ISD::STRICT_FMAXNUM, MVT::f16, Promote); in X86TargetLowering()
689 setOperationAction(ISD::STRICT_FMINIMUM, MVT::f16, Promote); in X86TargetLowering()
690 setOperationAction(ISD::STRICT_FMAXIMUM, MVT::f16, Promote); in X86TargetLowering()
691 setOperationAction(ISD::STRICT_FSQRT, MVT::f16, Promote); in X86TargetLowering()
692 setOperationAction(ISD::STRICT_FPOW, MVT::f16, Promote); in X86TargetLowering()
693 setOperationAction(ISD::STRICT_FLDEXP, MVT::f16, Promote); in X86TargetLowering()
694 setOperationAction(ISD::STRICT_FLOG, MVT::f16, Promote); in X86TargetLowering()
695 setOperationAction(ISD::STRICT_FLOG2, MVT::f16, Promote); in X86TargetLowering()
696 setOperationAction(ISD::STRICT_FLOG10, MVT::f16, Promote); in X86TargetLowering()
697 setOperationAction(ISD::STRICT_FEXP, MVT::f16, Promote); in X86TargetLowering()
698 setOperationAction(ISD::STRICT_FEXP2, MVT::f16, Promote); in X86TargetLowering()
699 setOperationAction(ISD::STRICT_FCEIL, MVT::f16, Promote); in X86TargetLowering()
700 setOperationAction(ISD::STRICT_FFLOOR, MVT::f16, Promote); in X86TargetLowering()
701 setOperationAction(ISD::STRICT_FNEARBYINT, MVT::f16, Promote); in X86TargetLowering()
702 setOperationAction(ISD::STRICT_FRINT, MVT::f16, Promote); in X86TargetLowering()
703 setOperationAction(ISD::STRICT_FSETCC, MVT::f16, Promote); in X86TargetLowering()
704 setOperationAction(ISD::STRICT_FSETCCS, MVT::f16, Promote); in X86TargetLowering()
705 setOperationAction(ISD::STRICT_FROUND, MVT::f16, Promote); in X86TargetLowering()
706 setOperationAction(ISD::STRICT_FROUNDEVEN, MVT::f16, Promote); in X86TargetLowering()
707 setOperationAction(ISD::STRICT_FTRUNC, MVT::f16, Promote); in X86TargetLowering()
708 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
709 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f32, Custom); in X86TargetLowering()
710 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f64, Custom); in X86TargetLowering()
716 setOperationAction(ISD::FGETSIGN, MVT::i64, Custom); in X86TargetLowering()
717 setOperationAction(ISD::FGETSIGN, MVT::i32, Custom); in X86TargetLowering()
728 setOperationAction(ISD::FABS , MVT::f32, Custom); in X86TargetLowering()
731 setOperationAction(ISD::FNEG , MVT::f32, Custom); in X86TargetLowering()
734 setOperationAction(ISD::UNDEF, MVT::f64, Expand); in X86TargetLowering()
738 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); in X86TargetLowering()
739 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom); in X86TargetLowering()
742 setOperationAction(ISD::FSIN , MVT::f32, Expand); in X86TargetLowering()
743 setOperationAction(ISD::FCOS , MVT::f32, Expand); in X86TargetLowering()
744 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in X86TargetLowering()
748 setOperationAction(ISD::FSIN, MVT::f64, Expand); in X86TargetLowering()
749 setOperationAction(ISD::FCOS, MVT::f64, Expand); in X86TargetLowering()
750 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in X86TargetLowering()
759 setOperationAction(ISD::UNDEF, VT, Expand); in X86TargetLowering()
760 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
763 setOperationAction(ISD::FSIN , VT, Expand); in X86TargetLowering()
764 setOperationAction(ISD::FCOS , VT, Expand); in X86TargetLowering()
765 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
794 setOperationAction(ISD::STRICT_FADD, MVT::f32, Legal); in X86TargetLowering()
795 setOperationAction(ISD::STRICT_FADD, MVT::f64, Legal); in X86TargetLowering()
796 setOperationAction(ISD::STRICT_FSUB, MVT::f32, Legal); in X86TargetLowering()
797 setOperationAction(ISD::STRICT_FSUB, MVT::f64, Legal); in X86TargetLowering()
798 setOperationAction(ISD::STRICT_FMUL, MVT::f32, Legal); in X86TargetLowering()
799 setOperationAction(ISD::STRICT_FMUL, MVT::f64, Legal); in X86TargetLowering()
800 setOperationAction(ISD::STRICT_FDIV, MVT::f32, Legal); in X86TargetLowering()
801 setOperationAction(ISD::STRICT_FDIV, MVT::f64, Legal); in X86TargetLowering()
802 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Legal); in X86TargetLowering()
803 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Legal); in X86TargetLowering()
804 setOperationAction(ISD::STRICT_FSQRT, MVT::f32, Legal); in X86TargetLowering()
805 setOperationAction(ISD::STRICT_FSQRT, MVT::f64, Legal); in X86TargetLowering()
808 setOperationAction(ISD::FMA, MVT::f64, Expand); in X86TargetLowering()
809 setOperationAction(ISD::FMA, MVT::f32, Expand); in X86TargetLowering()
814 setOperationAction(ISD::UNDEF, MVT::f80, Expand); in X86TargetLowering()
815 setOperationAction(ISD::FCOPYSIGN, MVT::f80, Expand); in X86TargetLowering()
833 setOperationAction(ISD::FSIN , MVT::f80, Expand); in X86TargetLowering()
834 setOperationAction(ISD::FCOS , MVT::f80, Expand); in X86TargetLowering()
835 setOperationAction(ISD::FSINCOS, MVT::f80, Expand); in X86TargetLowering()
836 setOperationAction(ISD::FTAN , MVT::f80, Expand); in X86TargetLowering()
837 setOperationAction(ISD::FASIN , MVT::f80, Expand); in X86TargetLowering()
838 setOperationAction(ISD::FACOS , MVT::f80, Expand); in X86TargetLowering()
839 setOperationAction(ISD::FATAN , MVT::f80, Expand); in X86TargetLowering()
840 setOperationAction(ISD::FSINH , MVT::f80, Expand); in X86TargetLowering()
841 setOperationAction(ISD::FCOSH , MVT::f80, Expand); in X86TargetLowering()
842 setOperationAction(ISD::FTANH , MVT::f80, Expand); in X86TargetLowering()
845 setOperationAction(ISD::FFLOOR, MVT::f80, Expand); in X86TargetLowering()
846 setOperationAction(ISD::FCEIL, MVT::f80, Expand); in X86TargetLowering()
847 setOperationAction(ISD::FTRUNC, MVT::f80, Expand); in X86TargetLowering()
848 setOperationAction(ISD::FRINT, MVT::f80, Expand); in X86TargetLowering()
849 setOperationAction(ISD::FNEARBYINT, MVT::f80, Expand); in X86TargetLowering()
850 setOperationAction(ISD::FROUNDEVEN, MVT::f80, Expand); in X86TargetLowering()
851 setOperationAction(ISD::FMA, MVT::f80, Expand); in X86TargetLowering()
852 setOperationAction(ISD::LROUND, MVT::f80, Expand); in X86TargetLowering()
853 setOperationAction(ISD::LLROUND, MVT::f80, Expand); in X86TargetLowering()
854 setOperationAction(ISD::LRINT, MVT::f80, Custom); in X86TargetLowering()
855 setOperationAction(ISD::LLRINT, MVT::f80, Custom); in X86TargetLowering()
858 setOperationAction(ISD::STRICT_FADD , MVT::f80, Legal); in X86TargetLowering()
859 setOperationAction(ISD::STRICT_FSUB , MVT::f80, Legal); in X86TargetLowering()
860 setOperationAction(ISD::STRICT_FMUL , MVT::f80, Legal); in X86TargetLowering()
861 setOperationAction(ISD::STRICT_FDIV , MVT::f80, Legal); in X86TargetLowering()
862 setOperationAction(ISD::STRICT_FSQRT , MVT::f80, Legal); in X86TargetLowering()
864 setOperationAction(ISD::FP_EXTEND, MVT::f80, Custom); in X86TargetLowering()
865 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f80, Custom); in X86TargetLowering()
867 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f80, Legal); in X86TargetLowering()
871 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f80, Legal); in X86TargetLowering()
881 setOperationAction(ISD::FADD, MVT::f128, LibCall); in X86TargetLowering()
882 setOperationAction(ISD::STRICT_FADD, MVT::f128, LibCall); in X86TargetLowering()
883 setOperationAction(ISD::FSUB, MVT::f128, LibCall); in X86TargetLowering()
884 setOperationAction(ISD::STRICT_FSUB, MVT::f128, LibCall); in X86TargetLowering()
885 setOperationAction(ISD::FDIV, MVT::f128, LibCall); in X86TargetLowering()
886 setOperationAction(ISD::STRICT_FDIV, MVT::f128, LibCall); in X86TargetLowering()
887 setOperationAction(ISD::FMUL, MVT::f128, LibCall); in X86TargetLowering()
888 setOperationAction(ISD::STRICT_FMUL, MVT::f128, LibCall); in X86TargetLowering()
889 setOperationAction(ISD::FMA, MVT::f128, LibCall); in X86TargetLowering()
890 setOperationAction(ISD::STRICT_FMA, MVT::f128, LibCall); in X86TargetLowering()
892 setOperationAction(ISD::FABS, MVT::f128, Custom); in X86TargetLowering()
893 setOperationAction(ISD::FNEG, MVT::f128, Custom); in X86TargetLowering()
894 setOperationAction(ISD::FCOPYSIGN, MVT::f128, Custom); in X86TargetLowering()
897 setOperationAction(ISD::FSIN, MVT::f128, LibCall); in X86TargetLowering()
898 setOperationAction(ISD::STRICT_FSIN, MVT::f128, LibCall); in X86TargetLowering()
899 setOperationAction(ISD::FCOS, MVT::f128, LibCall); in X86TargetLowering()
900 setOperationAction(ISD::STRICT_FCOS, MVT::f128, LibCall); in X86TargetLowering()
901 setOperationAction(ISD::FSINCOS, MVT::f128, LibCall); in X86TargetLowering()
902 setOperationAction(ISD::FTAN, MVT::f128, LibCall); in X86TargetLowering()
903 setOperationAction(ISD::STRICT_FTAN, MVT::f128, LibCall); in X86TargetLowering()
906 setOperationAction(ISD::FSQRT, MVT::f128, LibCall); in X86TargetLowering()
907 setOperationAction(ISD::STRICT_FSQRT, MVT::f128, LibCall); in X86TargetLowering()
909 setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom); in X86TargetLowering()
910 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f128, Custom); in X86TargetLowering()
915 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom); in X86TargetLowering()
916 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Custom); in X86TargetLowering()
919 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom); in X86TargetLowering()
920 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Custom); in X86TargetLowering()
923 setOperationAction(ISD::FP_ROUND, MVT::f80, Custom); in X86TargetLowering()
924 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f80, Custom); in X86TargetLowering()
927 setOperationAction(ISD::SETCC, MVT::f128, Custom); in X86TargetLowering()
938 setOperationAction(ISD::FPOW , MVT::f32 , Expand); in X86TargetLowering()
939 setOperationAction(ISD::FPOW , MVT::f64 , Expand); in X86TargetLowering()
940 setOperationAction(ISD::FPOW , MVT::f80 , Expand); in X86TargetLowering()
941 setOperationAction(ISD::FPOW , MVT::f128 , Expand); in X86TargetLowering()
943 setOperationAction(ISD::FLOG, MVT::f80, Expand); in X86TargetLowering()
944 setOperationAction(ISD::FLOG2, MVT::f80, Expand); in X86TargetLowering()
945 setOperationAction(ISD::FLOG10, MVT::f80, Expand); in X86TargetLowering()
946 setOperationAction(ISD::FEXP, MVT::f80, Expand); in X86TargetLowering()
947 setOperationAction(ISD::FEXP2, MVT::f80, Expand); in X86TargetLowering()
948 setOperationAction(ISD::FEXP10, MVT::f80, Expand); in X86TargetLowering()
949 setOperationAction(ISD::FMINNUM, MVT::f80, Expand); in X86TargetLowering()
950 setOperationAction(ISD::FMAXNUM, MVT::f80, Expand); in X86TargetLowering()
957 setOperationAction(ISD::FSIN, VT, Expand); in X86TargetLowering()
958 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
959 setOperationAction(ISD::FCOS, VT, Expand); in X86TargetLowering()
960 setOperationAction(ISD::FTAN, VT, Expand); in X86TargetLowering()
961 setOperationAction(ISD::FREM, VT, Expand); in X86TargetLowering()
962 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
963 setOperationAction(ISD::FPOW, VT, Expand); in X86TargetLowering()
964 setOperationAction(ISD::FLOG, VT, Expand); in X86TargetLowering()
965 setOperationAction(ISD::FLOG2, VT, Expand); in X86TargetLowering()
966 setOperationAction(ISD::FLOG10, VT, Expand); in X86TargetLowering()
967 setOperationAction(ISD::FEXP, VT, Expand); in X86TargetLowering()
968 setOperationAction(ISD::FEXP2, VT, Expand); in X86TargetLowering()
969 setOperationAction(ISD::FEXP10, VT, Expand); in X86TargetLowering()
977 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
978 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
979 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
980 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
981 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT,Expand); in X86TargetLowering()
982 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Expand); in X86TargetLowering()
983 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT,Expand); in X86TargetLowering()
984 setOperationAction(ISD::INSERT_SUBVECTOR, VT,Expand); in X86TargetLowering()
985 setOperationAction(ISD::FMA, VT, Expand); in X86TargetLowering()
986 setOperationAction(ISD::FFLOOR, VT, Expand); in X86TargetLowering()
987 setOperationAction(ISD::FCEIL, VT, Expand); in X86TargetLowering()
988 setOperationAction(ISD::FTRUNC, VT, Expand); in X86TargetLowering()
989 setOperationAction(ISD::FRINT, VT, Expand); in X86TargetLowering()
990 setOperationAction(ISD::FNEARBYINT, VT, Expand); in X86TargetLowering()
991 setOperationAction(ISD::FROUNDEVEN, VT, Expand); in X86TargetLowering()
992 setOperationAction(ISD::SMUL_LOHI, VT, Expand); in X86TargetLowering()
993 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
994 setOperationAction(ISD::UMUL_LOHI, VT, Expand); in X86TargetLowering()
995 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
996 setOperationAction(ISD::SDIVREM, VT, Expand); in X86TargetLowering()
997 setOperationAction(ISD::UDIVREM, VT, Expand); in X86TargetLowering()
998 setOperationAction(ISD::CTPOP, VT, Expand); in X86TargetLowering()
999 setOperationAction(ISD::CTTZ, VT, Expand); in X86TargetLowering()
1000 setOperationAction(ISD::CTLZ, VT, Expand); in X86TargetLowering()
1001 setOperationAction(ISD::ROTL, VT, Expand); in X86TargetLowering()
1002 setOperationAction(ISD::ROTR, VT, Expand); in X86TargetLowering()
1003 setOperationAction(ISD::BSWAP, VT, Expand); in X86TargetLowering()
1004 setOperationAction(ISD::SETCC, VT, Expand); in X86TargetLowering()
1005 setOperationAction(ISD::FP_TO_UINT, VT, Expand); in X86TargetLowering()
1006 setOperationAction(ISD::FP_TO_SINT, VT, Expand); in X86TargetLowering()
1007 setOperationAction(ISD::UINT_TO_FP, VT, Expand); in X86TargetLowering()
1008 setOperationAction(ISD::SINT_TO_FP, VT, Expand); in X86TargetLowering()
1009 setOperationAction(ISD::SIGN_EXTEND_INREG, VT,Expand); in X86TargetLowering()
1010 setOperationAction(ISD::TRUNCATE, VT, Expand); in X86TargetLowering()
1011 setOperationAction(ISD::SIGN_EXTEND, VT, Expand); in X86TargetLowering()
1012 setOperationAction(ISD::ZERO_EXTEND, VT, Expand); in X86TargetLowering()
1013 setOperationAction(ISD::ANY_EXTEND, VT, Expand); in X86TargetLowering()
1014 setOperationAction(ISD::SELECT_CC, VT, Expand); in X86TargetLowering()
1047 setOperationAction(ISD::FMAXIMUM, MVT::f32, Custom); in X86TargetLowering()
1048 setOperationAction(ISD::FMINIMUM, MVT::f32, Custom); in X86TargetLowering()
1050 setOperationAction(ISD::FNEG, MVT::v4f32, Custom); in X86TargetLowering()
1051 setOperationAction(ISD::FABS, MVT::v4f32, Custom); in X86TargetLowering()
1052 setOperationAction(ISD::FCOPYSIGN, MVT::v4f32, Custom); in X86TargetLowering()
1053 setOperationAction(ISD::BUILD_VECTOR, MVT::v4f32, Custom); in X86TargetLowering()
1054 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4f32, Custom); in X86TargetLowering()
1055 setOperationAction(ISD::VSELECT, MVT::v4f32, Custom); in X86TargetLowering()
1056 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
1057 setOperationAction(ISD::SELECT, MVT::v4f32, Custom); in X86TargetLowering()
1059 setOperationAction(ISD::LOAD, MVT::v2f32, Custom); in X86TargetLowering()
1060 setOperationAction(ISD::STORE, MVT::v2f32, Custom); in X86TargetLowering()
1062 setOperationAction(ISD::STRICT_FADD, MVT::v4f32, Legal); in X86TargetLowering()
1063 setOperationAction(ISD::STRICT_FSUB, MVT::v4f32, Legal); in X86TargetLowering()
1064 setOperationAction(ISD::STRICT_FMUL, MVT::v4f32, Legal); in X86TargetLowering()
1065 setOperationAction(ISD::STRICT_FDIV, MVT::v4f32, Legal); in X86TargetLowering()
1066 setOperationAction(ISD::STRICT_FSQRT, MVT::v4f32, Legal); in X86TargetLowering()
1087 setOperationAction(ISD::FMAXIMUM, VT, Custom); in X86TargetLowering()
1088 setOperationAction(ISD::FMINIMUM, VT, Custom); in X86TargetLowering()
1093 setOperationAction(ISD::SDIV, VT, Custom); in X86TargetLowering()
1094 setOperationAction(ISD::SREM, VT, Custom); in X86TargetLowering()
1095 setOperationAction(ISD::UDIV, VT, Custom); in X86TargetLowering()
1096 setOperationAction(ISD::UREM, VT, Custom); in X86TargetLowering()
1099 setOperationAction(ISD::MUL, MVT::v2i8, Custom); in X86TargetLowering()
1100 setOperationAction(ISD::MUL, MVT::v4i8, Custom); in X86TargetLowering()
1101 setOperationAction(ISD::MUL, MVT::v8i8, Custom); in X86TargetLowering()
1103 setOperationAction(ISD::MUL, MVT::v16i8, Custom); in X86TargetLowering()
1104 setOperationAction(ISD::MUL, MVT::v4i32, Custom); in X86TargetLowering()
1105 setOperationAction(ISD::MUL, MVT::v2i64, Custom); in X86TargetLowering()
1106 setOperationAction(ISD::MULHU, MVT::v4i32, Custom); in X86TargetLowering()
1107 setOperationAction(ISD::MULHS, MVT::v4i32, Custom); in X86TargetLowering()
1108 setOperationAction(ISD::MULHU, MVT::v16i8, Custom); in X86TargetLowering()
1109 setOperationAction(ISD::MULHS, MVT::v16i8, Custom); in X86TargetLowering()
1110 setOperationAction(ISD::MULHU, MVT::v8i16, Legal); in X86TargetLowering()
1111 setOperationAction(ISD::MULHS, MVT::v8i16, Legal); in X86TargetLowering()
1112 setOperationAction(ISD::MUL, MVT::v8i16, Legal); in X86TargetLowering()
1113 setOperationAction(ISD::AVGCEILU, MVT::v16i8, Legal); in X86TargetLowering()
1114 setOperationAction(ISD::AVGCEILU, MVT::v8i16, Legal); in X86TargetLowering()
1116 setOperationAction(ISD::SMULO, MVT::v16i8, Custom); in X86TargetLowering()
1117 setOperationAction(ISD::UMULO, MVT::v16i8, Custom); in X86TargetLowering()
1118 setOperationAction(ISD::UMULO, MVT::v2i32, Custom); in X86TargetLowering()
1120 setOperationAction(ISD::FNEG, MVT::v2f64, Custom); in X86TargetLowering()
1121 setOperationAction(ISD::FABS, MVT::v2f64, Custom); in X86TargetLowering()
1122 setOperationAction(ISD::FCOPYSIGN, MVT::v2f64, Custom); in X86TargetLowering()
1124 setOperationAction(ISD::LRINT, MVT::v4f32, Custom); in X86TargetLowering()
1127 setOperationAction(ISD::SMAX, VT, VT == MVT::v8i16 ? Legal : Custom); in X86TargetLowering()
1128 setOperationAction(ISD::SMIN, VT, VT == MVT::v8i16 ? Legal : Custom); in X86TargetLowering()
1129 setOperationAction(ISD::UMAX, VT, VT == MVT::v16i8 ? Legal : Custom); in X86TargetLowering()
1130 setOperationAction(ISD::UMIN, VT, VT == MVT::v16i8 ? Legal : Custom); in X86TargetLowering()
1133 setOperationAction(ISD::UADDSAT, MVT::v16i8, Legal); in X86TargetLowering()
1134 setOperationAction(ISD::SADDSAT, MVT::v16i8, Legal); in X86TargetLowering()
1135 setOperationAction(ISD::USUBSAT, MVT::v16i8, Legal); in X86TargetLowering()
1136 setOperationAction(ISD::SSUBSAT, MVT::v16i8, Legal); in X86TargetLowering()
1137 setOperationAction(ISD::UADDSAT, MVT::v8i16, Legal); in X86TargetLowering()
1138 setOperationAction(ISD::SADDSAT, MVT::v8i16, Legal); in X86TargetLowering()
1139 setOperationAction(ISD::USUBSAT, MVT::v8i16, Legal); in X86TargetLowering()
1140 setOperationAction(ISD::SSUBSAT, MVT::v8i16, Legal); in X86TargetLowering()
1141 setOperationAction(ISD::USUBSAT, MVT::v4i32, Custom); in X86TargetLowering()
1142 setOperationAction(ISD::USUBSAT, MVT::v2i64, Custom); in X86TargetLowering()
1144 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16i8, Custom); in X86TargetLowering()
1145 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); in X86TargetLowering()
1146 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom); in X86TargetLowering()
1147 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
1150 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1151 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1152 setOperationAction(ISD::ABS, VT, Custom); in X86TargetLowering()
1153 setOperationAction(ISD::ABDS, VT, Custom); in X86TargetLowering()
1154 setOperationAction(ISD::ABDU, VT, Custom); in X86TargetLowering()
1162 setOperationAction(ISD::SETCC, MVT::v2f64, Custom); in X86TargetLowering()
1163 setOperationAction(ISD::SETCC, MVT::v4f32, Custom); in X86TargetLowering()
1164 setOperationAction(ISD::STRICT_FSETCC, MVT::v2f64, Custom); in X86TargetLowering()
1165 setOperationAction(ISD::STRICT_FSETCC, MVT::v4f32, Custom); in X86TargetLowering()
1166 setOperationAction(ISD::STRICT_FSETCCS, MVT::v2f64, Custom); in X86TargetLowering()
1167 setOperationAction(ISD::STRICT_FSETCCS, MVT::v4f32, Custom); in X86TargetLowering()
1170 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1171 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1172 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1173 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1174 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1178 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1179 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1180 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1185 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1186 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1189 setOperationAction(ISD::FADD, MVT::v8f16, Expand); in X86TargetLowering()
1190 setOperationAction(ISD::FSUB, MVT::v8f16, Expand); in X86TargetLowering()
1191 setOperationAction(ISD::FMUL, MVT::v8f16, Expand); in X86TargetLowering()
1192 setOperationAction(ISD::FDIV, MVT::v8f16, Expand); in X86TargetLowering()
1193 setOperationAction(ISD::FNEG, MVT::v8f16, Custom); in X86TargetLowering()
1194 setOperationAction(ISD::FABS, MVT::v8f16, Custom); in X86TargetLowering()
1195 setOperationAction(ISD::FCOPYSIGN, MVT::v8f16, Custom); in X86TargetLowering()
1198 setOperationAction(ISD::SELECT, MVT::v2f64, Custom); in X86TargetLowering()
1199 setOperationAction(ISD::SELECT, MVT::v2i64, Custom); in X86TargetLowering()
1200 setOperationAction(ISD::SELECT, MVT::v4i32, Custom); in X86TargetLowering()
1201 setOperationAction(ISD::SELECT, MVT::v8i16, Custom); in X86TargetLowering()
1202 setOperationAction(ISD::SELECT, MVT::v8f16, Custom); in X86TargetLowering()
1203 setOperationAction(ISD::SELECT, MVT::v16i8, Custom); in X86TargetLowering()
1205 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Custom); in X86TargetLowering()
1206 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Custom); in X86TargetLowering()
1207 setOperationAction(ISD::FP_TO_SINT, MVT::v2i32, Custom); in X86TargetLowering()
1208 setOperationAction(ISD::FP_TO_UINT, MVT::v2i32, Custom); in X86TargetLowering()
1209 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4i32, Custom); in X86TargetLowering()
1210 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2i32, Custom); in X86TargetLowering()
1214 setOperationAction(ISD::FP_TO_SINT, VT, Custom); in X86TargetLowering()
1215 setOperationAction(ISD::FP_TO_UINT, VT, Custom); in X86TargetLowering()
1216 setOperationAction(ISD::STRICT_FP_TO_SINT, VT, Custom); in X86TargetLowering()
1217 setOperationAction(ISD::STRICT_FP_TO_UINT, VT, Custom); in X86TargetLowering()
1220 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1221 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1222 setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1223 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1225 setOperationAction(ISD::UINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1226 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1228 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1229 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1232 setOperationAction(ISD::SINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1233 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1234 setOperationAction(ISD::UINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1235 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1237 setOperationAction(ISD::FP_EXTEND, MVT::v2f32, Custom); in X86TargetLowering()
1238 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v2f32, Custom); in X86TargetLowering()
1239 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Custom); in X86TargetLowering()
1240 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v2f32, Custom); in X86TargetLowering()
1245 setOperationAction(ISD::LOAD, MVT::v2i32, Custom); in X86TargetLowering()
1246 setOperationAction(ISD::LOAD, MVT::v4i16, Custom); in X86TargetLowering()
1247 setOperationAction(ISD::LOAD, MVT::v8i8, Custom); in X86TargetLowering()
1248 setOperationAction(ISD::STORE, MVT::v2i32, Custom); in X86TargetLowering()
1249 setOperationAction(ISD::STORE, MVT::v4i16, Custom); in X86TargetLowering()
1250 setOperationAction(ISD::STORE, MVT::v8i8, Custom); in X86TargetLowering()
1253 setOperationAction(ISD::STORE, MVT::v2i16, Custom); in X86TargetLowering()
1254 setOperationAction(ISD::STORE, MVT::v4i8, Custom); in X86TargetLowering()
1256 setOperationAction(ISD::BITCAST, MVT::v2i32, Custom); in X86TargetLowering()
1257 setOperationAction(ISD::BITCAST, MVT::v4i16, Custom); in X86TargetLowering()
1258 setOperationAction(ISD::BITCAST, MVT::v8i8, Custom); in X86TargetLowering()
1260 setOperationAction(ISD::BITCAST, MVT::v16i1, Custom); in X86TargetLowering()
1262 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v2i64, Custom); in X86TargetLowering()
1263 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v4i32, Custom); in X86TargetLowering()
1264 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v8i16, Custom); in X86TargetLowering()
1266 setOperationAction(ISD::SIGN_EXTEND, MVT::v4i64, Custom); in X86TargetLowering()
1268 setOperationAction(ISD::TRUNCATE, MVT::v2i8, Custom); in X86TargetLowering()
1269 setOperationAction(ISD::TRUNCATE, MVT::v2i16, Custom); in X86TargetLowering()
1270 setOperationAction(ISD::TRUNCATE, MVT::v2i32, Custom); in X86TargetLowering()
1271 setOperationAction(ISD::TRUNCATE, MVT::v2i64, Custom); in X86TargetLowering()
1272 setOperationAction(ISD::TRUNCATE, MVT::v4i8, Custom); in X86TargetLowering()
1273 setOperationAction(ISD::TRUNCATE, MVT::v4i16, Custom); in X86TargetLowering()
1274 setOperationAction(ISD::TRUNCATE, MVT::v4i32, Custom); in X86TargetLowering()
1275 setOperationAction(ISD::TRUNCATE, MVT::v4i64, Custom); in X86TargetLowering()
1276 setOperationAction(ISD::TRUNCATE, MVT::v8i8, Custom); in X86TargetLowering()
1277 setOperationAction(ISD::TRUNCATE, MVT::v8i16, Custom); in X86TargetLowering()
1278 setOperationAction(ISD::TRUNCATE, MVT::v8i32, Custom); in X86TargetLowering()
1279 setOperationAction(ISD::TRUNCATE, MVT::v8i64, Custom); in X86TargetLowering()
1280 setOperationAction(ISD::TRUNCATE, MVT::v16i8, Custom); in X86TargetLowering()
1281 setOperationAction(ISD::TRUNCATE, MVT::v16i16, Custom); in X86TargetLowering()
1282 setOperationAction(ISD::TRUNCATE, MVT::v16i32, Custom); in X86TargetLowering()
1283 setOperationAction(ISD::TRUNCATE, MVT::v16i64, Custom); in X86TargetLowering()
1288 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1289 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1290 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1292 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1293 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1294 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
1295 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
1298 setOperationAction(ISD::STRICT_FSQRT, MVT::v2f64, Legal); in X86TargetLowering()
1299 setOperationAction(ISD::STRICT_FADD, MVT::v2f64, Legal); in X86TargetLowering()
1300 setOperationAction(ISD::STRICT_FSUB, MVT::v2f64, Legal); in X86TargetLowering()
1301 setOperationAction(ISD::STRICT_FMUL, MVT::v2f64, Legal); in X86TargetLowering()
1302 setOperationAction(ISD::STRICT_FDIV, MVT::v2f64, Legal); in X86TargetLowering()
1306 setOperationAction(ISD::BITREVERSE, MVT::i8, Custom); in X86TargetLowering()
1307 setOperationAction(ISD::BITREVERSE, MVT::i16, Custom); in X86TargetLowering()
1308 setOperationAction(ISD::BITREVERSE, MVT::i32, Custom); in X86TargetLowering()
1309 setOperationAction(ISD::BITREVERSE, MVT::i64, Custom); in X86TargetLowering()
1313 setOperationAction(ISD::ABS, MVT::v16i8, Legal); in X86TargetLowering()
1314 setOperationAction(ISD::ABS, MVT::v8i16, Legal); in X86TargetLowering()
1315 setOperationAction(ISD::ABS, MVT::v4i32, Legal); in X86TargetLowering()
1318 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1319 setOperationAction(ISD::CTLZ, VT, Custom); in X86TargetLowering()
1323 setOperationAction(ISD::ADD, MVT::i16, Custom); in X86TargetLowering()
1324 setOperationAction(ISD::ADD, MVT::i32, Custom); in X86TargetLowering()
1325 setOperationAction(ISD::SUB, MVT::i16, Custom); in X86TargetLowering()
1326 setOperationAction(ISD::SUB, MVT::i32, Custom); in X86TargetLowering()
1331 setOperationAction(ISD::FFLOOR, RoundedTy, Legal); in X86TargetLowering()
1332 setOperationAction(ISD::STRICT_FFLOOR, RoundedTy, Legal); in X86TargetLowering()
1333 setOperationAction(ISD::FCEIL, RoundedTy, Legal); in X86TargetLowering()
1334 setOperationAction(ISD::STRICT_FCEIL, RoundedTy, Legal); in X86TargetLowering()
1335 setOperationAction(ISD::FTRUNC, RoundedTy, Legal); in X86TargetLowering()
1336 setOperationAction(ISD::STRICT_FTRUNC, RoundedTy, Legal); in X86TargetLowering()
1337 setOperationAction(ISD::FRINT, RoundedTy, Legal); in X86TargetLowering()
1338 setOperationAction(ISD::STRICT_FRINT, RoundedTy, Legal); in X86TargetLowering()
1339 setOperationAction(ISD::FNEARBYINT, RoundedTy, Legal); in X86TargetLowering()
1340 setOperationAction(ISD::STRICT_FNEARBYINT, RoundedTy, Legal); in X86TargetLowering()
1341 setOperationAction(ISD::FROUNDEVEN, RoundedTy, Legal); in X86TargetLowering()
1342 setOperationAction(ISD::STRICT_FROUNDEVEN, RoundedTy, Legal); in X86TargetLowering()
1344 setOperationAction(ISD::FROUND, RoundedTy, Custom); in X86TargetLowering()
1347 setOperationAction(ISD::SMAX, MVT::v16i8, Legal); in X86TargetLowering()
1348 setOperationAction(ISD::SMAX, MVT::v4i32, Legal); in X86TargetLowering()
1349 setOperationAction(ISD::UMAX, MVT::v8i16, Legal); in X86TargetLowering()
1350 setOperationAction(ISD::UMAX, MVT::v4i32, Legal); in X86TargetLowering()
1351 setOperationAction(ISD::SMIN, MVT::v16i8, Legal); in X86TargetLowering()
1352 setOperationAction(ISD::SMIN, MVT::v4i32, Legal); in X86TargetLowering()
1353 setOperationAction(ISD::UMIN, MVT::v8i16, Legal); in X86TargetLowering()
1354 setOperationAction(ISD::UMIN, MVT::v4i32, Legal); in X86TargetLowering()
1356 setOperationAction(ISD::UADDSAT, MVT::v4i32, Custom); in X86TargetLowering()
1357 setOperationAction(ISD::SADDSAT, MVT::v2i64, Custom); in X86TargetLowering()
1358 setOperationAction(ISD::SSUBSAT, MVT::v2i64, Custom); in X86TargetLowering()
1361 setOperationAction(ISD::MUL, MVT::v4i32, Legal); in X86TargetLowering()
1362 setOperationAction(ISD::SMULO, MVT::v2i32, Custom); in X86TargetLowering()
1366 setOperationAction(ISD::VSELECT, MVT::v16i8, Legal); in X86TargetLowering()
1371 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Legal); in X86TargetLowering()
1372 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Legal); in X86TargetLowering()
1388 setOperationAction(ISD::UINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1389 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1392 setOperationAction(ISD::SINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1393 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1398 setOperationAction(ISD::UADDSAT, MVT::v2i64, Custom); in X86TargetLowering()
1404 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1405 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1410 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1432 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
1433 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
1434 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
1435 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
1436 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
1437 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
1438 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
1439 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
1440 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
1441 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
1442 setOperationAction(ISD::FROUNDEVEN, VT, Legal); in X86TargetLowering()
1443 setOperationAction(ISD::STRICT_FROUNDEVEN, VT, Legal); in X86TargetLowering()
1445 setOperationAction(ISD::FROUND, VT, Custom); in X86TargetLowering()
1447 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
1448 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
1449 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
1451 setOperationAction(ISD::FMAXIMUM, VT, Custom); in X86TargetLowering()
1452 setOperationAction(ISD::FMINIMUM, VT, Custom); in X86TargetLowering()
1455 setOperationAction(ISD::LRINT, MVT::v8f32, Custom); in X86TargetLowering()
1456 setOperationAction(ISD::LRINT, MVT::v4f64, Custom); in X86TargetLowering()
1464 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Custom); in X86TargetLowering()
1465 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Custom); in X86TargetLowering()
1466 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v8i32, Custom); in X86TargetLowering()
1468 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1469 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1470 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Expand); in X86TargetLowering()
1471 setOperationAction(ISD::FP_ROUND, MVT::v8f16, Expand); in X86TargetLowering()
1472 setOperationAction(ISD::FP_EXTEND, MVT::v4f64, Custom); in X86TargetLowering()
1473 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f64, Custom); in X86TargetLowering()
1475 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v4f32, Legal); in X86TargetLowering()
1476 setOperationAction(ISD::STRICT_FADD, MVT::v8f32, Legal); in X86TargetLowering()
1477 setOperationAction(ISD::STRICT_FADD, MVT::v4f64, Legal); in X86TargetLowering()
1478 setOperationAction(ISD::STRICT_FSUB, MVT::v8f32, Legal); in X86TargetLowering()
1479 setOperationAction(ISD::STRICT_FSUB, MVT::v4f64, Legal); in X86TargetLowering()
1480 setOperationAction(ISD::STRICT_FMUL, MVT::v8f32, Legal); in X86TargetLowering()
1481 setOperationAction(ISD::STRICT_FMUL, MVT::v4f64, Legal); in X86TargetLowering()
1482 setOperationAction(ISD::STRICT_FDIV, MVT::v8f32, Legal); in X86TargetLowering()
1483 setOperationAction(ISD::STRICT_FDIV, MVT::v4f64, Legal); in X86TargetLowering()
1484 setOperationAction(ISD::STRICT_FSQRT, MVT::v8f32, Legal); in X86TargetLowering()
1485 setOperationAction(ISD::STRICT_FSQRT, MVT::v4f64, Legal); in X86TargetLowering()
1488 setOperationAction(ISD::BITCAST, MVT::v32i1, Custom); in X86TargetLowering()
1493 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1494 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1495 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1496 setOperationAction(ISD::ABDS, VT, Custom); in X86TargetLowering()
1497 setOperationAction(ISD::ABDU, VT, Custom); in X86TargetLowering()
1499 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1500 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1501 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
1502 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
1506 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1507 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1508 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1509 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1511 setOperationAction(ISD::SELECT, MVT::v4f64, Custom); in X86TargetLowering()
1512 setOperationAction(ISD::SELECT, MVT::v4i64, Custom); in X86TargetLowering()
1513 setOperationAction(ISD::SELECT, MVT::v8i32, Custom); in X86TargetLowering()
1514 setOperationAction(ISD::SELECT, MVT::v16i16, Custom); in X86TargetLowering()
1515 setOperationAction(ISD::SELECT, MVT::v16f16, Custom); in X86TargetLowering()
1516 setOperationAction(ISD::SELECT, MVT::v32i8, Custom); in X86TargetLowering()
1517 setOperationAction(ISD::SELECT, MVT::v8f32, Custom); in X86TargetLowering()
1520 setOperationAction(ISD::SIGN_EXTEND, VT, Custom); in X86TargetLowering()
1521 setOperationAction(ISD::ZERO_EXTEND, VT, Custom); in X86TargetLowering()
1522 setOperationAction(ISD::ANY_EXTEND, VT, Custom); in X86TargetLowering()
1525 setOperationAction(ISD::TRUNCATE, MVT::v32i8, Custom); in X86TargetLowering()
1526 setOperationAction(ISD::TRUNCATE, MVT::v32i16, Custom); in X86TargetLowering()
1527 setOperationAction(ISD::TRUNCATE, MVT::v32i32, Custom); in X86TargetLowering()
1528 setOperationAction(ISD::TRUNCATE, MVT::v32i64, Custom); in X86TargetLowering()
1531 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1532 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1533 setOperationAction(ISD::CTLZ, VT, Custom); in X86TargetLowering()
1534 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1542 setOperationAction(ISD::SETCC, MVT::v4f64, Custom); in X86TargetLowering()
1543 setOperationAction(ISD::SETCC, MVT::v8f32, Custom); in X86TargetLowering()
1544 setOperationAction(ISD::STRICT_FSETCC, MVT::v4f64, Custom); in X86TargetLowering()
1545 setOperationAction(ISD::STRICT_FSETCC, MVT::v8f32, Custom); in X86TargetLowering()
1546 setOperationAction(ISD::STRICT_FSETCCS, MVT::v4f64, Custom); in X86TargetLowering()
1547 setOperationAction(ISD::STRICT_FSETCCS, MVT::v8f32, Custom); in X86TargetLowering()
1552 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
1553 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
1558 setOperationAction(ISD::ADD, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1559 setOperationAction(ISD::SUB, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1562 setOperationAction(ISD::MUL, MVT::v4i64, Custom); in X86TargetLowering()
1563 setOperationAction(ISD::MUL, MVT::v8i32, HasInt256 ? Legal : Custom); in X86TargetLowering()
1564 setOperationAction(ISD::MUL, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1565 setOperationAction(ISD::MUL, MVT::v32i8, Custom); in X86TargetLowering()
1567 setOperationAction(ISD::MULHU, MVT::v8i32, Custom); in X86TargetLowering()
1568 setOperationAction(ISD::MULHS, MVT::v8i32, Custom); in X86TargetLowering()
1569 setOperationAction(ISD::MULHU, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1570 setOperationAction(ISD::MULHS, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1571 setOperationAction(ISD::MULHU, MVT::v32i8, Custom); in X86TargetLowering()
1572 setOperationAction(ISD::MULHS, MVT::v32i8, Custom); in X86TargetLowering()
1573 setOperationAction(ISD::AVGCEILU, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1574 setOperationAction(ISD::AVGCEILU, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1576 setOperationAction(ISD::SMULO, MVT::v32i8, Custom); in X86TargetLowering()
1577 setOperationAction(ISD::UMULO, MVT::v32i8, Custom); in X86TargetLowering()
1579 setOperationAction(ISD::ABS, MVT::v4i64, Custom); in X86TargetLowering()
1580 setOperationAction(ISD::SMAX, MVT::v4i64, Custom); in X86TargetLowering()
1581 setOperationAction(ISD::UMAX, MVT::v4i64, Custom); in X86TargetLowering()
1582 setOperationAction(ISD::SMIN, MVT::v4i64, Custom); in X86TargetLowering()
1583 setOperationAction(ISD::UMIN, MVT::v4i64, Custom); in X86TargetLowering()
1585 setOperationAction(ISD::UADDSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1586 setOperationAction(ISD::SADDSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1587 setOperationAction(ISD::USUBSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1588 setOperationAction(ISD::SSUBSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1589 setOperationAction(ISD::UADDSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1590 setOperationAction(ISD::SADDSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1591 setOperationAction(ISD::USUBSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1592 setOperationAction(ISD::SSUBSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1593 setOperationAction(ISD::UADDSAT, MVT::v8i32, Custom); in X86TargetLowering()
1594 setOperationAction(ISD::USUBSAT, MVT::v8i32, Custom); in X86TargetLowering()
1595 setOperationAction(ISD::UADDSAT, MVT::v4i64, Custom); in X86TargetLowering()
1596 setOperationAction(ISD::USUBSAT, MVT::v4i64, Custom); in X86TargetLowering()
1599 setOperationAction(ISD::ABS, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1600 setOperationAction(ISD::SMAX, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1601 setOperationAction(ISD::UMAX, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1602 setOperationAction(ISD::SMIN, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1603 setOperationAction(ISD::UMIN, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1607 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1608 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1614 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1615 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1630 setOperationAction(ISD::MLOAD, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
1631 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1638 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1644 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1645 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1646 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1647 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1648 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1649 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1650 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1651 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1652 setOperationAction(ISD::STORE, VT, Custom); in X86TargetLowering()
1655 setOperationAction(ISD::FNEG, MVT::v16f16, Custom); in X86TargetLowering()
1656 setOperationAction(ISD::FABS, MVT::v16f16, Custom); in X86TargetLowering()
1657 setOperationAction(ISD::FCOPYSIGN, MVT::v16f16, Custom); in X86TargetLowering()
1658 setOperationAction(ISD::FADD, MVT::v16f16, Expand); in X86TargetLowering()
1659 setOperationAction(ISD::FSUB, MVT::v16f16, Expand); in X86TargetLowering()
1660 setOperationAction(ISD::FMUL, MVT::v16f16, Expand); in X86TargetLowering()
1661 setOperationAction(ISD::FDIV, MVT::v16f16, Expand); in X86TargetLowering()
1664 setOperationAction(ISD::VSELECT, MVT::v32i8, Legal); in X86TargetLowering()
1667 setOperationAction(ISD::MGATHER, MVT::v2f32, Custom); in X86TargetLowering()
1668 setOperationAction(ISD::MGATHER, MVT::v2i32, Custom); in X86TargetLowering()
1672 setOperationAction(ISD::MGATHER, VT, Custom); in X86TargetLowering()
1679 setOperationAction(ISD::FP_ROUND, VT, Custom); in X86TargetLowering()
1680 setOperationAction(ISD::STRICT_FP_ROUND, VT, Custom); in X86TargetLowering()
1683 setOperationAction(ISD::FP_EXTEND, VT, Custom); in X86TargetLowering()
1684 setOperationAction(ISD::STRICT_FP_EXTEND, VT, Custom); in X86TargetLowering()
1702 setOperationAction(ISD::SELECT, MVT::v1i1, Custom); in X86TargetLowering()
1703 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v1i1, Custom); in X86TargetLowering()
1704 setOperationAction(ISD::BUILD_VECTOR, MVT::v1i1, Custom); in X86TargetLowering()
1714 setOperationAction(ISD::FP_TO_SINT, MVT::v2i1, Custom); in X86TargetLowering()
1715 setOperationAction(ISD::FP_TO_UINT, MVT::v2i1, Custom); in X86TargetLowering()
1716 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2i1, Custom); in X86TargetLowering()
1717 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2i1, Custom); in X86TargetLowering()
1721 setOperationAction(ISD::LOAD, MVT::v1i1, Custom); in X86TargetLowering()
1722 setOperationAction(ISD::LOAD, MVT::v2i1, Custom); in X86TargetLowering()
1723 setOperationAction(ISD::LOAD, MVT::v4i1, Custom); in X86TargetLowering()
1724 setOperationAction(ISD::LOAD, MVT::v8i1, Custom); in X86TargetLowering()
1726 setOperationAction(ISD::STORE, MVT::v1i1, Custom); in X86TargetLowering()
1727 setOperationAction(ISD::STORE, MVT::v2i1, Custom); in X86TargetLowering()
1728 setOperationAction(ISD::STORE, MVT::v4i1, Custom); in X86TargetLowering()
1729 setOperationAction(ISD::STORE, MVT::v8i1, Custom); in X86TargetLowering()
1734 setOperationAction(ISD::SIGN_EXTEND, VT, Custom); in X86TargetLowering()
1735 setOperationAction(ISD::ZERO_EXTEND, VT, Custom); in X86TargetLowering()
1736 setOperationAction(ISD::ANY_EXTEND, VT, Custom); in X86TargetLowering()
1740 setOperationAction(ISD::VSELECT, VT, Expand); in X86TargetLowering()
1743 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1744 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
1745 setOperationAction(ISD::TRUNCATE, VT, Custom); in X86TargetLowering()
1747 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1748 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1749 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1750 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1751 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1752 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1756 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1760 setOperationAction(ISD::LRINT, VT, Legal); in X86TargetLowering()
1761 setOperationAction(ISD::LLRINT, VT, Legal); in X86TargetLowering()
1790 setOperationAction(ISD::FMAXIMUM, VT, Custom); in X86TargetLowering()
1791 setOperationAction(ISD::FMINIMUM, VT, Custom); in X86TargetLowering()
1792 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
1793 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
1794 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
1795 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
1796 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
1798 setOperationAction(ISD::LRINT, MVT::v16f32, in X86TargetLowering()
1800 setOperationAction(ISD::LRINT, MVT::v8f64, in X86TargetLowering()
1803 setOperationAction(ISD::LLRINT, MVT::v8f64, Legal); in X86TargetLowering()
1813 setOperationAction(ISD::FP_TO_SINT, VT, Custom); in X86TargetLowering()
1814 setOperationAction(ISD::FP_TO_UINT, VT, Custom); in X86TargetLowering()
1815 setOperationAction(ISD::STRICT_FP_TO_SINT, VT, Custom); in X86TargetLowering()
1816 setOperationAction(ISD::STRICT_FP_TO_UINT, VT, Custom); in X86TargetLowering()
1819 setOperationAction(ISD::SINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1820 setOperationAction(ISD::UINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1821 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1822 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1823 setOperationAction(ISD::FP_EXTEND, MVT::v8f64, Custom); in X86TargetLowering()
1824 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f64, Custom); in X86TargetLowering()
1826 setOperationAction(ISD::STRICT_FADD, MVT::v16f32, Legal); in X86TargetLowering()
1827 setOperationAction(ISD::STRICT_FADD, MVT::v8f64, Legal); in X86TargetLowering()
1828 setOperationAction(ISD::STRICT_FSUB, MVT::v16f32, Legal); in X86TargetLowering()
1829 setOperationAction(ISD::STRICT_FSUB, MVT::v8f64, Legal); in X86TargetLowering()
1830 setOperationAction(ISD::STRICT_FMUL, MVT::v16f32, Legal); in X86TargetLowering()
1831 setOperationAction(ISD::STRICT_FMUL, MVT::v8f64, Legal); in X86TargetLowering()
1832 setOperationAction(ISD::STRICT_FDIV, MVT::v16f32, Legal); in X86TargetLowering()
1833 setOperationAction(ISD::STRICT_FDIV, MVT::v8f64, Legal); in X86TargetLowering()
1834 setOperationAction(ISD::STRICT_FSQRT, MVT::v16f32, Legal); in X86TargetLowering()
1835 setOperationAction(ISD::STRICT_FSQRT, MVT::v8f64, Legal); in X86TargetLowering()
1836 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v8f32, Legal); in X86TargetLowering()
1852 setOperationAction(ISD::MLOAD, VT, Custom); in X86TargetLowering()
1853 setOperationAction(ISD::MSTORE, VT, Custom); in X86TargetLowering()
1857 setOperationAction(ISD::TRUNCATE, MVT::v8i32, Legal); in X86TargetLowering()
1858 setOperationAction(ISD::TRUNCATE, MVT::v16i16, Legal); in X86TargetLowering()
1859 setOperationAction(ISD::TRUNCATE, MVT::v32i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1860 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1861 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1862 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1863 setOperationAction(ISD::ANY_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1864 setOperationAction(ISD::ANY_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1865 setOperationAction(ISD::ANY_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1866 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1867 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1868 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1872 setOperationAction(ISD::SIGN_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1873 setOperationAction(ISD::ZERO_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1874 setOperationAction(ISD::ANY_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1878 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
1879 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
1880 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
1881 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
1882 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
1883 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
1884 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
1885 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
1886 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
1887 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
1888 setOperationAction(ISD::FROUNDEVEN, VT, Legal); in X86TargetLowering()
1889 setOperationAction(ISD::STRICT_FROUNDEVEN, VT, Legal); in X86TargetLowering()
1891 setOperationAction(ISD::FROUND, VT, Custom); in X86TargetLowering()
1895 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1896 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1899 setOperationAction(ISD::ADD, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1900 setOperationAction(ISD::SUB, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1901 setOperationAction(ISD::ADD, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1902 setOperationAction(ISD::SUB, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1904 setOperationAction(ISD::MUL, MVT::v8i64, Custom); in X86TargetLowering()
1905 setOperationAction(ISD::MUL, MVT::v16i32, Legal); in X86TargetLowering()
1906 setOperationAction(ISD::MUL, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1907 setOperationAction(ISD::MUL, MVT::v64i8, Custom); in X86TargetLowering()
1909 setOperationAction(ISD::MULHU, MVT::v16i32, Custom); in X86TargetLowering()
1910 setOperationAction(ISD::MULHS, MVT::v16i32, Custom); in X86TargetLowering()
1911 setOperationAction(ISD::MULHS, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1912 setOperationAction(ISD::MULHU, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1913 setOperationAction(ISD::MULHS, MVT::v64i8, Custom); in X86TargetLowering()
1914 setOperationAction(ISD::MULHU, MVT::v64i8, Custom); in X86TargetLowering()
1915 setOperationAction(ISD::AVGCEILU, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1916 setOperationAction(ISD::AVGCEILU, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1918 setOperationAction(ISD::SMULO, MVT::v64i8, Custom); in X86TargetLowering()
1919 setOperationAction(ISD::UMULO, MVT::v64i8, Custom); in X86TargetLowering()
1922 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1923 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1924 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1925 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1926 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1927 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1928 setOperationAction(ISD::ABDS, VT, Custom); in X86TargetLowering()
1929 setOperationAction(ISD::ABDU, VT, Custom); in X86TargetLowering()
1930 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1938 setOperationAction(ISD::SETCC, MVT::v8f64, Custom); in X86TargetLowering()
1939 setOperationAction(ISD::SETCC, MVT::v16f32, Custom); in X86TargetLowering()
1940 setOperationAction(ISD::STRICT_FSETCC, MVT::v8f64, Custom); in X86TargetLowering()
1941 setOperationAction(ISD::STRICT_FSETCC, MVT::v16f32, Custom); in X86TargetLowering()
1942 setOperationAction(ISD::STRICT_FSETCCS, MVT::v8f64, Custom); in X86TargetLowering()
1943 setOperationAction(ISD::STRICT_FSETCCS, MVT::v16f32, Custom); in X86TargetLowering()
1946 setOperationAction(ISD::SMAX, VT, Legal); in X86TargetLowering()
1947 setOperationAction(ISD::UMAX, VT, Legal); in X86TargetLowering()
1948 setOperationAction(ISD::SMIN, VT, Legal); in X86TargetLowering()
1949 setOperationAction(ISD::UMIN, VT, Legal); in X86TargetLowering()
1950 setOperationAction(ISD::ABS, VT, Legal); in X86TargetLowering()
1951 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1955 setOperationAction(ISD::ABS, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1956 setOperationAction(ISD::CTPOP, VT, Subtarget.hasBITALG() ? Legal : Custom); in X86TargetLowering()
1957 setOperationAction(ISD::CTLZ, VT, Custom); in X86TargetLowering()
1958 setOperationAction(ISD::SMAX, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1959 setOperationAction(ISD::UMAX, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1960 setOperationAction(ISD::SMIN, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1961 setOperationAction(ISD::UMIN, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1962 setOperationAction(ISD::UADDSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1963 setOperationAction(ISD::SADDSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1964 setOperationAction(ISD::USUBSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1965 setOperationAction(ISD::SSUBSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1968 setOperationAction(ISD::FSHL, MVT::v64i8, Custom); in X86TargetLowering()
1969 setOperationAction(ISD::FSHR, MVT::v64i8, Custom); in X86TargetLowering()
1970 setOperationAction(ISD::FSHL, MVT::v32i16, Custom); in X86TargetLowering()
1971 setOperationAction(ISD::FSHR, MVT::v32i16, Custom); in X86TargetLowering()
1972 setOperationAction(ISD::FSHL, MVT::v16i32, Custom); in X86TargetLowering()
1973 setOperationAction(ISD::FSHR, MVT::v16i32, Custom); in X86TargetLowering()
1979 setOperationAction(Opc, MVT::v8i64, Custom); in X86TargetLowering()
1980 setOperationAction(ISD::MUL, MVT::v8i64, Legal); in X86TargetLowering()
1986 setOperationAction(ISD::CTLZ, VT, Legal); in X86TargetLowering()
1992 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
2000 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal); in X86TargetLowering()
2004 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
2005 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Legal); in X86TargetLowering()
2006 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
2007 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
2008 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2009 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2010 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2011 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
2012 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2015 setOperationAction(ISD::FP_ROUND, MVT::v16f16, Custom); in X86TargetLowering()
2016 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v16f16, Custom); in X86TargetLowering()
2017 setOperationAction(ISD::FP_EXTEND, MVT::v16f32, Custom); in X86TargetLowering()
2018 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v16f32, Custom); in X86TargetLowering()
2023 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
2024 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
2025 setOperationAction(ISD::MGATHER, VT, Custom); in X86TargetLowering()
2026 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
2030 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
2031 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
2034 setOperationAction(ISD::STORE, MVT::v32i16, Custom); in X86TargetLowering()
2035 setOperationAction(ISD::STORE, MVT::v64i8, Custom); in X86TargetLowering()
2040 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
2041 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
2044 setOperationAction(ISD::ROTL, MVT::v32i16, Custom); in X86TargetLowering()
2045 setOperationAction(ISD::ROTR, MVT::v32i16, Custom); in X86TargetLowering()
2048 setOperationAction(ISD::FNEG, MVT::v32f16, Custom); in X86TargetLowering()
2049 setOperationAction(ISD::FABS, MVT::v32f16, Custom); in X86TargetLowering()
2050 setOperationAction(ISD::FCOPYSIGN, MVT::v32f16, Custom); in X86TargetLowering()
2056 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
2057 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
2068 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v8i32, Custom); in X86TargetLowering()
2069 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4i32, Custom); in X86TargetLowering()
2070 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2i32, Custom); in X86TargetLowering()
2079 setOperationAction(ISD::FP_TO_SINT, MVT::v2f32, Custom); in X86TargetLowering()
2080 setOperationAction(ISD::FP_TO_UINT, MVT::v2f32, Custom); in X86TargetLowering()
2081 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2f32, Custom); in X86TargetLowering()
2082 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2f32, Custom); in X86TargetLowering()
2086 setOperationAction(ISD::SMAX, VT, Legal); in X86TargetLowering()
2087 setOperationAction(ISD::UMAX, VT, Legal); in X86TargetLowering()
2088 setOperationAction(ISD::SMIN, VT, Legal); in X86TargetLowering()
2089 setOperationAction(ISD::UMIN, VT, Legal); in X86TargetLowering()
2090 setOperationAction(ISD::ABS, VT, Legal); in X86TargetLowering()
2094 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
2095 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
2099 setOperationAction(ISD::MSCATTER, MVT::v2f32, Custom); in X86TargetLowering()
2100 setOperationAction(ISD::MSCATTER, MVT::v2i32, Custom); in X86TargetLowering()
2104 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
2110 setOperationAction(Opc, MVT::v2i64, Custom); in X86TargetLowering()
2111 setOperationAction(Opc, MVT::v4i64, Custom); in X86TargetLowering()
2113 setOperationAction(ISD::MUL, MVT::v2i64, Legal); in X86TargetLowering()
2114 setOperationAction(ISD::MUL, MVT::v4i64, Legal); in X86TargetLowering()
2119 setOperationAction(ISD::CTLZ, VT, Legal); in X86TargetLowering()
2125 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
2136 setOperationAction(ISD::VSELECT, VT, Expand); in X86TargetLowering()
2137 setOperationAction(ISD::TRUNCATE, VT, Custom); in X86TargetLowering()
2138 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
2139 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2140 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2141 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
2142 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2143 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2144 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
2145 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
2149 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
2152 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2153 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2154 setOperationAction(ISD::ANY_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2157 setOperationAction(ISD::MLOAD, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
2158 setOperationAction(ISD::MSTORE, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
2167 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
2173 setOperationAction(ISD::FADD, VT, Legal); in X86TargetLowering()
2174 setOperationAction(ISD::STRICT_FADD, VT, Legal); in X86TargetLowering()
2175 setOperationAction(ISD::FSUB, VT, Legal); in X86TargetLowering()
2176 setOperationAction(ISD::STRICT_FSUB, VT, Legal); in X86TargetLowering()
2177 setOperationAction(ISD::FMUL, VT, Legal); in X86TargetLowering()
2178 setOperationAction(ISD::STRICT_FMUL, VT, Legal); in X86TargetLowering()
2179 setOperationAction(ISD::FDIV, VT, Legal); in X86TargetLowering()
2180 setOperationAction(ISD::STRICT_FDIV, VT, Legal); in X86TargetLowering()
2181 setOperationAction(ISD::FSQRT, VT, Legal); in X86TargetLowering()
2182 setOperationAction(ISD::STRICT_FSQRT, VT, Legal); in X86TargetLowering()
2184 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
2185 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
2186 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
2187 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
2188 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
2189 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
2190 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
2191 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
2192 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
2193 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
2194 setOperationAction(ISD::FROUNDEVEN, VT, Legal); in X86TargetLowering()
2195 setOperationAction(ISD::STRICT_FROUNDEVEN, VT, Legal); in X86TargetLowering()
2197 setOperationAction(ISD::FROUND, VT, Custom); in X86TargetLowering()
2199 setOperationAction(ISD::LOAD, VT, Legal); in X86TargetLowering()
2200 setOperationAction(ISD::STORE, VT, Legal); in X86TargetLowering()
2202 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
2203 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
2204 setOperationAction(ISD::VSELECT, VT, Legal); in X86TargetLowering()
2205 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2206 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
2208 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
2209 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
2210 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
2211 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2212 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2214 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
2215 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
2216 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
2221 setOperationAction(ISD::FREM, MVT::f16, Promote); in X86TargetLowering()
2222 setOperationAction(ISD::STRICT_FREM, MVT::f16, Promote); in X86TargetLowering()
2223 setOperationAction(ISD::SELECT_CC, MVT::f16, Expand); in X86TargetLowering()
2224 setOperationAction(ISD::BR_CC, MVT::f16, Expand); in X86TargetLowering()
2225 setOperationAction(ISD::STRICT_FROUND, MVT::f16, Promote); in X86TargetLowering()
2226 setOperationAction(ISD::FROUNDEVEN, MVT::f16, Legal); in X86TargetLowering()
2227 setOperationAction(ISD::STRICT_FROUNDEVEN, MVT::f16, Legal); in X86TargetLowering()
2228 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
2229 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
2230 setOperationAction(ISD::FMAXIMUM, MVT::f16, Custom); in X86TargetLowering()
2231 setOperationAction(ISD::FMINIMUM, MVT::f16, Custom); in X86TargetLowering()
2232 setOperationAction(ISD::FP_EXTEND, MVT::f32, Legal); in X86TargetLowering()
2233 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f32, Legal); in X86TargetLowering()
2240 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v32f16, Custom); in X86TargetLowering()
2241 setOperationAction(ISD::SINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2242 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2243 setOperationAction(ISD::UINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2244 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2245 setOperationAction(ISD::FP_ROUND, MVT::v16f16, Legal); in X86TargetLowering()
2246 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v16f16, Legal); in X86TargetLowering()
2247 setOperationAction(ISD::FP_EXTEND, MVT::v16f32, Custom); in X86TargetLowering()
2248 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v16f32, Legal); in X86TargetLowering()
2249 setOperationAction(ISD::FP_EXTEND, MVT::v8f64, Custom); in X86TargetLowering()
2250 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f64, Legal); in X86TargetLowering()
2251 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v32f16, Custom); in X86TargetLowering()
2253 setOperationAction(ISD::FP_TO_SINT, MVT::v32i16, Custom); in X86TargetLowering()
2254 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v32i16, Custom); in X86TargetLowering()
2255 setOperationAction(ISD::FP_TO_UINT, MVT::v32i16, Custom); in X86TargetLowering()
2256 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v32i16, Custom); in X86TargetLowering()
2270 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v16f16, Legal); in X86TargetLowering()
2271 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v32f16, Legal); in X86TargetLowering()
2272 setOperationAction(ISD::CONCAT_VECTORS, MVT::v32f16, Custom); in X86TargetLowering()
2282 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8f16, Legal); in X86TargetLowering()
2283 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16f16, Custom); in X86TargetLowering()
2284 setOperationAction(ISD::SINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2285 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2286 setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2287 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2288 setOperationAction(ISD::UINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2289 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2290 setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2291 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2293 setOperationAction(ISD::FP_TO_SINT, MVT::v8i16, Custom); in X86TargetLowering()
2294 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v8i16, Custom); in X86TargetLowering()
2295 setOperationAction(ISD::FP_TO_UINT, MVT::v8i16, Custom); in X86TargetLowering()
2296 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v8i16, Custom); in X86TargetLowering()
2297 setOperationAction(ISD::FP_ROUND, MVT::v8f16, Legal); in X86TargetLowering()
2298 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v8f16, Legal); in X86TargetLowering()
2299 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Custom); in X86TargetLowering()
2300 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
2301 setOperationAction(ISD::FP_EXTEND, MVT::v4f64, Custom); in X86TargetLowering()
2302 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f64, Legal); in X86TargetLowering()
2305 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8f16, Custom); in X86TargetLowering()
2306 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16f16, Custom); in X86TargetLowering()
2308 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8f16, Legal); in X86TargetLowering()
2309 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v16f16, Legal); in X86TargetLowering()
2310 setOperationAction(ISD::CONCAT_VECTORS, MVT::v16f16, Custom); in X86TargetLowering()
2318 setOperationAction(ISD::LOAD, MVT::v4f16, Custom); in X86TargetLowering()
2319 setOperationAction(ISD::STORE, MVT::v4f16, Custom); in X86TargetLowering()
2332 setOperationAction(ISD::BUILD_VECTOR, MVT::bf16, Custom); in X86TargetLowering()
2333 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::bf16, Custom); in X86TargetLowering()
2336 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2337 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2338 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Legal); in X86TargetLowering()
2339 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
2345 setOperationAction(ISD::FP_ROUND, MVT::v8bf16, Custom); in X86TargetLowering()
2354 setOperationAction(ISD::BUILD_VECTOR, MVT::v32bf16, Custom); in X86TargetLowering()
2355 setOperationAction(ISD::FP_ROUND, MVT::v16bf16, Custom); in X86TargetLowering()
2356 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v32bf16, Custom); in X86TargetLowering()
2357 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v32bf16, Legal); in X86TargetLowering()
2358 setOperationAction(ISD::CONCAT_VECTORS, MVT::v32bf16, Custom); in X86TargetLowering()
2381 setOperationAction(ISD::FP_TO_SINT, MVT::v2f16, Custom); in X86TargetLowering()
2382 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2f16, Custom); in X86TargetLowering()
2383 setOperationAction(ISD::FP_TO_UINT, MVT::v2f16, Custom); in X86TargetLowering()
2384 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2f16, Custom); in X86TargetLowering()
2385 setOperationAction(ISD::FP_TO_SINT, MVT::v4f16, Custom); in X86TargetLowering()
2386 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4f16, Custom); in X86TargetLowering()
2387 setOperationAction(ISD::FP_TO_UINT, MVT::v4f16, Custom); in X86TargetLowering()
2388 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4f16, Custom); in X86TargetLowering()
2390 setOperationAction(ISD::SINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2391 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2392 setOperationAction(ISD::UINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2393 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2394 setOperationAction(ISD::SINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2395 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2396 setOperationAction(ISD::UINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2397 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2399 setOperationAction(ISD::FP_ROUND, MVT::v2f16, Custom); in X86TargetLowering()
2400 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v2f16, Custom); in X86TargetLowering()
2401 setOperationAction(ISD::FP_ROUND, MVT::v4f16, Custom); in X86TargetLowering()
2402 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v4f16, Custom); in X86TargetLowering()
2404 setOperationAction(ISD::FP_EXTEND, MVT::v2f16, Custom); in X86TargetLowering()
2405 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v2f16, Custom); in X86TargetLowering()
2406 setOperationAction(ISD::FP_EXTEND, MVT::v4f16, Custom); in X86TargetLowering()
2407 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f16, Custom); in X86TargetLowering()
2416 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom); in X86TargetLowering()
2417 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom); in X86TargetLowering()
2418 setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom); in X86TargetLowering()
2420 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i64, Custom); in X86TargetLowering()
2433 setOperationAction(ISD::SADDO, VT, Custom); in X86TargetLowering()
2434 setOperationAction(ISD::UADDO, VT, Custom); in X86TargetLowering()
2435 setOperationAction(ISD::SSUBO, VT, Custom); in X86TargetLowering()
2436 setOperationAction(ISD::USUBO, VT, Custom); in X86TargetLowering()
2437 setOperationAction(ISD::SMULO, VT, Custom); in X86TargetLowering()
2438 setOperationAction(ISD::UMULO, VT, Custom); in X86TargetLowering()
2441 setOperationAction(ISD::UADDO_CARRY, VT, Custom); in X86TargetLowering()
2442 setOperationAction(ISD::USUBO_CARRY, VT, Custom); in X86TargetLowering()
2443 setOperationAction(ISD::SETCCCARRY, VT, Custom); in X86TargetLowering()
2444 setOperationAction(ISD::SADDO_CARRY, VT, Custom); in X86TargetLowering()
2445 setOperationAction(ISD::SSUBO_CARRY, VT, Custom); in X86TargetLowering()
2451 setOperationAction(ISD::FSINCOS, MVT::f64, Custom); in X86TargetLowering()
2452 setOperationAction(ISD::FSINCOS, MVT::f32, Custom); in X86TargetLowering()
2456 setOperationAction(ISD::SDIV, MVT::i128, Custom); in X86TargetLowering()
2457 setOperationAction(ISD::UDIV, MVT::i128, Custom); in X86TargetLowering()
2458 setOperationAction(ISD::SREM, MVT::i128, Custom); in X86TargetLowering()
2459 setOperationAction(ISD::UREM, MVT::i128, Custom); in X86TargetLowering()
2460 setOperationAction(ISD::FP_TO_SINT, MVT::i128, Custom); in X86TargetLowering()
2461 setOperationAction(ISD::FP_TO_UINT, MVT::i128, Custom); in X86TargetLowering()
2462 setOperationAction(ISD::SINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2463 setOperationAction(ISD::UINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2464 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i128, Custom); in X86TargetLowering()
2465 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i128, Custom); in X86TargetLowering()
2466 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2467 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2495 setOperationAction(Op, MVT::f32, Promote); in X86TargetLowering()
2503 setOperationAction(Op, MVT::f32, Promote); in X86TargetLowering()