Lines Matching refs:setOperationAction

201     setOperationAction(ISD::ABS            , MVT::i16  , Custom);  in X86TargetLowering()
202 setOperationAction(ISD::ABS , MVT::i32 , Custom); in X86TargetLowering()
204 setOperationAction(ISD::ABS , MVT::i64 , Custom); in X86TargetLowering()
208 setOperationAction(ISD::SSUBSAT , MVT::i8 , Custom); in X86TargetLowering()
209 setOperationAction(ISD::SSUBSAT , MVT::i16 , Custom); in X86TargetLowering()
210 setOperationAction(ISD::SSUBSAT , MVT::i32 , Custom); in X86TargetLowering()
212 setOperationAction(ISD::SSUBSAT , MVT::i64 , Custom); in X86TargetLowering()
219 setOperationAction(ShiftOp , MVT::i8 , Custom); in X86TargetLowering()
220 setOperationAction(ShiftOp , MVT::i16 , Custom); in X86TargetLowering()
221 setOperationAction(ShiftOp , MVT::i32 , ShiftDoubleAction); in X86TargetLowering()
223 setOperationAction(ShiftOp , MVT::i64 , ShiftDoubleAction); in X86TargetLowering()
229 setOperationAction(ISD::UINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
230 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
231 setOperationAction(ISD::UINT_TO_FP, MVT::i16, Promote); in X86TargetLowering()
232 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i16, Promote); in X86TargetLowering()
235 setOperationAction(ISD::UINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
236 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
239 setOperationAction(ISD::UINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
240 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
244 setOperationAction(ISD::SINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
245 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i8, Promote); in X86TargetLowering()
248 setOperationAction(ISD::SINT_TO_FP, MVT::i16, Custom); in X86TargetLowering()
249 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i16, Custom); in X86TargetLowering()
251 setOperationAction(ISD::SINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
252 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i32, Custom); in X86TargetLowering()
255 setOperationAction(ISD::SINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
256 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i64, Custom); in X86TargetLowering()
260 setOperationAction(ISD::FP_TO_SINT, MVT::i8, Promote); in X86TargetLowering()
262 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i8, Promote); in X86TargetLowering()
263 setOperationAction(ISD::FP_TO_SINT, MVT::i16, Custom); in X86TargetLowering()
264 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i16, Custom); in X86TargetLowering()
265 setOperationAction(ISD::FP_TO_SINT, MVT::i32, Custom); in X86TargetLowering()
266 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i32, Custom); in X86TargetLowering()
269 setOperationAction(ISD::FP_TO_SINT, MVT::i64, Custom); in X86TargetLowering()
270 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i64, Custom); in X86TargetLowering()
274 setOperationAction(ISD::FP_TO_UINT, MVT::i8, Promote); in X86TargetLowering()
276 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i8, Promote); in X86TargetLowering()
277 setOperationAction(ISD::FP_TO_UINT, MVT::i16, Promote); in X86TargetLowering()
279 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i16, Promote); in X86TargetLowering()
280 setOperationAction(ISD::FP_TO_UINT, MVT::i32, Custom); in X86TargetLowering()
281 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i32, Custom); in X86TargetLowering()
282 setOperationAction(ISD::FP_TO_UINT, MVT::i64, Custom); in X86TargetLowering()
283 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i64, Custom); in X86TargetLowering()
285 setOperationAction(ISD::LRINT, MVT::f32, Custom); in X86TargetLowering()
286 setOperationAction(ISD::LRINT, MVT::f64, Custom); in X86TargetLowering()
287 setOperationAction(ISD::LLRINT, MVT::f32, Custom); in X86TargetLowering()
288 setOperationAction(ISD::LLRINT, MVT::f64, Custom); in X86TargetLowering()
291 setOperationAction(ISD::LRINT, MVT::i64, Custom); in X86TargetLowering()
292 setOperationAction(ISD::LLRINT, MVT::i64, Custom); in X86TargetLowering()
300 setOperationAction(ISD::FP_TO_UINT_SAT, VT, Custom); in X86TargetLowering()
301 setOperationAction(ISD::FP_TO_SINT_SAT, VT, Custom); in X86TargetLowering()
304 setOperationAction(ISD::FP_TO_UINT_SAT, MVT::i64, Custom); in X86TargetLowering()
305 setOperationAction(ISD::FP_TO_SINT_SAT, MVT::i64, Custom); in X86TargetLowering()
310 setOperationAction(ISD::ADDRSPACECAST, MVT::i32, Custom); in X86TargetLowering()
311 setOperationAction(ISD::ADDRSPACECAST, MVT::i64, Custom); in X86TargetLowering()
315 setOperationAction(ISD::BITCAST , MVT::f32 , Expand); in X86TargetLowering()
316 setOperationAction(ISD::BITCAST , MVT::i32 , Expand); in X86TargetLowering()
318 setOperationAction(ISD::BITCAST , MVT::f64 , Expand); in X86TargetLowering()
320 setOperationAction(ISD::BITCAST , MVT::i64 , Expand); in X86TargetLowering()
323 setOperationAction(ISD::BITCAST , MVT::i64 , Custom); in X86TargetLowering()
336 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
337 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
338 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
339 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
340 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
341 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
344 setOperationAction(ISD::BR_JT , MVT::Other, Expand); in X86TargetLowering()
345 setOperationAction(ISD::BRCOND , MVT::Other, Custom); in X86TargetLowering()
348 setOperationAction(ISD::BR_CC, VT, Expand); in X86TargetLowering()
349 setOperationAction(ISD::SELECT_CC, VT, Expand); in X86TargetLowering()
352 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal); in X86TargetLowering()
353 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16 , Legal); in X86TargetLowering()
354 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal); in X86TargetLowering()
355 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1 , Expand); in X86TargetLowering()
357 setOperationAction(ISD::FREM , MVT::f32 , Expand); in X86TargetLowering()
358 setOperationAction(ISD::FREM , MVT::f64 , Expand); in X86TargetLowering()
359 setOperationAction(ISD::FREM , MVT::f80 , Expand); in X86TargetLowering()
360 setOperationAction(ISD::FREM , MVT::f128 , Expand); in X86TargetLowering()
363 setOperationAction(ISD::FLT_ROUNDS_ , MVT::i32 , Custom); in X86TargetLowering()
364 setOperationAction(ISD::SET_ROUNDING , MVT::Other, Custom); in X86TargetLowering()
377 setOperationAction(ISD::CTTZ, MVT::i16, Custom); in X86TargetLowering()
378 setOperationAction(ISD::CTTZ , MVT::i32 , Custom); in X86TargetLowering()
379 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i16 , Legal); in X86TargetLowering()
380 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32 , Legal); in X86TargetLowering()
382 setOperationAction(ISD::CTTZ , MVT::i64 , Custom); in X86TargetLowering()
383 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Legal); in X86TargetLowering()
396 setOperationAction(ISD::CTLZ , VT, Custom); in X86TargetLowering()
397 setOperationAction(ISD::CTLZ_ZERO_UNDEF, VT, Custom); in X86TargetLowering()
406 setOperationAction( in X86TargetLowering()
410 setOperationAction(Op, MVT::f64, Expand); in X86TargetLowering()
411 setOperationAction(Op, MVT::f80, Expand); in X86TargetLowering()
412 setOperationAction(Op, MVT::f128, Expand); in X86TargetLowering()
421 setOperationAction(ISD::BF16_TO_FP, VT, Expand); in X86TargetLowering()
422 setOperationAction(ISD::FP_TO_BF16, VT, Custom); in X86TargetLowering()
425 setOperationAction(ISD::PARITY, MVT::i8, Custom); in X86TargetLowering()
426 setOperationAction(ISD::PARITY, MVT::i16, Custom); in X86TargetLowering()
427 setOperationAction(ISD::PARITY, MVT::i32, Custom); in X86TargetLowering()
429 setOperationAction(ISD::PARITY, MVT::i64, Custom); in X86TargetLowering()
436 setOperationAction(ISD::CTPOP , MVT::i8 , Expand); in X86TargetLowering()
437 setOperationAction(ISD::CTPOP , MVT::i16 , Expand); in X86TargetLowering()
438 setOperationAction(ISD::CTPOP , MVT::i32 , Expand); in X86TargetLowering()
440 setOperationAction(ISD::CTPOP , MVT::i64 , Expand); in X86TargetLowering()
442 setOperationAction(ISD::CTPOP , MVT::i64 , Custom); in X86TargetLowering()
445 setOperationAction(ISD::READCYCLECOUNTER , MVT::i64 , Custom); in X86TargetLowering()
448 setOperationAction(ISD::BSWAP , MVT::i16 , Expand); in X86TargetLowering()
452 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
453 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
454 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
455 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
460 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
461 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
465 setOperationAction(ISD::SELECT, MVT::x86mmx, Custom); in X86TargetLowering()
466 setOperationAction(ISD::SELECT_CC, MVT::x86mmx, Expand); in X86TargetLowering()
468 setOperationAction(ISD::EH_RETURN , MVT::Other, Custom); in X86TargetLowering()
471 setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom); in X86TargetLowering()
472 setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom); in X86TargetLowering()
473 setOperationAction(ISD::EH_SJLJ_SETUP_DISPATCH, MVT::Other, Custom); in X86TargetLowering()
481 setOperationAction(ISD::ConstantPool , VT, Custom); in X86TargetLowering()
482 setOperationAction(ISD::JumpTable , VT, Custom); in X86TargetLowering()
483 setOperationAction(ISD::GlobalAddress , VT, Custom); in X86TargetLowering()
484 setOperationAction(ISD::GlobalTLSAddress, VT, Custom); in X86TargetLowering()
485 setOperationAction(ISD::ExternalSymbol , VT, Custom); in X86TargetLowering()
486 setOperationAction(ISD::BlockAddress , VT, Custom); in X86TargetLowering()
493 setOperationAction(ISD::SHL_PARTS, VT, Custom); in X86TargetLowering()
494 setOperationAction(ISD::SRA_PARTS, VT, Custom); in X86TargetLowering()
495 setOperationAction(ISD::SRL_PARTS, VT, Custom); in X86TargetLowering()
499 setOperationAction(ISD::PREFETCH , MVT::Other, Legal); in X86TargetLowering()
501 setOperationAction(ISD::ATOMIC_FENCE , MVT::Other, Custom); in X86TargetLowering()
505 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, VT, Custom); in X86TargetLowering()
506 setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom); in X86TargetLowering()
507 setOperationAction(ISD::ATOMIC_LOAD_ADD, VT, Custom); in X86TargetLowering()
508 setOperationAction(ISD::ATOMIC_LOAD_OR, VT, Custom); in X86TargetLowering()
509 setOperationAction(ISD::ATOMIC_LOAD_XOR, VT, Custom); in X86TargetLowering()
510 setOperationAction(ISD::ATOMIC_LOAD_AND, VT, Custom); in X86TargetLowering()
511 setOperationAction(ISD::ATOMIC_STORE, VT, Custom); in X86TargetLowering()
515 setOperationAction(ISD::ATOMIC_LOAD, MVT::i64, Custom); in X86TargetLowering()
518 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i128, Custom); in X86TargetLowering()
524 setOperationAction(ISD::EH_LABEL, MVT::Other, Expand); in X86TargetLowering()
527 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom); in X86TargetLowering()
528 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i64, Custom); in X86TargetLowering()
530 setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
531 setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
533 setOperationAction(ISD::TRAP, MVT::Other, Legal); in X86TargetLowering()
534 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal); in X86TargetLowering()
536 setOperationAction(ISD::UBSANTRAP, MVT::Other, Expand); in X86TargetLowering()
538 setOperationAction(ISD::UBSANTRAP, MVT::Other, Legal); in X86TargetLowering()
541 setOperationAction(ISD::VASTART , MVT::Other, Custom); in X86TargetLowering()
542 setOperationAction(ISD::VAEND , MVT::Other, Expand); in X86TargetLowering()
544 setOperationAction(ISD::VAARG, MVT::Other, Is64Bit ? Custom : Expand); in X86TargetLowering()
545 setOperationAction(ISD::VACOPY, MVT::Other, Is64Bit ? Custom : Expand); in X86TargetLowering()
547 setOperationAction(ISD::STACKSAVE, MVT::Other, Expand); in X86TargetLowering()
548 setOperationAction(ISD::STACKRESTORE, MVT::Other, Expand); in X86TargetLowering()
550 setOperationAction(ISD::DYNAMIC_STACKALLOC, PtrVT, Custom); in X86TargetLowering()
553 setOperationAction(ISD::GC_TRANSITION_START, MVT::Other, Custom); in X86TargetLowering()
554 setOperationAction(ISD::GC_TRANSITION_END, MVT::Other, Custom); in X86TargetLowering()
556 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f64, Legal); in X86TargetLowering()
559 setOperationAction(ISD::FABS, VT, Action); in X86TargetLowering()
560 setOperationAction(ISD::FNEG, VT, Action); in X86TargetLowering()
561 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
562 setOperationAction(ISD::FREM, VT, Action); in X86TargetLowering()
563 setOperationAction(ISD::FMA, VT, Action); in X86TargetLowering()
564 setOperationAction(ISD::FMINNUM, VT, Action); in X86TargetLowering()
565 setOperationAction(ISD::FMAXNUM, VT, Action); in X86TargetLowering()
566 setOperationAction(ISD::FMINIMUM, VT, Action); in X86TargetLowering()
567 setOperationAction(ISD::FMAXIMUM, VT, Action); in X86TargetLowering()
568 setOperationAction(ISD::FSIN, VT, Action); in X86TargetLowering()
569 setOperationAction(ISD::FCOS, VT, Action); in X86TargetLowering()
570 setOperationAction(ISD::FSINCOS, VT, Action); in X86TargetLowering()
571 setOperationAction(ISD::FSQRT, VT, Action); in X86TargetLowering()
572 setOperationAction(ISD::FPOW, VT, Action); in X86TargetLowering()
573 setOperationAction(ISD::FLOG, VT, Action); in X86TargetLowering()
574 setOperationAction(ISD::FLOG2, VT, Action); in X86TargetLowering()
575 setOperationAction(ISD::FLOG10, VT, Action); in X86TargetLowering()
576 setOperationAction(ISD::FEXP, VT, Action); in X86TargetLowering()
577 setOperationAction(ISD::FEXP2, VT, Action); in X86TargetLowering()
578 setOperationAction(ISD::FCEIL, VT, Action); in X86TargetLowering()
579 setOperationAction(ISD::FFLOOR, VT, Action); in X86TargetLowering()
580 setOperationAction(ISD::FNEARBYINT, VT, Action); in X86TargetLowering()
581 setOperationAction(ISD::FRINT, VT, Action); in X86TargetLowering()
582 setOperationAction(ISD::BR_CC, VT, Action); in X86TargetLowering()
583 setOperationAction(ISD::SETCC, VT, Action); in X86TargetLowering()
584 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
585 setOperationAction(ISD::SELECT_CC, VT, Action); in X86TargetLowering()
586 setOperationAction(ISD::FROUND, VT, Action); in X86TargetLowering()
587 setOperationAction(ISD::FROUNDEVEN, VT, Action); in X86TargetLowering()
588 setOperationAction(ISD::FTRUNC, VT, Action); in X86TargetLowering()
609 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
612 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
615 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
618 setOperationAction(ISD::FADD, VT, Custom); in X86TargetLowering()
619 setOperationAction(ISD::FSUB, VT, Custom); in X86TargetLowering()
622 setOperationAction(ISD::FSIN , VT, Expand); in X86TargetLowering()
623 setOperationAction(ISD::FCOS , VT, Expand); in X86TargetLowering()
624 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
629 setOperationAction(ISD::FADD, MVT::f16, Promote); in X86TargetLowering()
630 setOperationAction(ISD::FSUB, MVT::f16, Promote); in X86TargetLowering()
631 setOperationAction(ISD::FMUL, MVT::f16, Promote); in X86TargetLowering()
632 setOperationAction(ISD::FDIV, MVT::f16, Promote); in X86TargetLowering()
633 setOperationAction(ISD::FP_ROUND, MVT::f16, LibCall); in X86TargetLowering()
634 setOperationAction(ISD::FP_EXTEND, MVT::f32, LibCall); in X86TargetLowering()
635 setOperationAction(ISD::FP_EXTEND, MVT::f64, Custom); in X86TargetLowering()
637 setOperationAction(ISD::STRICT_FADD, MVT::f16, Promote); in X86TargetLowering()
638 setOperationAction(ISD::STRICT_FSUB, MVT::f16, Promote); in X86TargetLowering()
639 setOperationAction(ISD::STRICT_FMUL, MVT::f16, Promote); in X86TargetLowering()
640 setOperationAction(ISD::STRICT_FDIV, MVT::f16, Promote); in X86TargetLowering()
641 setOperationAction(ISD::STRICT_FMA, MVT::f16, Promote); in X86TargetLowering()
642 setOperationAction(ISD::STRICT_FMINNUM, MVT::f16, Promote); in X86TargetLowering()
643 setOperationAction(ISD::STRICT_FMAXNUM, MVT::f16, Promote); in X86TargetLowering()
644 setOperationAction(ISD::STRICT_FMINIMUM, MVT::f16, Promote); in X86TargetLowering()
645 setOperationAction(ISD::STRICT_FMAXIMUM, MVT::f16, Promote); in X86TargetLowering()
646 setOperationAction(ISD::STRICT_FSQRT, MVT::f16, Promote); in X86TargetLowering()
647 setOperationAction(ISD::STRICT_FPOW, MVT::f16, Promote); in X86TargetLowering()
648 setOperationAction(ISD::STRICT_FLOG, MVT::f16, Promote); in X86TargetLowering()
649 setOperationAction(ISD::STRICT_FLOG2, MVT::f16, Promote); in X86TargetLowering()
650 setOperationAction(ISD::STRICT_FLOG10, MVT::f16, Promote); in X86TargetLowering()
651 setOperationAction(ISD::STRICT_FEXP, MVT::f16, Promote); in X86TargetLowering()
652 setOperationAction(ISD::STRICT_FEXP2, MVT::f16, Promote); in X86TargetLowering()
653 setOperationAction(ISD::STRICT_FCEIL, MVT::f16, Promote); in X86TargetLowering()
654 setOperationAction(ISD::STRICT_FFLOOR, MVT::f16, Promote); in X86TargetLowering()
655 setOperationAction(ISD::STRICT_FNEARBYINT, MVT::f16, Promote); in X86TargetLowering()
656 setOperationAction(ISD::STRICT_FRINT, MVT::f16, Promote); in X86TargetLowering()
657 setOperationAction(ISD::STRICT_FSETCC, MVT::f16, Promote); in X86TargetLowering()
658 setOperationAction(ISD::STRICT_FSETCCS, MVT::f16, Promote); in X86TargetLowering()
659 setOperationAction(ISD::STRICT_FROUND, MVT::f16, Promote); in X86TargetLowering()
660 setOperationAction(ISD::STRICT_FROUNDEVEN, MVT::f16, Promote); in X86TargetLowering()
661 setOperationAction(ISD::STRICT_FTRUNC, MVT::f16, Promote); in X86TargetLowering()
662 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f16, LibCall); in X86TargetLowering()
663 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f32, LibCall); in X86TargetLowering()
664 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f64, Custom); in X86TargetLowering()
670 setOperationAction(ISD::FGETSIGN, MVT::i64, Custom); in X86TargetLowering()
671 setOperationAction(ISD::FGETSIGN, MVT::i32, Custom); in X86TargetLowering()
682 setOperationAction(ISD::FABS , MVT::f32, Custom); in X86TargetLowering()
685 setOperationAction(ISD::FNEG , MVT::f32, Custom); in X86TargetLowering()
688 setOperationAction(ISD::UNDEF, MVT::f64, Expand); in X86TargetLowering()
692 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); in X86TargetLowering()
693 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom); in X86TargetLowering()
696 setOperationAction(ISD::FSIN , MVT::f32, Expand); in X86TargetLowering()
697 setOperationAction(ISD::FCOS , MVT::f32, Expand); in X86TargetLowering()
698 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in X86TargetLowering()
702 setOperationAction(ISD::FSIN, MVT::f64, Expand); in X86TargetLowering()
703 setOperationAction(ISD::FCOS, MVT::f64, Expand); in X86TargetLowering()
704 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in X86TargetLowering()
713 setOperationAction(ISD::UNDEF, VT, Expand); in X86TargetLowering()
714 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
717 setOperationAction(ISD::FSIN , VT, Expand); in X86TargetLowering()
718 setOperationAction(ISD::FCOS , VT, Expand); in X86TargetLowering()
719 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
748 setOperationAction(ISD::STRICT_FADD, MVT::f32, Legal); in X86TargetLowering()
749 setOperationAction(ISD::STRICT_FADD, MVT::f64, Legal); in X86TargetLowering()
750 setOperationAction(ISD::STRICT_FSUB, MVT::f32, Legal); in X86TargetLowering()
751 setOperationAction(ISD::STRICT_FSUB, MVT::f64, Legal); in X86TargetLowering()
752 setOperationAction(ISD::STRICT_FMUL, MVT::f32, Legal); in X86TargetLowering()
753 setOperationAction(ISD::STRICT_FMUL, MVT::f64, Legal); in X86TargetLowering()
754 setOperationAction(ISD::STRICT_FDIV, MVT::f32, Legal); in X86TargetLowering()
755 setOperationAction(ISD::STRICT_FDIV, MVT::f64, Legal); in X86TargetLowering()
756 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Legal); in X86TargetLowering()
757 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Legal); in X86TargetLowering()
758 setOperationAction(ISD::STRICT_FSQRT, MVT::f32, Legal); in X86TargetLowering()
759 setOperationAction(ISD::STRICT_FSQRT, MVT::f64, Legal); in X86TargetLowering()
762 setOperationAction(ISD::FMA, MVT::f64, Expand); in X86TargetLowering()
763 setOperationAction(ISD::FMA, MVT::f32, Expand); in X86TargetLowering()
768 setOperationAction(ISD::UNDEF, MVT::f80, Expand); in X86TargetLowering()
769 setOperationAction(ISD::FCOPYSIGN, MVT::f80, Expand); in X86TargetLowering()
786 setOperationAction(ISD::FSIN , MVT::f80, Expand); in X86TargetLowering()
787 setOperationAction(ISD::FCOS , MVT::f80, Expand); in X86TargetLowering()
788 setOperationAction(ISD::FSINCOS, MVT::f80, Expand); in X86TargetLowering()
790 setOperationAction(ISD::FFLOOR, MVT::f80, Expand); in X86TargetLowering()
791 setOperationAction(ISD::FCEIL, MVT::f80, Expand); in X86TargetLowering()
792 setOperationAction(ISD::FTRUNC, MVT::f80, Expand); in X86TargetLowering()
793 setOperationAction(ISD::FRINT, MVT::f80, Expand); in X86TargetLowering()
794 setOperationAction(ISD::FNEARBYINT, MVT::f80, Expand); in X86TargetLowering()
795 setOperationAction(ISD::FMA, MVT::f80, Expand); in X86TargetLowering()
796 setOperationAction(ISD::LROUND, MVT::f80, Expand); in X86TargetLowering()
797 setOperationAction(ISD::LLROUND, MVT::f80, Expand); in X86TargetLowering()
798 setOperationAction(ISD::LRINT, MVT::f80, Custom); in X86TargetLowering()
799 setOperationAction(ISD::LLRINT, MVT::f80, Custom); in X86TargetLowering()
802 setOperationAction(ISD::STRICT_FADD , MVT::f80, Legal); in X86TargetLowering()
803 setOperationAction(ISD::STRICT_FSUB , MVT::f80, Legal); in X86TargetLowering()
804 setOperationAction(ISD::STRICT_FMUL , MVT::f80, Legal); in X86TargetLowering()
805 setOperationAction(ISD::STRICT_FDIV , MVT::f80, Legal); in X86TargetLowering()
806 setOperationAction(ISD::STRICT_FSQRT , MVT::f80, Legal); in X86TargetLowering()
808 setOperationAction(ISD::FP_EXTEND, MVT::f80, Custom); in X86TargetLowering()
809 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f80, Custom); in X86TargetLowering()
811 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f80, Legal); in X86TargetLowering()
815 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f80, Legal); in X86TargetLowering()
825 setOperationAction(ISD::FADD, MVT::f128, LibCall); in X86TargetLowering()
826 setOperationAction(ISD::STRICT_FADD, MVT::f128, LibCall); in X86TargetLowering()
827 setOperationAction(ISD::FSUB, MVT::f128, LibCall); in X86TargetLowering()
828 setOperationAction(ISD::STRICT_FSUB, MVT::f128, LibCall); in X86TargetLowering()
829 setOperationAction(ISD::FDIV, MVT::f128, LibCall); in X86TargetLowering()
830 setOperationAction(ISD::STRICT_FDIV, MVT::f128, LibCall); in X86TargetLowering()
831 setOperationAction(ISD::FMUL, MVT::f128, LibCall); in X86TargetLowering()
832 setOperationAction(ISD::STRICT_FMUL, MVT::f128, LibCall); in X86TargetLowering()
833 setOperationAction(ISD::FMA, MVT::f128, LibCall); in X86TargetLowering()
834 setOperationAction(ISD::STRICT_FMA, MVT::f128, LibCall); in X86TargetLowering()
836 setOperationAction(ISD::FABS, MVT::f128, Custom); in X86TargetLowering()
837 setOperationAction(ISD::FNEG, MVT::f128, Custom); in X86TargetLowering()
838 setOperationAction(ISD::FCOPYSIGN, MVT::f128, Custom); in X86TargetLowering()
840 setOperationAction(ISD::FSIN, MVT::f128, LibCall); in X86TargetLowering()
841 setOperationAction(ISD::STRICT_FSIN, MVT::f128, LibCall); in X86TargetLowering()
842 setOperationAction(ISD::FCOS, MVT::f128, LibCall); in X86TargetLowering()
843 setOperationAction(ISD::STRICT_FCOS, MVT::f128, LibCall); in X86TargetLowering()
844 setOperationAction(ISD::FSINCOS, MVT::f128, LibCall); in X86TargetLowering()
846 setOperationAction(ISD::FSQRT, MVT::f128, LibCall); in X86TargetLowering()
847 setOperationAction(ISD::STRICT_FSQRT, MVT::f128, LibCall); in X86TargetLowering()
849 setOperationAction(ISD::FP_EXTEND, MVT::f128, Custom); in X86TargetLowering()
850 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f128, Custom); in X86TargetLowering()
855 setOperationAction(ISD::FP_ROUND, MVT::f32, Custom); in X86TargetLowering()
856 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f32, Custom); in X86TargetLowering()
859 setOperationAction(ISD::FP_ROUND, MVT::f64, Custom); in X86TargetLowering()
860 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f64, Custom); in X86TargetLowering()
863 setOperationAction(ISD::FP_ROUND, MVT::f80, Custom); in X86TargetLowering()
864 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f80, Custom); in X86TargetLowering()
867 setOperationAction(ISD::SETCC, MVT::f128, Custom); in X86TargetLowering()
878 setOperationAction(ISD::FPOW , MVT::f32 , Expand); in X86TargetLowering()
879 setOperationAction(ISD::FPOW , MVT::f64 , Expand); in X86TargetLowering()
880 setOperationAction(ISD::FPOW , MVT::f80 , Expand); in X86TargetLowering()
881 setOperationAction(ISD::FPOW , MVT::f128 , Expand); in X86TargetLowering()
883 setOperationAction(ISD::FLOG, MVT::f80, Expand); in X86TargetLowering()
884 setOperationAction(ISD::FLOG2, MVT::f80, Expand); in X86TargetLowering()
885 setOperationAction(ISD::FLOG10, MVT::f80, Expand); in X86TargetLowering()
886 setOperationAction(ISD::FEXP, MVT::f80, Expand); in X86TargetLowering()
887 setOperationAction(ISD::FEXP2, MVT::f80, Expand); in X86TargetLowering()
888 setOperationAction(ISD::FMINNUM, MVT::f80, Expand); in X86TargetLowering()
889 setOperationAction(ISD::FMAXNUM, MVT::f80, Expand); in X86TargetLowering()
895 setOperationAction(ISD::FSIN, VT, Expand); in X86TargetLowering()
896 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
897 setOperationAction(ISD::FCOS, VT, Expand); in X86TargetLowering()
898 setOperationAction(ISD::FREM, VT, Expand); in X86TargetLowering()
899 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
900 setOperationAction(ISD::FPOW, VT, Expand); in X86TargetLowering()
901 setOperationAction(ISD::FLOG, VT, Expand); in X86TargetLowering()
902 setOperationAction(ISD::FLOG2, VT, Expand); in X86TargetLowering()
903 setOperationAction(ISD::FLOG10, VT, Expand); in X86TargetLowering()
904 setOperationAction(ISD::FEXP, VT, Expand); in X86TargetLowering()
905 setOperationAction(ISD::FEXP2, VT, Expand); in X86TargetLowering()
912 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
913 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
914 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
915 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
916 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT,Expand); in X86TargetLowering()
917 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Expand); in X86TargetLowering()
918 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT,Expand); in X86TargetLowering()
919 setOperationAction(ISD::INSERT_SUBVECTOR, VT,Expand); in X86TargetLowering()
920 setOperationAction(ISD::FMA, VT, Expand); in X86TargetLowering()
921 setOperationAction(ISD::FFLOOR, VT, Expand); in X86TargetLowering()
922 setOperationAction(ISD::FCEIL, VT, Expand); in X86TargetLowering()
923 setOperationAction(ISD::FTRUNC, VT, Expand); in X86TargetLowering()
924 setOperationAction(ISD::FRINT, VT, Expand); in X86TargetLowering()
925 setOperationAction(ISD::FNEARBYINT, VT, Expand); in X86TargetLowering()
926 setOperationAction(ISD::SMUL_LOHI, VT, Expand); in X86TargetLowering()
927 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
928 setOperationAction(ISD::UMUL_LOHI, VT, Expand); in X86TargetLowering()
929 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
930 setOperationAction(ISD::SDIVREM, VT, Expand); in X86TargetLowering()
931 setOperationAction(ISD::UDIVREM, VT, Expand); in X86TargetLowering()
932 setOperationAction(ISD::CTPOP, VT, Expand); in X86TargetLowering()
933 setOperationAction(ISD::CTTZ, VT, Expand); in X86TargetLowering()
934 setOperationAction(ISD::CTLZ, VT, Expand); in X86TargetLowering()
935 setOperationAction(ISD::ROTL, VT, Expand); in X86TargetLowering()
936 setOperationAction(ISD::ROTR, VT, Expand); in X86TargetLowering()
937 setOperationAction(ISD::BSWAP, VT, Expand); in X86TargetLowering()
938 setOperationAction(ISD::SETCC, VT, Expand); in X86TargetLowering()
939 setOperationAction(ISD::FP_TO_UINT, VT, Expand); in X86TargetLowering()
940 setOperationAction(ISD::FP_TO_SINT, VT, Expand); in X86TargetLowering()
941 setOperationAction(ISD::UINT_TO_FP, VT, Expand); in X86TargetLowering()
942 setOperationAction(ISD::SINT_TO_FP, VT, Expand); in X86TargetLowering()
943 setOperationAction(ISD::SIGN_EXTEND_INREG, VT,Expand); in X86TargetLowering()
944 setOperationAction(ISD::TRUNCATE, VT, Expand); in X86TargetLowering()
945 setOperationAction(ISD::SIGN_EXTEND, VT, Expand); in X86TargetLowering()
946 setOperationAction(ISD::ZERO_EXTEND, VT, Expand); in X86TargetLowering()
947 setOperationAction(ISD::ANY_EXTEND, VT, Expand); in X86TargetLowering()
948 setOperationAction(ISD::SELECT_CC, VT, Expand); in X86TargetLowering()
981 setOperationAction(ISD::FNEG, MVT::v4f32, Custom); in X86TargetLowering()
982 setOperationAction(ISD::FABS, MVT::v4f32, Custom); in X86TargetLowering()
983 setOperationAction(ISD::FCOPYSIGN, MVT::v4f32, Custom); in X86TargetLowering()
984 setOperationAction(ISD::BUILD_VECTOR, MVT::v4f32, Custom); in X86TargetLowering()
985 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4f32, Custom); in X86TargetLowering()
986 setOperationAction(ISD::VSELECT, MVT::v4f32, Custom); in X86TargetLowering()
987 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
988 setOperationAction(ISD::SELECT, MVT::v4f32, Custom); in X86TargetLowering()
990 setOperationAction(ISD::LOAD, MVT::v2f32, Custom); in X86TargetLowering()
991 setOperationAction(ISD::STORE, MVT::v2f32, Custom); in X86TargetLowering()
993 setOperationAction(ISD::STRICT_FADD, MVT::v4f32, Legal); in X86TargetLowering()
994 setOperationAction(ISD::STRICT_FSUB, MVT::v4f32, Legal); in X86TargetLowering()
995 setOperationAction(ISD::STRICT_FMUL, MVT::v4f32, Legal); in X86TargetLowering()
996 setOperationAction(ISD::STRICT_FDIV, MVT::v4f32, Legal); in X86TargetLowering()
997 setOperationAction(ISD::STRICT_FSQRT, MVT::v4f32, Legal); in X86TargetLowering()
1019 setOperationAction(ISD::SDIV, VT, Custom); in X86TargetLowering()
1020 setOperationAction(ISD::SREM, VT, Custom); in X86TargetLowering()
1021 setOperationAction(ISD::UDIV, VT, Custom); in X86TargetLowering()
1022 setOperationAction(ISD::UREM, VT, Custom); in X86TargetLowering()
1025 setOperationAction(ISD::MUL, MVT::v2i8, Custom); in X86TargetLowering()
1026 setOperationAction(ISD::MUL, MVT::v4i8, Custom); in X86TargetLowering()
1027 setOperationAction(ISD::MUL, MVT::v8i8, Custom); in X86TargetLowering()
1029 setOperationAction(ISD::MUL, MVT::v16i8, Custom); in X86TargetLowering()
1030 setOperationAction(ISD::MUL, MVT::v4i32, Custom); in X86TargetLowering()
1031 setOperationAction(ISD::MUL, MVT::v2i64, Custom); in X86TargetLowering()
1032 setOperationAction(ISD::MULHU, MVT::v4i32, Custom); in X86TargetLowering()
1033 setOperationAction(ISD::MULHS, MVT::v4i32, Custom); in X86TargetLowering()
1034 setOperationAction(ISD::MULHU, MVT::v16i8, Custom); in X86TargetLowering()
1035 setOperationAction(ISD::MULHS, MVT::v16i8, Custom); in X86TargetLowering()
1036 setOperationAction(ISD::MULHU, MVT::v8i16, Legal); in X86TargetLowering()
1037 setOperationAction(ISD::MULHS, MVT::v8i16, Legal); in X86TargetLowering()
1038 setOperationAction(ISD::MUL, MVT::v8i16, Legal); in X86TargetLowering()
1039 setOperationAction(ISD::AVGCEILU, MVT::v16i8, Legal); in X86TargetLowering()
1040 setOperationAction(ISD::AVGCEILU, MVT::v8i16, Legal); in X86TargetLowering()
1042 setOperationAction(ISD::SMULO, MVT::v16i8, Custom); in X86TargetLowering()
1043 setOperationAction(ISD::UMULO, MVT::v16i8, Custom); in X86TargetLowering()
1044 setOperationAction(ISD::UMULO, MVT::v2i32, Custom); in X86TargetLowering()
1046 setOperationAction(ISD::FNEG, MVT::v2f64, Custom); in X86TargetLowering()
1047 setOperationAction(ISD::FABS, MVT::v2f64, Custom); in X86TargetLowering()
1048 setOperationAction(ISD::FCOPYSIGN, MVT::v2f64, Custom); in X86TargetLowering()
1051 setOperationAction(ISD::SMAX, VT, VT == MVT::v8i16 ? Legal : Custom); in X86TargetLowering()
1052 setOperationAction(ISD::SMIN, VT, VT == MVT::v8i16 ? Legal : Custom); in X86TargetLowering()
1053 setOperationAction(ISD::UMAX, VT, VT == MVT::v16i8 ? Legal : Custom); in X86TargetLowering()
1054 setOperationAction(ISD::UMIN, VT, VT == MVT::v16i8 ? Legal : Custom); in X86TargetLowering()
1057 setOperationAction(ISD::UADDSAT, MVT::v16i8, Legal); in X86TargetLowering()
1058 setOperationAction(ISD::SADDSAT, MVT::v16i8, Legal); in X86TargetLowering()
1059 setOperationAction(ISD::USUBSAT, MVT::v16i8, Legal); in X86TargetLowering()
1060 setOperationAction(ISD::SSUBSAT, MVT::v16i8, Legal); in X86TargetLowering()
1061 setOperationAction(ISD::UADDSAT, MVT::v8i16, Legal); in X86TargetLowering()
1062 setOperationAction(ISD::SADDSAT, MVT::v8i16, Legal); in X86TargetLowering()
1063 setOperationAction(ISD::USUBSAT, MVT::v8i16, Legal); in X86TargetLowering()
1064 setOperationAction(ISD::SSUBSAT, MVT::v8i16, Legal); in X86TargetLowering()
1065 setOperationAction(ISD::USUBSAT, MVT::v4i32, Custom); in X86TargetLowering()
1066 setOperationAction(ISD::USUBSAT, MVT::v2i64, Custom); in X86TargetLowering()
1068 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16i8, Custom); in X86TargetLowering()
1069 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); in X86TargetLowering()
1070 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom); in X86TargetLowering()
1071 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
1074 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1075 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
1076 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
1077 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1078 setOperationAction(ISD::ABS, VT, Custom); in X86TargetLowering()
1087 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1088 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1089 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1090 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1091 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1095 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1096 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1097 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1102 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1103 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1106 setOperationAction(ISD::FADD, MVT::v8f16, Expand); in X86TargetLowering()
1107 setOperationAction(ISD::FSUB, MVT::v8f16, Expand); in X86TargetLowering()
1108 setOperationAction(ISD::FMUL, MVT::v8f16, Expand); in X86TargetLowering()
1109 setOperationAction(ISD::FDIV, MVT::v8f16, Expand); in X86TargetLowering()
1112 setOperationAction(ISD::SELECT, MVT::v2f64, Custom); in X86TargetLowering()
1113 setOperationAction(ISD::SELECT, MVT::v2i64, Custom); in X86TargetLowering()
1114 setOperationAction(ISD::SELECT, MVT::v4i32, Custom); in X86TargetLowering()
1115 setOperationAction(ISD::SELECT, MVT::v8i16, Custom); in X86TargetLowering()
1116 setOperationAction(ISD::SELECT, MVT::v8f16, Custom); in X86TargetLowering()
1117 setOperationAction(ISD::SELECT, MVT::v16i8, Custom); in X86TargetLowering()
1119 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Custom); in X86TargetLowering()
1120 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Custom); in X86TargetLowering()
1121 setOperationAction(ISD::FP_TO_SINT, MVT::v2i32, Custom); in X86TargetLowering()
1122 setOperationAction(ISD::FP_TO_UINT, MVT::v2i32, Custom); in X86TargetLowering()
1123 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4i32, Custom); in X86TargetLowering()
1124 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2i32, Custom); in X86TargetLowering()
1128 setOperationAction(ISD::FP_TO_SINT, VT, Custom); in X86TargetLowering()
1129 setOperationAction(ISD::FP_TO_UINT, VT, Custom); in X86TargetLowering()
1130 setOperationAction(ISD::STRICT_FP_TO_SINT, VT, Custom); in X86TargetLowering()
1131 setOperationAction(ISD::STRICT_FP_TO_UINT, VT, Custom); in X86TargetLowering()
1134 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1135 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1136 setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1137 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1139 setOperationAction(ISD::UINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1140 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
1142 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1143 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
1146 setOperationAction(ISD::SINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1147 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1148 setOperationAction(ISD::UINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1149 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
1151 setOperationAction(ISD::FP_EXTEND, MVT::v2f32, Custom); in X86TargetLowering()
1152 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v2f32, Custom); in X86TargetLowering()
1153 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Custom); in X86TargetLowering()
1154 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v2f32, Custom); in X86TargetLowering()
1159 setOperationAction(ISD::LOAD, MVT::v2i32, Custom); in X86TargetLowering()
1160 setOperationAction(ISD::LOAD, MVT::v4i16, Custom); in X86TargetLowering()
1161 setOperationAction(ISD::LOAD, MVT::v8i8, Custom); in X86TargetLowering()
1162 setOperationAction(ISD::STORE, MVT::v2i32, Custom); in X86TargetLowering()
1163 setOperationAction(ISD::STORE, MVT::v4i16, Custom); in X86TargetLowering()
1164 setOperationAction(ISD::STORE, MVT::v8i8, Custom); in X86TargetLowering()
1167 setOperationAction(ISD::STORE, MVT::v2i16, Custom); in X86TargetLowering()
1168 setOperationAction(ISD::STORE, MVT::v4i8, Custom); in X86TargetLowering()
1170 setOperationAction(ISD::BITCAST, MVT::v2i32, Custom); in X86TargetLowering()
1171 setOperationAction(ISD::BITCAST, MVT::v4i16, Custom); in X86TargetLowering()
1172 setOperationAction(ISD::BITCAST, MVT::v8i8, Custom); in X86TargetLowering()
1174 setOperationAction(ISD::BITCAST, MVT::v16i1, Custom); in X86TargetLowering()
1176 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v2i64, Custom); in X86TargetLowering()
1177 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v4i32, Custom); in X86TargetLowering()
1178 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v8i16, Custom); in X86TargetLowering()
1180 setOperationAction(ISD::SIGN_EXTEND, MVT::v4i64, Custom); in X86TargetLowering()
1182 setOperationAction(ISD::TRUNCATE, MVT::v2i8, Custom); in X86TargetLowering()
1183 setOperationAction(ISD::TRUNCATE, MVT::v2i16, Custom); in X86TargetLowering()
1184 setOperationAction(ISD::TRUNCATE, MVT::v2i32, Custom); in X86TargetLowering()
1185 setOperationAction(ISD::TRUNCATE, MVT::v4i8, Custom); in X86TargetLowering()
1186 setOperationAction(ISD::TRUNCATE, MVT::v4i16, Custom); in X86TargetLowering()
1187 setOperationAction(ISD::TRUNCATE, MVT::v8i8, Custom); in X86TargetLowering()
1192 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1193 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1194 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1196 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1197 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1198 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
1199 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
1202 setOperationAction(ISD::STRICT_FSQRT, MVT::v2f64, Legal); in X86TargetLowering()
1203 setOperationAction(ISD::STRICT_FADD, MVT::v2f64, Legal); in X86TargetLowering()
1204 setOperationAction(ISD::STRICT_FSUB, MVT::v2f64, Legal); in X86TargetLowering()
1205 setOperationAction(ISD::STRICT_FMUL, MVT::v2f64, Legal); in X86TargetLowering()
1206 setOperationAction(ISD::STRICT_FDIV, MVT::v2f64, Legal); in X86TargetLowering()
1210 setOperationAction(ISD::ABS, MVT::v16i8, Legal); in X86TargetLowering()
1211 setOperationAction(ISD::ABS, MVT::v8i16, Legal); in X86TargetLowering()
1212 setOperationAction(ISD::ABS, MVT::v4i32, Legal); in X86TargetLowering()
1213 setOperationAction(ISD::BITREVERSE, MVT::v16i8, Custom); in X86TargetLowering()
1214 setOperationAction(ISD::CTLZ, MVT::v16i8, Custom); in X86TargetLowering()
1215 setOperationAction(ISD::CTLZ, MVT::v8i16, Custom); in X86TargetLowering()
1216 setOperationAction(ISD::CTLZ, MVT::v4i32, Custom); in X86TargetLowering()
1217 setOperationAction(ISD::CTLZ, MVT::v2i64, Custom); in X86TargetLowering()
1220 setOperationAction(ISD::ADD, MVT::i16, Custom); in X86TargetLowering()
1221 setOperationAction(ISD::ADD, MVT::i32, Custom); in X86TargetLowering()
1222 setOperationAction(ISD::SUB, MVT::i16, Custom); in X86TargetLowering()
1223 setOperationAction(ISD::SUB, MVT::i32, Custom); in X86TargetLowering()
1228 setOperationAction(ISD::FFLOOR, RoundedTy, Legal); in X86TargetLowering()
1229 setOperationAction(ISD::STRICT_FFLOOR, RoundedTy, Legal); in X86TargetLowering()
1230 setOperationAction(ISD::FCEIL, RoundedTy, Legal); in X86TargetLowering()
1231 setOperationAction(ISD::STRICT_FCEIL, RoundedTy, Legal); in X86TargetLowering()
1232 setOperationAction(ISD::FTRUNC, RoundedTy, Legal); in X86TargetLowering()
1233 setOperationAction(ISD::STRICT_FTRUNC, RoundedTy, Legal); in X86TargetLowering()
1234 setOperationAction(ISD::FRINT, RoundedTy, Legal); in X86TargetLowering()
1235 setOperationAction(ISD::STRICT_FRINT, RoundedTy, Legal); in X86TargetLowering()
1236 setOperationAction(ISD::FNEARBYINT, RoundedTy, Legal); in X86TargetLowering()
1237 setOperationAction(ISD::STRICT_FNEARBYINT, RoundedTy, Legal); in X86TargetLowering()
1238 setOperationAction(ISD::FROUNDEVEN, RoundedTy, Legal); in X86TargetLowering()
1239 setOperationAction(ISD::STRICT_FROUNDEVEN, RoundedTy, Legal); in X86TargetLowering()
1241 setOperationAction(ISD::FROUND, RoundedTy, Custom); in X86TargetLowering()
1244 setOperationAction(ISD::SMAX, MVT::v16i8, Legal); in X86TargetLowering()
1245 setOperationAction(ISD::SMAX, MVT::v4i32, Legal); in X86TargetLowering()
1246 setOperationAction(ISD::UMAX, MVT::v8i16, Legal); in X86TargetLowering()
1247 setOperationAction(ISD::UMAX, MVT::v4i32, Legal); in X86TargetLowering()
1248 setOperationAction(ISD::SMIN, MVT::v16i8, Legal); in X86TargetLowering()
1249 setOperationAction(ISD::SMIN, MVT::v4i32, Legal); in X86TargetLowering()
1250 setOperationAction(ISD::UMIN, MVT::v8i16, Legal); in X86TargetLowering()
1251 setOperationAction(ISD::UMIN, MVT::v4i32, Legal); in X86TargetLowering()
1253 setOperationAction(ISD::UADDSAT, MVT::v4i32, Custom); in X86TargetLowering()
1254 setOperationAction(ISD::SADDSAT, MVT::v2i64, Custom); in X86TargetLowering()
1255 setOperationAction(ISD::SSUBSAT, MVT::v2i64, Custom); in X86TargetLowering()
1258 setOperationAction(ISD::MUL, MVT::v4i32, Legal); in X86TargetLowering()
1259 setOperationAction(ISD::SMULO, MVT::v2i32, Custom); in X86TargetLowering()
1263 setOperationAction(ISD::VSELECT, MVT::v16i8, Legal); in X86TargetLowering()
1268 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Legal); in X86TargetLowering()
1269 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Legal); in X86TargetLowering()
1285 setOperationAction(ISD::UINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1286 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1289 setOperationAction(ISD::SINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1290 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4i64, Custom); in X86TargetLowering()
1295 setOperationAction(ISD::UADDSAT, MVT::v2i64, Custom); in X86TargetLowering()
1301 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1302 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1307 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1311 setOperationAction(ISD::BITREVERSE, VT, Custom); in X86TargetLowering()
1333 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
1334 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
1335 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
1336 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
1337 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
1338 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
1339 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
1340 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
1341 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
1342 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
1343 setOperationAction(ISD::FROUNDEVEN, VT, Legal); in X86TargetLowering()
1344 setOperationAction(ISD::STRICT_FROUNDEVEN, VT, Legal); in X86TargetLowering()
1346 setOperationAction(ISD::FROUND, VT, Custom); in X86TargetLowering()
1348 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
1349 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
1350 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
1359 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Custom); in X86TargetLowering()
1360 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Custom); in X86TargetLowering()
1361 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v8i32, Custom); in X86TargetLowering()
1363 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1364 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1365 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Expand); in X86TargetLowering()
1366 setOperationAction(ISD::FP_ROUND, MVT::v8f16, Expand); in X86TargetLowering()
1367 setOperationAction(ISD::FP_EXTEND, MVT::v4f64, Custom); in X86TargetLowering()
1368 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f64, Custom); in X86TargetLowering()
1370 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v4f32, Legal); in X86TargetLowering()
1371 setOperationAction(ISD::STRICT_FADD, MVT::v8f32, Legal); in X86TargetLowering()
1372 setOperationAction(ISD::STRICT_FADD, MVT::v4f64, Legal); in X86TargetLowering()
1373 setOperationAction(ISD::STRICT_FSUB, MVT::v8f32, Legal); in X86TargetLowering()
1374 setOperationAction(ISD::STRICT_FSUB, MVT::v4f64, Legal); in X86TargetLowering()
1375 setOperationAction(ISD::STRICT_FMUL, MVT::v8f32, Legal); in X86TargetLowering()
1376 setOperationAction(ISD::STRICT_FMUL, MVT::v4f64, Legal); in X86TargetLowering()
1377 setOperationAction(ISD::STRICT_FDIV, MVT::v8f32, Legal); in X86TargetLowering()
1378 setOperationAction(ISD::STRICT_FDIV, MVT::v4f64, Legal); in X86TargetLowering()
1379 setOperationAction(ISD::STRICT_FSQRT, MVT::v8f32, Legal); in X86TargetLowering()
1380 setOperationAction(ISD::STRICT_FSQRT, MVT::v4f64, Legal); in X86TargetLowering()
1383 setOperationAction(ISD::BITCAST, MVT::v32i1, Custom); in X86TargetLowering()
1388 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1389 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1390 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1392 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1393 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1394 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
1395 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
1399 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1400 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1401 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1402 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1404 setOperationAction(ISD::SELECT, MVT::v4f64, Custom); in X86TargetLowering()
1405 setOperationAction(ISD::SELECT, MVT::v4i64, Custom); in X86TargetLowering()
1406 setOperationAction(ISD::SELECT, MVT::v8i32, Custom); in X86TargetLowering()
1407 setOperationAction(ISD::SELECT, MVT::v16i16, Custom); in X86TargetLowering()
1408 setOperationAction(ISD::SELECT, MVT::v16f16, Custom); in X86TargetLowering()
1409 setOperationAction(ISD::SELECT, MVT::v32i8, Custom); in X86TargetLowering()
1410 setOperationAction(ISD::SELECT, MVT::v8f32, Custom); in X86TargetLowering()
1413 setOperationAction(ISD::SIGN_EXTEND, VT, Custom); in X86TargetLowering()
1414 setOperationAction(ISD::ZERO_EXTEND, VT, Custom); in X86TargetLowering()
1415 setOperationAction(ISD::ANY_EXTEND, VT, Custom); in X86TargetLowering()
1418 setOperationAction(ISD::TRUNCATE, MVT::v16i8, Custom); in X86TargetLowering()
1419 setOperationAction(ISD::TRUNCATE, MVT::v8i16, Custom); in X86TargetLowering()
1420 setOperationAction(ISD::TRUNCATE, MVT::v4i32, Custom); in X86TargetLowering()
1421 setOperationAction(ISD::BITREVERSE, MVT::v32i8, Custom); in X86TargetLowering()
1424 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1425 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
1426 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
1427 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1428 setOperationAction(ISD::CTLZ, VT, Custom); in X86TargetLowering()
1439 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
1440 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
1445 setOperationAction(ISD::ADD, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1446 setOperationAction(ISD::SUB, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1449 setOperationAction(ISD::MUL, MVT::v4i64, Custom); in X86TargetLowering()
1450 setOperationAction(ISD::MUL, MVT::v8i32, HasInt256 ? Legal : Custom); in X86TargetLowering()
1451 setOperationAction(ISD::MUL, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1452 setOperationAction(ISD::MUL, MVT::v32i8, Custom); in X86TargetLowering()
1454 setOperationAction(ISD::MULHU, MVT::v8i32, Custom); in X86TargetLowering()
1455 setOperationAction(ISD::MULHS, MVT::v8i32, Custom); in X86TargetLowering()
1456 setOperationAction(ISD::MULHU, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1457 setOperationAction(ISD::MULHS, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1458 setOperationAction(ISD::MULHU, MVT::v32i8, Custom); in X86TargetLowering()
1459 setOperationAction(ISD::MULHS, MVT::v32i8, Custom); in X86TargetLowering()
1460 setOperationAction(ISD::AVGCEILU, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1461 setOperationAction(ISD::AVGCEILU, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1463 setOperationAction(ISD::SMULO, MVT::v32i8, Custom); in X86TargetLowering()
1464 setOperationAction(ISD::UMULO, MVT::v32i8, Custom); in X86TargetLowering()
1466 setOperationAction(ISD::ABS, MVT::v4i64, Custom); in X86TargetLowering()
1467 setOperationAction(ISD::SMAX, MVT::v4i64, Custom); in X86TargetLowering()
1468 setOperationAction(ISD::UMAX, MVT::v4i64, Custom); in X86TargetLowering()
1469 setOperationAction(ISD::SMIN, MVT::v4i64, Custom); in X86TargetLowering()
1470 setOperationAction(ISD::UMIN, MVT::v4i64, Custom); in X86TargetLowering()
1472 setOperationAction(ISD::UADDSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1473 setOperationAction(ISD::SADDSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1474 setOperationAction(ISD::USUBSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1475 setOperationAction(ISD::SSUBSAT, MVT::v32i8, HasInt256 ? Legal : Custom); in X86TargetLowering()
1476 setOperationAction(ISD::UADDSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1477 setOperationAction(ISD::SADDSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1478 setOperationAction(ISD::USUBSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1479 setOperationAction(ISD::SSUBSAT, MVT::v16i16, HasInt256 ? Legal : Custom); in X86TargetLowering()
1480 setOperationAction(ISD::UADDSAT, MVT::v8i32, Custom); in X86TargetLowering()
1481 setOperationAction(ISD::USUBSAT, MVT::v8i32, Custom); in X86TargetLowering()
1482 setOperationAction(ISD::UADDSAT, MVT::v4i64, Custom); in X86TargetLowering()
1483 setOperationAction(ISD::USUBSAT, MVT::v4i64, Custom); in X86TargetLowering()
1486 setOperationAction(ISD::ABS, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1487 setOperationAction(ISD::SMAX, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1488 setOperationAction(ISD::UMAX, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1489 setOperationAction(ISD::SMIN, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1490 setOperationAction(ISD::UMIN, VT, HasInt256 ? Legal : Custom); in X86TargetLowering()
1494 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1495 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1501 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1502 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1517 setOperationAction(ISD::MLOAD, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
1518 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1525 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1531 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1532 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1533 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1534 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1535 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1536 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1537 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1538 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1539 setOperationAction(ISD::STORE, VT, Custom); in X86TargetLowering()
1542 setOperationAction(ISD::FADD, MVT::v16f16, Expand); in X86TargetLowering()
1543 setOperationAction(ISD::FSUB, MVT::v16f16, Expand); in X86TargetLowering()
1544 setOperationAction(ISD::FMUL, MVT::v16f16, Expand); in X86TargetLowering()
1545 setOperationAction(ISD::FDIV, MVT::v16f16, Expand); in X86TargetLowering()
1548 setOperationAction(ISD::VSELECT, MVT::v32i8, Legal); in X86TargetLowering()
1551 setOperationAction(ISD::MGATHER, MVT::v2f32, Custom); in X86TargetLowering()
1552 setOperationAction(ISD::MGATHER, MVT::v2i32, Custom); in X86TargetLowering()
1556 setOperationAction(ISD::MGATHER, VT, Custom); in X86TargetLowering()
1563 setOperationAction(ISD::FP_ROUND, VT, Custom); in X86TargetLowering()
1564 setOperationAction(ISD::STRICT_FP_ROUND, VT, Custom); in X86TargetLowering()
1567 setOperationAction(ISD::FP_EXTEND, VT, Custom); in X86TargetLowering()
1568 setOperationAction(ISD::STRICT_FP_EXTEND, VT, Custom); in X86TargetLowering()
1575 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
1576 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
1589 setOperationAction(ISD::SELECT, MVT::v1i1, Custom); in X86TargetLowering()
1590 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v1i1, Custom); in X86TargetLowering()
1591 setOperationAction(ISD::BUILD_VECTOR, MVT::v1i1, Custom); in X86TargetLowering()
1601 setOperationAction(ISD::FP_TO_SINT, MVT::v2i1, Custom); in X86TargetLowering()
1602 setOperationAction(ISD::FP_TO_UINT, MVT::v2i1, Custom); in X86TargetLowering()
1603 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2i1, Custom); in X86TargetLowering()
1604 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2i1, Custom); in X86TargetLowering()
1608 setOperationAction(ISD::LOAD, MVT::v1i1, Custom); in X86TargetLowering()
1609 setOperationAction(ISD::LOAD, MVT::v2i1, Custom); in X86TargetLowering()
1610 setOperationAction(ISD::LOAD, MVT::v4i1, Custom); in X86TargetLowering()
1611 setOperationAction(ISD::LOAD, MVT::v8i1, Custom); in X86TargetLowering()
1613 setOperationAction(ISD::STORE, MVT::v1i1, Custom); in X86TargetLowering()
1614 setOperationAction(ISD::STORE, MVT::v2i1, Custom); in X86TargetLowering()
1615 setOperationAction(ISD::STORE, MVT::v4i1, Custom); in X86TargetLowering()
1616 setOperationAction(ISD::STORE, MVT::v8i1, Custom); in X86TargetLowering()
1621 setOperationAction(ISD::SIGN_EXTEND, VT, Custom); in X86TargetLowering()
1622 setOperationAction(ISD::ZERO_EXTEND, VT, Custom); in X86TargetLowering()
1623 setOperationAction(ISD::ANY_EXTEND, VT, Custom); in X86TargetLowering()
1627 setOperationAction(ISD::VSELECT, VT, Expand); in X86TargetLowering()
1630 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1631 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
1632 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
1633 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
1634 setOperationAction(ISD::TRUNCATE, VT, Custom); in X86TargetLowering()
1636 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1637 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1638 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1639 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1640 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1641 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1645 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1673 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
1674 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
1675 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
1676 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
1677 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
1686 setOperationAction(ISD::FP_TO_SINT, MVT::v16i32, Custom); in X86TargetLowering()
1687 setOperationAction(ISD::FP_TO_UINT, MVT::v16i32, Custom); in X86TargetLowering()
1688 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v16i32, Custom); in X86TargetLowering()
1689 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v16i32, Custom); in X86TargetLowering()
1690 setOperationAction(ISD::SINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1691 setOperationAction(ISD::UINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1692 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1693 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v16i32, Custom); in X86TargetLowering()
1694 setOperationAction(ISD::FP_EXTEND, MVT::v8f64, Custom); in X86TargetLowering()
1695 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f64, Custom); in X86TargetLowering()
1697 setOperationAction(ISD::STRICT_FADD, MVT::v16f32, Legal); in X86TargetLowering()
1698 setOperationAction(ISD::STRICT_FADD, MVT::v8f64, Legal); in X86TargetLowering()
1699 setOperationAction(ISD::STRICT_FSUB, MVT::v16f32, Legal); in X86TargetLowering()
1700 setOperationAction(ISD::STRICT_FSUB, MVT::v8f64, Legal); in X86TargetLowering()
1701 setOperationAction(ISD::STRICT_FMUL, MVT::v16f32, Legal); in X86TargetLowering()
1702 setOperationAction(ISD::STRICT_FMUL, MVT::v8f64, Legal); in X86TargetLowering()
1703 setOperationAction(ISD::STRICT_FDIV, MVT::v16f32, Legal); in X86TargetLowering()
1704 setOperationAction(ISD::STRICT_FDIV, MVT::v8f64, Legal); in X86TargetLowering()
1705 setOperationAction(ISD::STRICT_FSQRT, MVT::v16f32, Legal); in X86TargetLowering()
1706 setOperationAction(ISD::STRICT_FSQRT, MVT::v8f64, Legal); in X86TargetLowering()
1707 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v8f32, Legal); in X86TargetLowering()
1723 setOperationAction(ISD::MLOAD, VT, Custom); in X86TargetLowering()
1724 setOperationAction(ISD::MSTORE, VT, Custom); in X86TargetLowering()
1728 setOperationAction(ISD::TRUNCATE, MVT::v8i32, Legal); in X86TargetLowering()
1729 setOperationAction(ISD::TRUNCATE, MVT::v16i16, Legal); in X86TargetLowering()
1730 setOperationAction(ISD::TRUNCATE, MVT::v32i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1731 setOperationAction(ISD::TRUNCATE, MVT::v16i64, Custom); in X86TargetLowering()
1732 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1733 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1734 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1735 setOperationAction(ISD::ANY_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1736 setOperationAction(ISD::ANY_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1737 setOperationAction(ISD::ANY_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1738 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1739 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1740 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1744 setOperationAction(ISD::SIGN_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1745 setOperationAction(ISD::ZERO_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1746 setOperationAction(ISD::ANY_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1750 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
1751 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
1752 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
1753 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
1754 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
1755 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
1756 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
1757 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
1758 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
1759 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
1760 setOperationAction(ISD::FROUNDEVEN, VT, Legal); in X86TargetLowering()
1761 setOperationAction(ISD::STRICT_FROUNDEVEN, VT, Legal); in X86TargetLowering()
1763 setOperationAction(ISD::FROUND, VT, Custom); in X86TargetLowering()
1767 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1768 setOperationAction(ISD::ZERO_EXTEND_VECTOR_INREG, VT, Custom); in X86TargetLowering()
1771 setOperationAction(ISD::ADD, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1772 setOperationAction(ISD::SUB, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1773 setOperationAction(ISD::ADD, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1774 setOperationAction(ISD::SUB, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1776 setOperationAction(ISD::MUL, MVT::v8i64, Custom); in X86TargetLowering()
1777 setOperationAction(ISD::MUL, MVT::v16i32, Legal); in X86TargetLowering()
1778 setOperationAction(ISD::MUL, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1779 setOperationAction(ISD::MUL, MVT::v64i8, Custom); in X86TargetLowering()
1781 setOperationAction(ISD::MULHU, MVT::v16i32, Custom); in X86TargetLowering()
1782 setOperationAction(ISD::MULHS, MVT::v16i32, Custom); in X86TargetLowering()
1783 setOperationAction(ISD::MULHS, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1784 setOperationAction(ISD::MULHU, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1785 setOperationAction(ISD::MULHS, MVT::v64i8, Custom); in X86TargetLowering()
1786 setOperationAction(ISD::MULHU, MVT::v64i8, Custom); in X86TargetLowering()
1787 setOperationAction(ISD::AVGCEILU, MVT::v32i16, HasBWI ? Legal : Custom); in X86TargetLowering()
1788 setOperationAction(ISD::AVGCEILU, MVT::v64i8, HasBWI ? Legal : Custom); in X86TargetLowering()
1790 setOperationAction(ISD::SMULO, MVT::v64i8, Custom); in X86TargetLowering()
1791 setOperationAction(ISD::UMULO, MVT::v64i8, Custom); in X86TargetLowering()
1793 setOperationAction(ISD::BITREVERSE, MVT::v64i8, Custom); in X86TargetLowering()
1796 setOperationAction(ISD::SRL, VT, Custom); in X86TargetLowering()
1797 setOperationAction(ISD::SHL, VT, Custom); in X86TargetLowering()
1798 setOperationAction(ISD::SRA, VT, Custom); in X86TargetLowering()
1799 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1800 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1801 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1809 setOperationAction(ISD::SMAX, VT, Legal); in X86TargetLowering()
1810 setOperationAction(ISD::UMAX, VT, Legal); in X86TargetLowering()
1811 setOperationAction(ISD::SMIN, VT, Legal); in X86TargetLowering()
1812 setOperationAction(ISD::UMIN, VT, Legal); in X86TargetLowering()
1813 setOperationAction(ISD::ABS, VT, Legal); in X86TargetLowering()
1814 setOperationAction(ISD::CTPOP, VT, Custom); in X86TargetLowering()
1815 setOperationAction(ISD::STRICT_FSETCC, VT, Custom); in X86TargetLowering()
1816 setOperationAction(ISD::STRICT_FSETCCS, VT, Custom); in X86TargetLowering()
1820 setOperationAction(ISD::ABS, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1821 setOperationAction(ISD::CTPOP, VT, Subtarget.hasBITALG() ? Legal : Custom); in X86TargetLowering()
1822 setOperationAction(ISD::CTLZ, VT, Custom); in X86TargetLowering()
1823 setOperationAction(ISD::SMAX, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1824 setOperationAction(ISD::UMAX, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1825 setOperationAction(ISD::SMIN, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1826 setOperationAction(ISD::UMIN, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1827 setOperationAction(ISD::UADDSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1828 setOperationAction(ISD::SADDSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1829 setOperationAction(ISD::USUBSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1830 setOperationAction(ISD::SSUBSAT, VT, HasBWI ? Legal : Custom); in X86TargetLowering()
1833 setOperationAction(ISD::FSHL, MVT::v64i8, Custom); in X86TargetLowering()
1834 setOperationAction(ISD::FSHR, MVT::v64i8, Custom); in X86TargetLowering()
1835 setOperationAction(ISD::FSHL, MVT::v32i16, Custom); in X86TargetLowering()
1836 setOperationAction(ISD::FSHR, MVT::v32i16, Custom); in X86TargetLowering()
1837 setOperationAction(ISD::FSHL, MVT::v16i32, Custom); in X86TargetLowering()
1838 setOperationAction(ISD::FSHR, MVT::v16i32, Custom); in X86TargetLowering()
1844 setOperationAction(Opc, MVT::v8i64, Custom); in X86TargetLowering()
1845 setOperationAction(ISD::MUL, MVT::v8i64, Legal); in X86TargetLowering()
1851 setOperationAction(ISD::CTLZ, VT, Legal); in X86TargetLowering()
1857 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
1865 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1869 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1870 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1871 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
1872 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1873 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1874 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1875 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1876 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1877 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1880 setOperationAction(ISD::FP_ROUND, MVT::v16f16, Custom); in X86TargetLowering()
1881 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v16f16, Custom); in X86TargetLowering()
1882 setOperationAction(ISD::FP_EXTEND, MVT::v16f32, Legal); in X86TargetLowering()
1883 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v16f32, Legal); in X86TargetLowering()
1890 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
1891 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1892 setOperationAction(ISD::MGATHER, VT, Custom); in X86TargetLowering()
1893 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
1897 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
1898 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1901 setOperationAction(ISD::STORE, MVT::v32i16, Custom); in X86TargetLowering()
1902 setOperationAction(ISD::STORE, MVT::v64i8, Custom); in X86TargetLowering()
1909 setOperationAction(ISD::FSHL, VT, Custom); in X86TargetLowering()
1910 setOperationAction(ISD::FSHR, VT, Custom); in X86TargetLowering()
1913 setOperationAction(ISD::ROTL, MVT::v32i16, Custom); in X86TargetLowering()
1914 setOperationAction(ISD::ROTR, MVT::v8i16, Custom); in X86TargetLowering()
1915 setOperationAction(ISD::ROTR, MVT::v16i16, Custom); in X86TargetLowering()
1916 setOperationAction(ISD::ROTR, MVT::v32i16, Custom); in X86TargetLowering()
1927 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v8i32, Custom); in X86TargetLowering()
1928 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4i32, Custom); in X86TargetLowering()
1929 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2i32, Custom); in X86TargetLowering()
1938 setOperationAction(ISD::FP_TO_SINT, MVT::v2f32, Custom); in X86TargetLowering()
1939 setOperationAction(ISD::FP_TO_UINT, MVT::v2f32, Custom); in X86TargetLowering()
1940 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2f32, Custom); in X86TargetLowering()
1941 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2f32, Custom); in X86TargetLowering()
1945 setOperationAction(ISD::SMAX, VT, Legal); in X86TargetLowering()
1946 setOperationAction(ISD::UMAX, VT, Legal); in X86TargetLowering()
1947 setOperationAction(ISD::SMIN, VT, Legal); in X86TargetLowering()
1948 setOperationAction(ISD::UMIN, VT, Legal); in X86TargetLowering()
1949 setOperationAction(ISD::ABS, VT, Legal); in X86TargetLowering()
1953 setOperationAction(ISD::ROTL, VT, Custom); in X86TargetLowering()
1954 setOperationAction(ISD::ROTR, VT, Custom); in X86TargetLowering()
1958 setOperationAction(ISD::MSCATTER, MVT::v2f32, Custom); in X86TargetLowering()
1959 setOperationAction(ISD::MSCATTER, MVT::v2i32, Custom); in X86TargetLowering()
1963 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
1969 setOperationAction(Opc, MVT::v2i64, Custom); in X86TargetLowering()
1970 setOperationAction(Opc, MVT::v4i64, Custom); in X86TargetLowering()
1972 setOperationAction(ISD::MUL, MVT::v2i64, Legal); in X86TargetLowering()
1973 setOperationAction(ISD::MUL, MVT::v4i64, Legal); in X86TargetLowering()
1978 setOperationAction(ISD::CTLZ, VT, Legal); in X86TargetLowering()
1984 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
1996 setOperationAction(ISD::VSELECT, VT, Expand); in X86TargetLowering()
1997 setOperationAction(ISD::TRUNCATE, VT, Custom); in X86TargetLowering()
1998 setOperationAction(ISD::SETCC, VT, Custom); in X86TargetLowering()
1999 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2000 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2001 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
2002 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2003 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2004 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
2005 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
2009 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
2012 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2013 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2014 setOperationAction(ISD::ANY_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
2017 setOperationAction(ISD::MLOAD, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
2018 setOperationAction(ISD::MSTORE, VT, Subtarget.hasVLX() ? Legal : Custom); in X86TargetLowering()
2027 setOperationAction(ISD::CTPOP, VT, Legal); in X86TargetLowering()
2033 setOperationAction(ISD::FADD, VT, Legal); in X86TargetLowering()
2034 setOperationAction(ISD::STRICT_FADD, VT, Legal); in X86TargetLowering()
2035 setOperationAction(ISD::FSUB, VT, Legal); in X86TargetLowering()
2036 setOperationAction(ISD::STRICT_FSUB, VT, Legal); in X86TargetLowering()
2037 setOperationAction(ISD::FMUL, VT, Legal); in X86TargetLowering()
2038 setOperationAction(ISD::STRICT_FMUL, VT, Legal); in X86TargetLowering()
2039 setOperationAction(ISD::FDIV, VT, Legal); in X86TargetLowering()
2040 setOperationAction(ISD::STRICT_FDIV, VT, Legal); in X86TargetLowering()
2041 setOperationAction(ISD::FSQRT, VT, Legal); in X86TargetLowering()
2042 setOperationAction(ISD::STRICT_FSQRT, VT, Legal); in X86TargetLowering()
2044 setOperationAction(ISD::FFLOOR, VT, Legal); in X86TargetLowering()
2045 setOperationAction(ISD::STRICT_FFLOOR, VT, Legal); in X86TargetLowering()
2046 setOperationAction(ISD::FCEIL, VT, Legal); in X86TargetLowering()
2047 setOperationAction(ISD::STRICT_FCEIL, VT, Legal); in X86TargetLowering()
2048 setOperationAction(ISD::FTRUNC, VT, Legal); in X86TargetLowering()
2049 setOperationAction(ISD::STRICT_FTRUNC, VT, Legal); in X86TargetLowering()
2050 setOperationAction(ISD::FRINT, VT, Legal); in X86TargetLowering()
2051 setOperationAction(ISD::STRICT_FRINT, VT, Legal); in X86TargetLowering()
2052 setOperationAction(ISD::FNEARBYINT, VT, Legal); in X86TargetLowering()
2053 setOperationAction(ISD::STRICT_FNEARBYINT, VT, Legal); in X86TargetLowering()
2055 setOperationAction(ISD::LOAD, VT, Legal); in X86TargetLowering()
2056 setOperationAction(ISD::STORE, VT, Legal); in X86TargetLowering()
2058 setOperationAction(ISD::FMA, VT, Legal); in X86TargetLowering()
2059 setOperationAction(ISD::STRICT_FMA, VT, Legal); in X86TargetLowering()
2060 setOperationAction(ISD::VSELECT, VT, Legal); in X86TargetLowering()
2061 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
2062 setOperationAction(ISD::SELECT, VT, Custom); in X86TargetLowering()
2064 setOperationAction(ISD::FNEG, VT, Custom); in X86TargetLowering()
2065 setOperationAction(ISD::FABS, VT, Custom); in X86TargetLowering()
2066 setOperationAction(ISD::FCOPYSIGN, VT, Custom); in X86TargetLowering()
2067 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
2068 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
2073 setOperationAction(ISD::FREM, MVT::f16, Promote); in X86TargetLowering()
2074 setOperationAction(ISD::STRICT_FREM, MVT::f16, Promote); in X86TargetLowering()
2075 setOperationAction(ISD::SELECT_CC, MVT::f16, Expand); in X86TargetLowering()
2076 setOperationAction(ISD::BR_CC, MVT::f16, Expand); in X86TargetLowering()
2077 setOperationAction(ISD::SETCC, MVT::f16, Custom); in X86TargetLowering()
2078 setOperationAction(ISD::STRICT_FSETCC, MVT::f16, Custom); in X86TargetLowering()
2079 setOperationAction(ISD::STRICT_FSETCCS, MVT::f16, Custom); in X86TargetLowering()
2080 setOperationAction(ISD::FROUND, MVT::f16, Custom); in X86TargetLowering()
2081 setOperationAction(ISD::STRICT_FROUND, MVT::f16, Promote); in X86TargetLowering()
2082 setOperationAction(ISD::FROUNDEVEN, MVT::f16, Legal); in X86TargetLowering()
2083 setOperationAction(ISD::STRICT_FROUNDEVEN, MVT::f16, Legal); in X86TargetLowering()
2084 setOperationAction(ISD::FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
2085 setOperationAction(ISD::STRICT_FP_ROUND, MVT::f16, Custom); in X86TargetLowering()
2086 setOperationAction(ISD::FP_EXTEND, MVT::f32, Legal); in X86TargetLowering()
2087 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::f32, Legal); in X86TargetLowering()
2094 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v32f16, Custom); in X86TargetLowering()
2095 setOperationAction(ISD::SINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2096 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2097 setOperationAction(ISD::UINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2098 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v32i16, Legal); in X86TargetLowering()
2099 setOperationAction(ISD::FP_ROUND, MVT::v16f16, Legal); in X86TargetLowering()
2100 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v16f16, Legal); in X86TargetLowering()
2101 setOperationAction(ISD::FP_EXTEND, MVT::v16f32, Legal); in X86TargetLowering()
2102 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v16f32, Legal); in X86TargetLowering()
2103 setOperationAction(ISD::FP_EXTEND, MVT::v8f64, Legal); in X86TargetLowering()
2104 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f64, Legal); in X86TargetLowering()
2105 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v32f16, Custom); in X86TargetLowering()
2107 setOperationAction(ISD::FP_TO_SINT, MVT::v32i16, Custom); in X86TargetLowering()
2108 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v32i16, Custom); in X86TargetLowering()
2109 setOperationAction(ISD::FP_TO_UINT, MVT::v32i16, Custom); in X86TargetLowering()
2110 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v32i16, Custom); in X86TargetLowering()
2124 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v16f16, Legal); in X86TargetLowering()
2125 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v32f16, Legal); in X86TargetLowering()
2126 setOperationAction(ISD::CONCAT_VECTORS, MVT::v32f16, Custom); in X86TargetLowering()
2131 setOperationAction(ISD::STRICT_FSETCC, MVT::v32i1, Custom); in X86TargetLowering()
2132 setOperationAction(ISD::STRICT_FSETCCS, MVT::v32i1, Custom); in X86TargetLowering()
2139 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8f16, Legal); in X86TargetLowering()
2140 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16f16, Custom); in X86TargetLowering()
2141 setOperationAction(ISD::SINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2142 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2143 setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2144 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2145 setOperationAction(ISD::UINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2146 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v16i16, Legal); in X86TargetLowering()
2147 setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2148 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v8i16, Legal); in X86TargetLowering()
2150 setOperationAction(ISD::FP_TO_SINT, MVT::v8i16, Custom); in X86TargetLowering()
2151 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v8i16, Custom); in X86TargetLowering()
2152 setOperationAction(ISD::FP_TO_UINT, MVT::v8i16, Custom); in X86TargetLowering()
2153 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v8i16, Custom); in X86TargetLowering()
2154 setOperationAction(ISD::FP_ROUND, MVT::v8f16, Legal); in X86TargetLowering()
2155 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v8f16, Legal); in X86TargetLowering()
2156 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
2157 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
2158 setOperationAction(ISD::FP_EXTEND, MVT::v4f64, Legal); in X86TargetLowering()
2159 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f64, Legal); in X86TargetLowering()
2162 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8f16, Custom); in X86TargetLowering()
2163 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16f16, Custom); in X86TargetLowering()
2165 setOperationAction(ISD::EXTRACT_SUBVECTOR, MVT::v8f16, Legal); in X86TargetLowering()
2166 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v16f16, Legal); in X86TargetLowering()
2167 setOperationAction(ISD::CONCAT_VECTORS, MVT::v16f16, Custom); in X86TargetLowering()
2175 setOperationAction(ISD::LOAD, MVT::v4f16, Custom); in X86TargetLowering()
2176 setOperationAction(ISD::STORE, MVT::v4f16, Custom); in X86TargetLowering()
2200 setOperationAction(ISD::FP_TO_SINT, MVT::v2f16, Custom); in X86TargetLowering()
2201 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v2f16, Custom); in X86TargetLowering()
2202 setOperationAction(ISD::FP_TO_UINT, MVT::v2f16, Custom); in X86TargetLowering()
2203 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v2f16, Custom); in X86TargetLowering()
2204 setOperationAction(ISD::FP_TO_SINT, MVT::v4f16, Custom); in X86TargetLowering()
2205 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::v4f16, Custom); in X86TargetLowering()
2206 setOperationAction(ISD::FP_TO_UINT, MVT::v4f16, Custom); in X86TargetLowering()
2207 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::v4f16, Custom); in X86TargetLowering()
2209 setOperationAction(ISD::SINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2210 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2211 setOperationAction(ISD::UINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2212 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v2f16, Custom); in X86TargetLowering()
2213 setOperationAction(ISD::SINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2214 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2215 setOperationAction(ISD::UINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2216 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::v4f16, Custom); in X86TargetLowering()
2218 setOperationAction(ISD::FP_ROUND, MVT::v2f16, Custom); in X86TargetLowering()
2219 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v2f16, Custom); in X86TargetLowering()
2220 setOperationAction(ISD::FP_ROUND, MVT::v4f16, Custom); in X86TargetLowering()
2221 setOperationAction(ISD::STRICT_FP_ROUND, MVT::v4f16, Custom); in X86TargetLowering()
2223 setOperationAction(ISD::FP_EXTEND, MVT::v2f16, Custom); in X86TargetLowering()
2224 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v2f16, Custom); in X86TargetLowering()
2225 setOperationAction(ISD::FP_EXTEND, MVT::v4f16, Custom); in X86TargetLowering()
2226 setOperationAction(ISD::STRICT_FP_EXTEND, MVT::v4f16, Custom); in X86TargetLowering()
2229 setOperationAction(ISD::TRUNCATE, MVT::v16i32, Custom); in X86TargetLowering()
2230 setOperationAction(ISD::TRUNCATE, MVT::v8i64, Custom); in X86TargetLowering()
2231 setOperationAction(ISD::TRUNCATE, MVT::v16i64, Custom); in X86TargetLowering()
2239 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom); in X86TargetLowering()
2240 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom); in X86TargetLowering()
2241 setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom); in X86TargetLowering()
2243 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i64, Custom); in X86TargetLowering()
2256 setOperationAction(ISD::SADDO, VT, Custom); in X86TargetLowering()
2257 setOperationAction(ISD::UADDO, VT, Custom); in X86TargetLowering()
2258 setOperationAction(ISD::SSUBO, VT, Custom); in X86TargetLowering()
2259 setOperationAction(ISD::USUBO, VT, Custom); in X86TargetLowering()
2260 setOperationAction(ISD::SMULO, VT, Custom); in X86TargetLowering()
2261 setOperationAction(ISD::UMULO, VT, Custom); in X86TargetLowering()
2264 setOperationAction(ISD::ADDCARRY, VT, Custom); in X86TargetLowering()
2265 setOperationAction(ISD::SUBCARRY, VT, Custom); in X86TargetLowering()
2266 setOperationAction(ISD::SETCCCARRY, VT, Custom); in X86TargetLowering()
2267 setOperationAction(ISD::SADDO_CARRY, VT, Custom); in X86TargetLowering()
2268 setOperationAction(ISD::SSUBO_CARRY, VT, Custom); in X86TargetLowering()
2286 setOperationAction(ISD::FSINCOS, MVT::f64, Custom); in X86TargetLowering()
2287 setOperationAction(ISD::FSINCOS, MVT::f32, Custom); in X86TargetLowering()
2291 setOperationAction(ISD::SDIV, MVT::i128, Custom); in X86TargetLowering()
2292 setOperationAction(ISD::UDIV, MVT::i128, Custom); in X86TargetLowering()
2293 setOperationAction(ISD::SREM, MVT::i128, Custom); in X86TargetLowering()
2294 setOperationAction(ISD::UREM, MVT::i128, Custom); in X86TargetLowering()
2295 setOperationAction(ISD::FP_TO_SINT, MVT::i128, Custom); in X86TargetLowering()
2296 setOperationAction(ISD::FP_TO_UINT, MVT::i128, Custom); in X86TargetLowering()
2297 setOperationAction(ISD::SINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2298 setOperationAction(ISD::UINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2299 setOperationAction(ISD::STRICT_FP_TO_SINT, MVT::i128, Custom); in X86TargetLowering()
2300 setOperationAction(ISD::STRICT_FP_TO_UINT, MVT::i128, Custom); in X86TargetLowering()
2301 setOperationAction(ISD::STRICT_SINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2302 setOperationAction(ISD::STRICT_UINT_TO_FP, MVT::i128, Custom); in X86TargetLowering()
2322 setOperationAction(Op, MVT::f32, Promote); in X86TargetLowering()