Lines Matching refs:setOperationAction
162 setOperationAction(ISD::UINT_TO_FP , MVT::i1 , Promote); in X86TargetLowering()
163 setOperationAction(ISD::UINT_TO_FP , MVT::i8 , Promote); in X86TargetLowering()
164 setOperationAction(ISD::UINT_TO_FP , MVT::i16 , Promote); in X86TargetLowering()
169 setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Custom); in X86TargetLowering()
171 setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Promote); in X86TargetLowering()
172 setOperationAction(ISD::UINT_TO_FP , MVT::i64 , Custom); in X86TargetLowering()
176 setOperationAction(ISD::UINT_TO_FP , MVT::i64 , Custom); in X86TargetLowering()
179 setOperationAction(ISD::UINT_TO_FP , MVT::i32 , Custom); in X86TargetLowering()
184 setOperationAction(ISD::SINT_TO_FP , MVT::i1 , Promote); in X86TargetLowering()
185 setOperationAction(ISD::SINT_TO_FP , MVT::i8 , Promote); in X86TargetLowering()
190 setOperationAction(ISD::SINT_TO_FP , MVT::i16 , Promote); in X86TargetLowering()
192 setOperationAction(ISD::SINT_TO_FP , MVT::i32 , Custom); in X86TargetLowering()
194 setOperationAction(ISD::SINT_TO_FP , MVT::i16 , Custom); in X86TargetLowering()
195 setOperationAction(ISD::SINT_TO_FP , MVT::i32 , Custom); in X86TargetLowering()
198 setOperationAction(ISD::SINT_TO_FP , MVT::i16 , Promote); in X86TargetLowering()
199 setOperationAction(ISD::SINT_TO_FP , MVT::i32 , Promote); in X86TargetLowering()
204 setOperationAction(ISD::FP_TO_SINT , MVT::i1 , Promote); in X86TargetLowering()
205 setOperationAction(ISD::FP_TO_SINT , MVT::i8 , Promote); in X86TargetLowering()
210 setOperationAction(ISD::FP_TO_SINT , MVT::i64 , Custom); in X86TargetLowering()
211 setOperationAction(ISD::SINT_TO_FP , MVT::i64 , Custom); in X86TargetLowering()
214 setOperationAction(ISD::FP_TO_SINT , MVT::i16 , Promote); in X86TargetLowering()
216 setOperationAction(ISD::FP_TO_SINT , MVT::i32 , Custom); in X86TargetLowering()
218 setOperationAction(ISD::FP_TO_SINT , MVT::i16 , Custom); in X86TargetLowering()
219 setOperationAction(ISD::FP_TO_SINT , MVT::i32 , Custom); in X86TargetLowering()
222 setOperationAction(ISD::FP_TO_SINT , MVT::i16 , Promote); in X86TargetLowering()
223 setOperationAction(ISD::FP_TO_SINT , MVT::i32 , Expand); in X86TargetLowering()
224 setOperationAction(ISD::FP_TO_SINT , MVT::i64 , Expand); in X86TargetLowering()
229 setOperationAction(ISD::FP_TO_UINT , MVT::i1 , Promote); in X86TargetLowering()
230 setOperationAction(ISD::FP_TO_UINT , MVT::i8 , Promote); in X86TargetLowering()
231 setOperationAction(ISD::FP_TO_UINT , MVT::i16 , Promote); in X86TargetLowering()
236 setOperationAction(ISD::FP_TO_UINT , MVT::i32 , Custom); in X86TargetLowering()
237 setOperationAction(ISD::FP_TO_UINT , MVT::i64 , Custom); in X86TargetLowering()
239 setOperationAction(ISD::FP_TO_UINT , MVT::i32 , Promote); in X86TargetLowering()
240 setOperationAction(ISD::FP_TO_UINT , MVT::i64 , Expand); in X86TargetLowering()
248 setOperationAction(ISD::FP_TO_UINT , MVT::i32 , Expand); in X86TargetLowering()
253 setOperationAction(ISD::FP_TO_UINT , MVT::i32 , Custom); in X86TargetLowering()
255 setOperationAction(ISD::FP_TO_UINT , MVT::i64 , Custom); in X86TargetLowering()
260 setOperationAction(ISD::BITCAST , MVT::f32 , Expand); in X86TargetLowering()
261 setOperationAction(ISD::BITCAST , MVT::i32 , Expand); in X86TargetLowering()
263 setOperationAction(ISD::BITCAST , MVT::f64 , Expand); in X86TargetLowering()
265 setOperationAction(ISD::BITCAST , MVT::i64 , Expand); in X86TargetLowering()
280 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
281 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
282 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
283 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
284 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
285 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
288 setOperationAction(ISD::ADDC, VT, Custom); in X86TargetLowering()
289 setOperationAction(ISD::ADDE, VT, Custom); in X86TargetLowering()
290 setOperationAction(ISD::SUBC, VT, Custom); in X86TargetLowering()
291 setOperationAction(ISD::SUBE, VT, Custom); in X86TargetLowering()
294 setOperationAction(ISD::BR_JT , MVT::Other, Expand); in X86TargetLowering()
295 setOperationAction(ISD::BRCOND , MVT::Other, Custom); in X86TargetLowering()
296 setOperationAction(ISD::BR_CC , MVT::f32, Expand); in X86TargetLowering()
297 setOperationAction(ISD::BR_CC , MVT::f64, Expand); in X86TargetLowering()
298 setOperationAction(ISD::BR_CC , MVT::f80, Expand); in X86TargetLowering()
299 setOperationAction(ISD::BR_CC , MVT::f128, Expand); in X86TargetLowering()
300 setOperationAction(ISD::BR_CC , MVT::i8, Expand); in X86TargetLowering()
301 setOperationAction(ISD::BR_CC , MVT::i16, Expand); in X86TargetLowering()
302 setOperationAction(ISD::BR_CC , MVT::i32, Expand); in X86TargetLowering()
303 setOperationAction(ISD::BR_CC , MVT::i64, Expand); in X86TargetLowering()
304 setOperationAction(ISD::SELECT_CC , MVT::f32, Expand); in X86TargetLowering()
305 setOperationAction(ISD::SELECT_CC , MVT::f64, Expand); in X86TargetLowering()
306 setOperationAction(ISD::SELECT_CC , MVT::f80, Expand); in X86TargetLowering()
307 setOperationAction(ISD::SELECT_CC , MVT::f128, Expand); in X86TargetLowering()
308 setOperationAction(ISD::SELECT_CC , MVT::i8, Expand); in X86TargetLowering()
309 setOperationAction(ISD::SELECT_CC , MVT::i16, Expand); in X86TargetLowering()
310 setOperationAction(ISD::SELECT_CC , MVT::i32, Expand); in X86TargetLowering()
311 setOperationAction(ISD::SELECT_CC , MVT::i64, Expand); in X86TargetLowering()
313 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i32, Legal); in X86TargetLowering()
314 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i16 , Legal); in X86TargetLowering()
315 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i8 , Legal); in X86TargetLowering()
316 setOperationAction(ISD::SIGN_EXTEND_INREG, MVT::i1 , Expand); in X86TargetLowering()
317 setOperationAction(ISD::FP_ROUND_INREG , MVT::f32 , Expand); in X86TargetLowering()
324 setOperationAction(ISD::FREM , MVT::f32 , Promote); in X86TargetLowering()
326 setOperationAction(ISD::FREM , MVT::f32 , Expand); in X86TargetLowering()
329 setOperationAction(ISD::FREM , MVT::f64 , Expand); in X86TargetLowering()
330 setOperationAction(ISD::FREM , MVT::f80 , Expand); in X86TargetLowering()
331 setOperationAction(ISD::FLT_ROUNDS_ , MVT::i32 , Custom); in X86TargetLowering()
335 setOperationAction(ISD::CTTZ , MVT::i8 , Promote); in X86TargetLowering()
337 setOperationAction(ISD::CTTZ_ZERO_UNDEF , MVT::i8 , Promote); in X86TargetLowering()
340 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i16 , Expand); in X86TargetLowering()
341 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i32 , Expand); in X86TargetLowering()
343 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::i64, Expand); in X86TargetLowering()
345 setOperationAction(ISD::CTTZ , MVT::i16 , Custom); in X86TargetLowering()
346 setOperationAction(ISD::CTTZ , MVT::i32 , Custom); in X86TargetLowering()
348 setOperationAction(ISD::CTTZ , MVT::i64 , Custom); in X86TargetLowering()
354 setOperationAction(ISD::CTLZ , MVT::i8 , Promote); in X86TargetLowering()
356 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i8 , Promote); in X86TargetLowering()
358 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i16 , Expand); in X86TargetLowering()
359 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32 , Expand); in X86TargetLowering()
361 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i64, Expand); in X86TargetLowering()
363 setOperationAction(ISD::CTLZ , MVT::i8 , Custom); in X86TargetLowering()
364 setOperationAction(ISD::CTLZ , MVT::i16 , Custom); in X86TargetLowering()
365 setOperationAction(ISD::CTLZ , MVT::i32 , Custom); in X86TargetLowering()
366 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i8 , Custom); in X86TargetLowering()
367 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i16 , Custom); in X86TargetLowering()
368 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i32 , Custom); in X86TargetLowering()
370 setOperationAction(ISD::CTLZ , MVT::i64 , Custom); in X86TargetLowering()
371 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::i64, Custom); in X86TargetLowering()
379 setOperationAction(ISD::FP16_TO_FP, MVT::f32, Expand); in X86TargetLowering()
380 setOperationAction(ISD::FP_TO_FP16, MVT::f32, Expand); in X86TargetLowering()
384 setOperationAction(ISD::FP16_TO_FP, MVT::f64, Expand); in X86TargetLowering()
385 setOperationAction(ISD::FP16_TO_FP, MVT::f80, Expand); in X86TargetLowering()
386 setOperationAction(ISD::FP_TO_FP16, MVT::f64, Expand); in X86TargetLowering()
387 setOperationAction(ISD::FP_TO_FP16, MVT::f80, Expand); in X86TargetLowering()
397 setOperationAction(ISD::CTPOP , MVT::i8 , Promote); in X86TargetLowering()
399 setOperationAction(ISD::CTPOP , MVT::i8 , Expand); in X86TargetLowering()
400 setOperationAction(ISD::CTPOP , MVT::i16 , Expand); in X86TargetLowering()
401 setOperationAction(ISD::CTPOP , MVT::i32 , Expand); in X86TargetLowering()
403 setOperationAction(ISD::CTPOP , MVT::i64 , Expand); in X86TargetLowering()
406 setOperationAction(ISD::READCYCLECOUNTER , MVT::i64 , Custom); in X86TargetLowering()
409 setOperationAction(ISD::BSWAP , MVT::i16 , Expand); in X86TargetLowering()
412 setOperationAction(ISD::SELECT , MVT::i1 , Promote); in X86TargetLowering()
414 setOperationAction(ISD::SELECT , MVT::i8 , Custom); in X86TargetLowering()
415 setOperationAction(ISD::SELECT , MVT::i16 , Custom); in X86TargetLowering()
416 setOperationAction(ISD::SELECT , MVT::i32 , Custom); in X86TargetLowering()
417 setOperationAction(ISD::SELECT , MVT::f32 , Custom); in X86TargetLowering()
418 setOperationAction(ISD::SELECT , MVT::f64 , Custom); in X86TargetLowering()
419 setOperationAction(ISD::SELECT , MVT::f80 , Custom); in X86TargetLowering()
420 setOperationAction(ISD::SELECT , MVT::f128 , Custom); in X86TargetLowering()
421 setOperationAction(ISD::SETCC , MVT::i8 , Custom); in X86TargetLowering()
422 setOperationAction(ISD::SETCC , MVT::i16 , Custom); in X86TargetLowering()
423 setOperationAction(ISD::SETCC , MVT::i32 , Custom); in X86TargetLowering()
424 setOperationAction(ISD::SETCC , MVT::f32 , Custom); in X86TargetLowering()
425 setOperationAction(ISD::SETCC , MVT::f64 , Custom); in X86TargetLowering()
426 setOperationAction(ISD::SETCC , MVT::f80 , Custom); in X86TargetLowering()
427 setOperationAction(ISD::SETCC , MVT::f128 , Custom); in X86TargetLowering()
428 setOperationAction(ISD::SETCCE , MVT::i8 , Custom); in X86TargetLowering()
429 setOperationAction(ISD::SETCCE , MVT::i16 , Custom); in X86TargetLowering()
430 setOperationAction(ISD::SETCCE , MVT::i32 , Custom); in X86TargetLowering()
432 setOperationAction(ISD::SELECT , MVT::i64 , Custom); in X86TargetLowering()
433 setOperationAction(ISD::SETCC , MVT::i64 , Custom); in X86TargetLowering()
434 setOperationAction(ISD::SETCCE , MVT::i64 , Custom); in X86TargetLowering()
436 setOperationAction(ISD::EH_RETURN , MVT::Other, Custom); in X86TargetLowering()
443 setOperationAction(ISD::EH_SJLJ_SETJMP, MVT::i32, Custom); in X86TargetLowering()
444 setOperationAction(ISD::EH_SJLJ_LONGJMP, MVT::Other, Custom); in X86TargetLowering()
447 setOperationAction(ISD::ConstantPool , MVT::i32 , Custom); in X86TargetLowering()
448 setOperationAction(ISD::JumpTable , MVT::i32 , Custom); in X86TargetLowering()
449 setOperationAction(ISD::GlobalAddress , MVT::i32 , Custom); in X86TargetLowering()
450 setOperationAction(ISD::GlobalTLSAddress, MVT::i32 , Custom); in X86TargetLowering()
452 setOperationAction(ISD::GlobalTLSAddress, MVT::i64, Custom); in X86TargetLowering()
453 setOperationAction(ISD::ExternalSymbol , MVT::i32 , Custom); in X86TargetLowering()
454 setOperationAction(ISD::BlockAddress , MVT::i32 , Custom); in X86TargetLowering()
456 setOperationAction(ISD::ConstantPool , MVT::i64 , Custom); in X86TargetLowering()
457 setOperationAction(ISD::JumpTable , MVT::i64 , Custom); in X86TargetLowering()
458 setOperationAction(ISD::GlobalAddress , MVT::i64 , Custom); in X86TargetLowering()
459 setOperationAction(ISD::ExternalSymbol, MVT::i64 , Custom); in X86TargetLowering()
460 setOperationAction(ISD::BlockAddress , MVT::i64 , Custom); in X86TargetLowering()
463 setOperationAction(ISD::SHL_PARTS , MVT::i32 , Custom); in X86TargetLowering()
464 setOperationAction(ISD::SRA_PARTS , MVT::i32 , Custom); in X86TargetLowering()
465 setOperationAction(ISD::SRL_PARTS , MVT::i32 , Custom); in X86TargetLowering()
467 setOperationAction(ISD::SHL_PARTS , MVT::i64 , Custom); in X86TargetLowering()
468 setOperationAction(ISD::SRA_PARTS , MVT::i64 , Custom); in X86TargetLowering()
469 setOperationAction(ISD::SRL_PARTS , MVT::i64 , Custom); in X86TargetLowering()
473 setOperationAction(ISD::PREFETCH , MVT::Other, Legal); in X86TargetLowering()
475 setOperationAction(ISD::ATOMIC_FENCE , MVT::Other, Custom); in X86TargetLowering()
479 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, VT, Custom); in X86TargetLowering()
480 setOperationAction(ISD::ATOMIC_LOAD_SUB, VT, Custom); in X86TargetLowering()
481 setOperationAction(ISD::ATOMIC_STORE, VT, Custom); in X86TargetLowering()
485 setOperationAction(ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS, MVT::i128, Custom); in X86TargetLowering()
491 setOperationAction(ISD::EH_LABEL, MVT::Other, Expand); in X86TargetLowering()
494 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i32, Custom); in X86TargetLowering()
495 setOperationAction(ISD::FRAME_TO_ARGS_OFFSET, MVT::i64, Custom); in X86TargetLowering()
497 setOperationAction(ISD::INIT_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
498 setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom); in X86TargetLowering()
500 setOperationAction(ISD::TRAP, MVT::Other, Legal); in X86TargetLowering()
501 setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal); in X86TargetLowering()
504 setOperationAction(ISD::VASTART , MVT::Other, Custom); in X86TargetLowering()
505 setOperationAction(ISD::VAEND , MVT::Other, Expand); in X86TargetLowering()
507 setOperationAction(ISD::VAARG , MVT::Other, Custom); in X86TargetLowering()
508 setOperationAction(ISD::VACOPY , MVT::Other, Custom); in X86TargetLowering()
511 setOperationAction(ISD::VAARG , MVT::Other, Expand); in X86TargetLowering()
512 setOperationAction(ISD::VACOPY , MVT::Other, Expand); in X86TargetLowering()
515 setOperationAction(ISD::STACKSAVE, MVT::Other, Expand); in X86TargetLowering()
516 setOperationAction(ISD::STACKRESTORE, MVT::Other, Expand); in X86TargetLowering()
518 setOperationAction(ISD::DYNAMIC_STACKALLOC, PtrVT, Custom); in X86TargetLowering()
521 setOperationAction(ISD::GC_TRANSITION_START, MVT::Other, Custom); in X86TargetLowering()
522 setOperationAction(ISD::GC_TRANSITION_END, MVT::Other, Custom); in X86TargetLowering()
531 setOperationAction(ISD::FABS , MVT::f64, Custom); in X86TargetLowering()
532 setOperationAction(ISD::FABS , MVT::f32, Custom); in X86TargetLowering()
535 setOperationAction(ISD::FNEG , MVT::f64, Custom); in X86TargetLowering()
536 setOperationAction(ISD::FNEG , MVT::f32, Custom); in X86TargetLowering()
539 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Custom); in X86TargetLowering()
540 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom); in X86TargetLowering()
543 setOperationAction(ISD::FGETSIGN, MVT::i64, Custom); in X86TargetLowering()
544 setOperationAction(ISD::FGETSIGN, MVT::i32, Custom); in X86TargetLowering()
547 setOperationAction(ISD::FSIN , MVT::f64, Expand); in X86TargetLowering()
548 setOperationAction(ISD::FCOS , MVT::f64, Expand); in X86TargetLowering()
549 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in X86TargetLowering()
550 setOperationAction(ISD::FSIN , MVT::f32, Expand); in X86TargetLowering()
551 setOperationAction(ISD::FCOS , MVT::f32, Expand); in X86TargetLowering()
552 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in X86TargetLowering()
565 setOperationAction(ISD::FABS , MVT::f32, Custom); in X86TargetLowering()
568 setOperationAction(ISD::FNEG , MVT::f32, Custom); in X86TargetLowering()
570 setOperationAction(ISD::UNDEF, MVT::f64, Expand); in X86TargetLowering()
573 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); in X86TargetLowering()
574 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Custom); in X86TargetLowering()
577 setOperationAction(ISD::FSIN , MVT::f32, Expand); in X86TargetLowering()
578 setOperationAction(ISD::FCOS , MVT::f32, Expand); in X86TargetLowering()
579 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in X86TargetLowering()
589 setOperationAction(ISD::FSIN , MVT::f64, Expand); in X86TargetLowering()
590 setOperationAction(ISD::FCOS , MVT::f64, Expand); in X86TargetLowering()
591 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in X86TargetLowering()
599 setOperationAction(ISD::UNDEF, MVT::f64, Expand); in X86TargetLowering()
600 setOperationAction(ISD::UNDEF, MVT::f32, Expand); in X86TargetLowering()
601 setOperationAction(ISD::FCOPYSIGN, MVT::f64, Expand); in X86TargetLowering()
602 setOperationAction(ISD::FCOPYSIGN, MVT::f32, Expand); in X86TargetLowering()
605 setOperationAction(ISD::FSIN , MVT::f64, Expand); in X86TargetLowering()
606 setOperationAction(ISD::FSIN , MVT::f32, Expand); in X86TargetLowering()
607 setOperationAction(ISD::FCOS , MVT::f64, Expand); in X86TargetLowering()
608 setOperationAction(ISD::FCOS , MVT::f32, Expand); in X86TargetLowering()
609 setOperationAction(ISD::FSINCOS, MVT::f64, Expand); in X86TargetLowering()
610 setOperationAction(ISD::FSINCOS, MVT::f32, Expand); in X86TargetLowering()
623 setOperationAction(ISD::FMA, MVT::f64, Expand); in X86TargetLowering()
624 setOperationAction(ISD::FMA, MVT::f32, Expand); in X86TargetLowering()
631 setOperationAction(ISD::FABS , MVT::f128, Custom); in X86TargetLowering()
632 setOperationAction(ISD::FNEG , MVT::f128, Custom); in X86TargetLowering()
633 setOperationAction(ISD::FCOPYSIGN, MVT::f128, Custom); in X86TargetLowering()
637 setOperationAction(ISD::UNDEF, MVT::f80, Expand); in X86TargetLowering()
638 setOperationAction(ISD::FCOPYSIGN, MVT::f80, Expand); in X86TargetLowering()
655 setOperationAction(ISD::FSIN , MVT::f80, Expand); in X86TargetLowering()
656 setOperationAction(ISD::FCOS , MVT::f80, Expand); in X86TargetLowering()
657 setOperationAction(ISD::FSINCOS, MVT::f80, Expand); in X86TargetLowering()
660 setOperationAction(ISD::FFLOOR, MVT::f80, Expand); in X86TargetLowering()
661 setOperationAction(ISD::FCEIL, MVT::f80, Expand); in X86TargetLowering()
662 setOperationAction(ISD::FTRUNC, MVT::f80, Expand); in X86TargetLowering()
663 setOperationAction(ISD::FRINT, MVT::f80, Expand); in X86TargetLowering()
664 setOperationAction(ISD::FNEARBYINT, MVT::f80, Expand); in X86TargetLowering()
665 setOperationAction(ISD::FMA, MVT::f80, Expand); in X86TargetLowering()
669 setOperationAction(ISD::FPOW , MVT::f32 , Expand); in X86TargetLowering()
670 setOperationAction(ISD::FPOW , MVT::f64 , Expand); in X86TargetLowering()
671 setOperationAction(ISD::FPOW , MVT::f80 , Expand); in X86TargetLowering()
673 setOperationAction(ISD::FLOG, MVT::f80, Expand); in X86TargetLowering()
674 setOperationAction(ISD::FLOG2, MVT::f80, Expand); in X86TargetLowering()
675 setOperationAction(ISD::FLOG10, MVT::f80, Expand); in X86TargetLowering()
676 setOperationAction(ISD::FEXP, MVT::f80, Expand); in X86TargetLowering()
677 setOperationAction(ISD::FEXP2, MVT::f80, Expand); in X86TargetLowering()
678 setOperationAction(ISD::FMINNUM, MVT::f80, Expand); in X86TargetLowering()
679 setOperationAction(ISD::FMAXNUM, MVT::f80, Expand); in X86TargetLowering()
685 setOperationAction(ISD::ADD , VT, Expand); in X86TargetLowering()
686 setOperationAction(ISD::SUB , VT, Expand); in X86TargetLowering()
687 setOperationAction(ISD::FADD, VT, Expand); in X86TargetLowering()
688 setOperationAction(ISD::FNEG, VT, Expand); in X86TargetLowering()
689 setOperationAction(ISD::FSUB, VT, Expand); in X86TargetLowering()
690 setOperationAction(ISD::MUL , VT, Expand); in X86TargetLowering()
691 setOperationAction(ISD::FMUL, VT, Expand); in X86TargetLowering()
692 setOperationAction(ISD::SDIV, VT, Expand); in X86TargetLowering()
693 setOperationAction(ISD::UDIV, VT, Expand); in X86TargetLowering()
694 setOperationAction(ISD::FDIV, VT, Expand); in X86TargetLowering()
695 setOperationAction(ISD::SREM, VT, Expand); in X86TargetLowering()
696 setOperationAction(ISD::UREM, VT, Expand); in X86TargetLowering()
697 setOperationAction(ISD::LOAD, VT, Expand); in X86TargetLowering()
698 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Expand); in X86TargetLowering()
699 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT,Expand); in X86TargetLowering()
700 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Expand); in X86TargetLowering()
701 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT,Expand); in X86TargetLowering()
702 setOperationAction(ISD::INSERT_SUBVECTOR, VT,Expand); in X86TargetLowering()
703 setOperationAction(ISD::FABS, VT, Expand); in X86TargetLowering()
704 setOperationAction(ISD::FSIN, VT, Expand); in X86TargetLowering()
705 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
706 setOperationAction(ISD::FCOS, VT, Expand); in X86TargetLowering()
707 setOperationAction(ISD::FSINCOS, VT, Expand); in X86TargetLowering()
708 setOperationAction(ISD::FREM, VT, Expand); in X86TargetLowering()
709 setOperationAction(ISD::FMA, VT, Expand); in X86TargetLowering()
710 setOperationAction(ISD::FPOWI, VT, Expand); in X86TargetLowering()
711 setOperationAction(ISD::FSQRT, VT, Expand); in X86TargetLowering()
712 setOperationAction(ISD::FCOPYSIGN, VT, Expand); in X86TargetLowering()
713 setOperationAction(ISD::FFLOOR, VT, Expand); in X86TargetLowering()
714 setOperationAction(ISD::FCEIL, VT, Expand); in X86TargetLowering()
715 setOperationAction(ISD::FTRUNC, VT, Expand); in X86TargetLowering()
716 setOperationAction(ISD::FRINT, VT, Expand); in X86TargetLowering()
717 setOperationAction(ISD::FNEARBYINT, VT, Expand); in X86TargetLowering()
718 setOperationAction(ISD::SMUL_LOHI, VT, Expand); in X86TargetLowering()
719 setOperationAction(ISD::MULHS, VT, Expand); in X86TargetLowering()
720 setOperationAction(ISD::UMUL_LOHI, VT, Expand); in X86TargetLowering()
721 setOperationAction(ISD::MULHU, VT, Expand); in X86TargetLowering()
722 setOperationAction(ISD::SDIVREM, VT, Expand); in X86TargetLowering()
723 setOperationAction(ISD::UDIVREM, VT, Expand); in X86TargetLowering()
724 setOperationAction(ISD::FPOW, VT, Expand); in X86TargetLowering()
725 setOperationAction(ISD::CTPOP, VT, Expand); in X86TargetLowering()
726 setOperationAction(ISD::CTTZ, VT, Expand); in X86TargetLowering()
727 setOperationAction(ISD::CTTZ_ZERO_UNDEF, VT, Expand); in X86TargetLowering()
728 setOperationAction(ISD::CTLZ, VT, Expand); in X86TargetLowering()
729 setOperationAction(ISD::CTLZ_ZERO_UNDEF, VT, Expand); in X86TargetLowering()
730 setOperationAction(ISD::SHL, VT, Expand); in X86TargetLowering()
731 setOperationAction(ISD::SRA, VT, Expand); in X86TargetLowering()
732 setOperationAction(ISD::SRL, VT, Expand); in X86TargetLowering()
733 setOperationAction(ISD::ROTL, VT, Expand); in X86TargetLowering()
734 setOperationAction(ISD::ROTR, VT, Expand); in X86TargetLowering()
735 setOperationAction(ISD::BSWAP, VT, Expand); in X86TargetLowering()
736 setOperationAction(ISD::SETCC, VT, Expand); in X86TargetLowering()
737 setOperationAction(ISD::FLOG, VT, Expand); in X86TargetLowering()
738 setOperationAction(ISD::FLOG2, VT, Expand); in X86TargetLowering()
739 setOperationAction(ISD::FLOG10, VT, Expand); in X86TargetLowering()
740 setOperationAction(ISD::FEXP, VT, Expand); in X86TargetLowering()
741 setOperationAction(ISD::FEXP2, VT, Expand); in X86TargetLowering()
742 setOperationAction(ISD::FP_TO_UINT, VT, Expand); in X86TargetLowering()
743 setOperationAction(ISD::FP_TO_SINT, VT, Expand); in X86TargetLowering()
744 setOperationAction(ISD::UINT_TO_FP, VT, Expand); in X86TargetLowering()
745 setOperationAction(ISD::SINT_TO_FP, VT, Expand); in X86TargetLowering()
746 setOperationAction(ISD::SIGN_EXTEND_INREG, VT,Expand); in X86TargetLowering()
747 setOperationAction(ISD::TRUNCATE, VT, Expand); in X86TargetLowering()
748 setOperationAction(ISD::SIGN_EXTEND, VT, Expand); in X86TargetLowering()
749 setOperationAction(ISD::ZERO_EXTEND, VT, Expand); in X86TargetLowering()
750 setOperationAction(ISD::ANY_EXTEND, VT, Expand); in X86TargetLowering()
751 setOperationAction(ISD::VSELECT, VT, Expand); in X86TargetLowering()
752 setOperationAction(ISD::SELECT_CC, VT, Expand); in X86TargetLowering()
783 setOperationAction(ISD::MULHS, MMXTy, Expand); in X86TargetLowering()
784 setOperationAction(ISD::AND, MMXTy, Expand); in X86TargetLowering()
785 setOperationAction(ISD::OR, MMXTy, Expand); in X86TargetLowering()
786 setOperationAction(ISD::XOR, MMXTy, Expand); in X86TargetLowering()
787 setOperationAction(ISD::SCALAR_TO_VECTOR, MMXTy, Expand); in X86TargetLowering()
788 setOperationAction(ISD::SELECT, MMXTy, Expand); in X86TargetLowering()
789 setOperationAction(ISD::BITCAST, MMXTy, Expand); in X86TargetLowering()
791 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v1i64, Expand); in X86TargetLowering()
796 setOperationAction(ISD::FADD, MVT::v4f32, Legal); in X86TargetLowering()
797 setOperationAction(ISD::FSUB, MVT::v4f32, Legal); in X86TargetLowering()
798 setOperationAction(ISD::FMUL, MVT::v4f32, Legal); in X86TargetLowering()
799 setOperationAction(ISD::FDIV, MVT::v4f32, Legal); in X86TargetLowering()
800 setOperationAction(ISD::FSQRT, MVT::v4f32, Legal); in X86TargetLowering()
801 setOperationAction(ISD::FNEG, MVT::v4f32, Custom); in X86TargetLowering()
802 setOperationAction(ISD::FABS, MVT::v4f32, Custom); in X86TargetLowering()
803 setOperationAction(ISD::LOAD, MVT::v4f32, Legal); in X86TargetLowering()
804 setOperationAction(ISD::BUILD_VECTOR, MVT::v4f32, Custom); in X86TargetLowering()
805 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4f32, Custom); in X86TargetLowering()
806 setOperationAction(ISD::VSELECT, MVT::v4f32, Custom); in X86TargetLowering()
807 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
808 setOperationAction(ISD::SELECT, MVT::v4f32, Custom); in X86TargetLowering()
809 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Custom); in X86TargetLowering()
822 setOperationAction(ISD::ADD, MVT::v16i8, Legal); in X86TargetLowering()
823 setOperationAction(ISD::ADD, MVT::v8i16, Legal); in X86TargetLowering()
824 setOperationAction(ISD::ADD, MVT::v4i32, Legal); in X86TargetLowering()
825 setOperationAction(ISD::ADD, MVT::v2i64, Legal); in X86TargetLowering()
826 setOperationAction(ISD::MUL, MVT::v16i8, Custom); in X86TargetLowering()
827 setOperationAction(ISD::MUL, MVT::v4i32, Custom); in X86TargetLowering()
828 setOperationAction(ISD::MUL, MVT::v2i64, Custom); in X86TargetLowering()
829 setOperationAction(ISD::UMUL_LOHI, MVT::v4i32, Custom); in X86TargetLowering()
830 setOperationAction(ISD::SMUL_LOHI, MVT::v4i32, Custom); in X86TargetLowering()
831 setOperationAction(ISD::MULHU, MVT::v8i16, Legal); in X86TargetLowering()
832 setOperationAction(ISD::MULHS, MVT::v8i16, Legal); in X86TargetLowering()
833 setOperationAction(ISD::SUB, MVT::v16i8, Legal); in X86TargetLowering()
834 setOperationAction(ISD::SUB, MVT::v8i16, Legal); in X86TargetLowering()
835 setOperationAction(ISD::SUB, MVT::v4i32, Legal); in X86TargetLowering()
836 setOperationAction(ISD::SUB, MVT::v2i64, Legal); in X86TargetLowering()
837 setOperationAction(ISD::MUL, MVT::v8i16, Legal); in X86TargetLowering()
838 setOperationAction(ISD::FADD, MVT::v2f64, Legal); in X86TargetLowering()
839 setOperationAction(ISD::FSUB, MVT::v2f64, Legal); in X86TargetLowering()
840 setOperationAction(ISD::FMUL, MVT::v2f64, Legal); in X86TargetLowering()
841 setOperationAction(ISD::FDIV, MVT::v2f64, Legal); in X86TargetLowering()
842 setOperationAction(ISD::FSQRT, MVT::v2f64, Legal); in X86TargetLowering()
843 setOperationAction(ISD::FNEG, MVT::v2f64, Custom); in X86TargetLowering()
844 setOperationAction(ISD::FABS, MVT::v2f64, Custom); in X86TargetLowering()
846 setOperationAction(ISD::SMAX, MVT::v8i16, Legal); in X86TargetLowering()
847 setOperationAction(ISD::UMAX, MVT::v16i8, Legal); in X86TargetLowering()
848 setOperationAction(ISD::SMIN, MVT::v8i16, Legal); in X86TargetLowering()
849 setOperationAction(ISD::UMIN, MVT::v16i8, Legal); in X86TargetLowering()
851 setOperationAction(ISD::SETCC, MVT::v2i64, Custom); in X86TargetLowering()
852 setOperationAction(ISD::SETCC, MVT::v16i8, Custom); in X86TargetLowering()
853 setOperationAction(ISD::SETCC, MVT::v8i16, Custom); in X86TargetLowering()
854 setOperationAction(ISD::SETCC, MVT::v4i32, Custom); in X86TargetLowering()
856 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v16i8, Custom); in X86TargetLowering()
857 setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v8i16, Custom); in X86TargetLowering()
858 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); in X86TargetLowering()
859 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom); in X86TargetLowering()
860 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
862 setOperationAction(ISD::CTPOP, MVT::v16i8, Custom); in X86TargetLowering()
863 setOperationAction(ISD::CTPOP, MVT::v8i16, Custom); in X86TargetLowering()
864 setOperationAction(ISD::CTPOP, MVT::v4i32, Custom); in X86TargetLowering()
865 setOperationAction(ISD::CTPOP, MVT::v2i64, Custom); in X86TargetLowering()
867 setOperationAction(ISD::CTTZ, MVT::v16i8, Custom); in X86TargetLowering()
868 setOperationAction(ISD::CTTZ, MVT::v8i16, Custom); in X86TargetLowering()
869 setOperationAction(ISD::CTTZ, MVT::v4i32, Custom); in X86TargetLowering()
871 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v16i8, Custom); in X86TargetLowering()
872 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i16, Custom); in X86TargetLowering()
873 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i32, Custom); in X86TargetLowering()
878 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
879 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
880 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
881 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
900 setOperationAction(ISD::BUILD_VECTOR, MVT::v2f64, Custom); in X86TargetLowering()
901 setOperationAction(ISD::BUILD_VECTOR, MVT::v2i64, Custom); in X86TargetLowering()
902 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2f64, Custom); in X86TargetLowering()
903 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2i64, Custom); in X86TargetLowering()
904 setOperationAction(ISD::VSELECT, MVT::v2f64, Custom); in X86TargetLowering()
905 setOperationAction(ISD::VSELECT, MVT::v2i64, Custom); in X86TargetLowering()
906 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2f64, Custom); in X86TargetLowering()
907 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2f64, Custom); in X86TargetLowering()
910 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2i64, Custom); in X86TargetLowering()
911 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i64, Custom); in X86TargetLowering()
916 setOperationAction(ISD::AND, VT, Promote); in X86TargetLowering()
918 setOperationAction(ISD::OR, VT, Promote); in X86TargetLowering()
920 setOperationAction(ISD::XOR, VT, Promote); in X86TargetLowering()
922 setOperationAction(ISD::LOAD, VT, Promote); in X86TargetLowering()
924 setOperationAction(ISD::SELECT, VT, Promote); in X86TargetLowering()
929 setOperationAction(ISD::LOAD, MVT::v2f64, Legal); in X86TargetLowering()
930 setOperationAction(ISD::LOAD, MVT::v2i64, Legal); in X86TargetLowering()
931 setOperationAction(ISD::SELECT, MVT::v2f64, Custom); in X86TargetLowering()
932 setOperationAction(ISD::SELECT, MVT::v2i64, Custom); in X86TargetLowering()
934 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal); in X86TargetLowering()
935 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal); in X86TargetLowering()
937 setOperationAction(ISD::SINT_TO_FP, MVT::v2i32, Custom); in X86TargetLowering()
939 setOperationAction(ISD::UINT_TO_FP, MVT::v4i8, Custom); in X86TargetLowering()
940 setOperationAction(ISD::UINT_TO_FP, MVT::v4i16, Custom); in X86TargetLowering()
944 setOperationAction(ISD::UINT_TO_FP, MVT::v2f32, Custom); in X86TargetLowering()
946 setOperationAction(ISD::FP_EXTEND, MVT::v2f32, Custom); in X86TargetLowering()
947 setOperationAction(ISD::FP_ROUND, MVT::v2f32, Custom); in X86TargetLowering()
952 setOperationAction(ISD::BITCAST, MVT::v2i32, Custom); in X86TargetLowering()
953 setOperationAction(ISD::BITCAST, MVT::v4i16, Custom); in X86TargetLowering()
954 setOperationAction(ISD::BITCAST, MVT::v8i8, Custom); in X86TargetLowering()
959 setOperationAction(ISD::FFLOOR, RoundedTy, Legal); in X86TargetLowering()
960 setOperationAction(ISD::FCEIL, RoundedTy, Legal); in X86TargetLowering()
961 setOperationAction(ISD::FTRUNC, RoundedTy, Legal); in X86TargetLowering()
962 setOperationAction(ISD::FRINT, RoundedTy, Legal); in X86TargetLowering()
963 setOperationAction(ISD::FNEARBYINT, RoundedTy, Legal); in X86TargetLowering()
966 setOperationAction(ISD::SMAX, MVT::v16i8, Legal); in X86TargetLowering()
967 setOperationAction(ISD::SMAX, MVT::v4i32, Legal); in X86TargetLowering()
968 setOperationAction(ISD::UMAX, MVT::v8i16, Legal); in X86TargetLowering()
969 setOperationAction(ISD::UMAX, MVT::v4i32, Legal); in X86TargetLowering()
970 setOperationAction(ISD::SMIN, MVT::v16i8, Legal); in X86TargetLowering()
971 setOperationAction(ISD::SMIN, MVT::v4i32, Legal); in X86TargetLowering()
972 setOperationAction(ISD::UMIN, MVT::v8i16, Legal); in X86TargetLowering()
973 setOperationAction(ISD::UMIN, MVT::v4i32, Legal); in X86TargetLowering()
976 setOperationAction(ISD::MUL, MVT::v4i32, Legal); in X86TargetLowering()
980 setOperationAction(ISD::VSELECT, MVT::v16i8, Legal); in X86TargetLowering()
1009 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16i8, Custom); in X86TargetLowering()
1010 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i16, Custom); in X86TargetLowering()
1011 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i32, Custom); in X86TargetLowering()
1012 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
1014 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v16i8, Custom); in X86TargetLowering()
1015 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v8i16, Custom); in X86TargetLowering()
1016 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4i32, Custom); in X86TargetLowering()
1017 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v4f32, Custom); in X86TargetLowering()
1022 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v2i64, Custom); in X86TargetLowering()
1023 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v2i64, Custom); in X86TargetLowering()
1028 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v2i64, Custom); in X86TargetLowering()
1029 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v4i32, Custom); in X86TargetLowering()
1030 setOperationAction(ISD::SIGN_EXTEND_VECTOR_INREG, MVT::v8i16, Custom); in X86TargetLowering()
1032 setOperationAction(ISD::SRL, MVT::v8i16, Custom); in X86TargetLowering()
1033 setOperationAction(ISD::SRL, MVT::v16i8, Custom); in X86TargetLowering()
1035 setOperationAction(ISD::SHL, MVT::v8i16, Custom); in X86TargetLowering()
1036 setOperationAction(ISD::SHL, MVT::v16i8, Custom); in X86TargetLowering()
1038 setOperationAction(ISD::SRA, MVT::v8i16, Custom); in X86TargetLowering()
1039 setOperationAction(ISD::SRA, MVT::v16i8, Custom); in X86TargetLowering()
1043 setOperationAction(ISD::SRL, MVT::v2i64, Custom); in X86TargetLowering()
1044 setOperationAction(ISD::SRL, MVT::v4i32, Custom); in X86TargetLowering()
1046 setOperationAction(ISD::SHL, MVT::v2i64, Custom); in X86TargetLowering()
1047 setOperationAction(ISD::SHL, MVT::v4i32, Custom); in X86TargetLowering()
1049 setOperationAction(ISD::SRA, MVT::v2i64, Custom); in X86TargetLowering()
1050 setOperationAction(ISD::SRA, MVT::v4i32, Custom); in X86TargetLowering()
1054 setOperationAction(ISD::ROTL, MVT::v16i8, Custom); in X86TargetLowering()
1055 setOperationAction(ISD::ROTL, MVT::v8i16, Custom); in X86TargetLowering()
1056 setOperationAction(ISD::ROTL, MVT::v4i32, Custom); in X86TargetLowering()
1057 setOperationAction(ISD::ROTL, MVT::v2i64, Custom); in X86TargetLowering()
1058 setOperationAction(ISD::ROTL, MVT::v32i8, Custom); in X86TargetLowering()
1059 setOperationAction(ISD::ROTL, MVT::v16i16, Custom); in X86TargetLowering()
1060 setOperationAction(ISD::ROTL, MVT::v8i32, Custom); in X86TargetLowering()
1061 setOperationAction(ISD::ROTL, MVT::v4i64, Custom); in X86TargetLowering()
1072 setOperationAction(ISD::LOAD, MVT::v8f32, Legal); in X86TargetLowering()
1073 setOperationAction(ISD::LOAD, MVT::v4f64, Legal); in X86TargetLowering()
1074 setOperationAction(ISD::LOAD, MVT::v4i64, Legal); in X86TargetLowering()
1076 setOperationAction(ISD::FADD, MVT::v8f32, Legal); in X86TargetLowering()
1077 setOperationAction(ISD::FSUB, MVT::v8f32, Legal); in X86TargetLowering()
1078 setOperationAction(ISD::FMUL, MVT::v8f32, Legal); in X86TargetLowering()
1079 setOperationAction(ISD::FDIV, MVT::v8f32, Legal); in X86TargetLowering()
1080 setOperationAction(ISD::FSQRT, MVT::v8f32, Legal); in X86TargetLowering()
1081 setOperationAction(ISD::FFLOOR, MVT::v8f32, Legal); in X86TargetLowering()
1082 setOperationAction(ISD::FCEIL, MVT::v8f32, Legal); in X86TargetLowering()
1083 setOperationAction(ISD::FTRUNC, MVT::v8f32, Legal); in X86TargetLowering()
1084 setOperationAction(ISD::FRINT, MVT::v8f32, Legal); in X86TargetLowering()
1085 setOperationAction(ISD::FNEARBYINT, MVT::v8f32, Legal); in X86TargetLowering()
1086 setOperationAction(ISD::FNEG, MVT::v8f32, Custom); in X86TargetLowering()
1087 setOperationAction(ISD::FABS, MVT::v8f32, Custom); in X86TargetLowering()
1089 setOperationAction(ISD::FADD, MVT::v4f64, Legal); in X86TargetLowering()
1090 setOperationAction(ISD::FSUB, MVT::v4f64, Legal); in X86TargetLowering()
1091 setOperationAction(ISD::FMUL, MVT::v4f64, Legal); in X86TargetLowering()
1092 setOperationAction(ISD::FDIV, MVT::v4f64, Legal); in X86TargetLowering()
1093 setOperationAction(ISD::FSQRT, MVT::v4f64, Legal); in X86TargetLowering()
1094 setOperationAction(ISD::FFLOOR, MVT::v4f64, Legal); in X86TargetLowering()
1095 setOperationAction(ISD::FCEIL, MVT::v4f64, Legal); in X86TargetLowering()
1096 setOperationAction(ISD::FTRUNC, MVT::v4f64, Legal); in X86TargetLowering()
1097 setOperationAction(ISD::FRINT, MVT::v4f64, Legal); in X86TargetLowering()
1098 setOperationAction(ISD::FNEARBYINT, MVT::v4f64, Legal); in X86TargetLowering()
1099 setOperationAction(ISD::FNEG, MVT::v4f64, Custom); in X86TargetLowering()
1100 setOperationAction(ISD::FABS, MVT::v4f64, Custom); in X86TargetLowering()
1104 setOperationAction(ISD::FP_TO_SINT, MVT::v8i16, Promote); in X86TargetLowering()
1105 setOperationAction(ISD::FP_TO_UINT, MVT::v8i16, Promote); in X86TargetLowering()
1106 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Legal); in X86TargetLowering()
1108 setOperationAction(ISD::SINT_TO_FP, MVT::v8i16, Promote); in X86TargetLowering()
1109 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal); in X86TargetLowering()
1110 setOperationAction(ISD::FP_ROUND, MVT::v4f32, Legal); in X86TargetLowering()
1112 setOperationAction(ISD::UINT_TO_FP, MVT::v8i8, Custom); in X86TargetLowering()
1113 setOperationAction(ISD::UINT_TO_FP, MVT::v8i16, Custom); in X86TargetLowering()
1118 setOperationAction(ISD::SRL, MVT::v16i16, Custom); in X86TargetLowering()
1119 setOperationAction(ISD::SRL, MVT::v32i8, Custom); in X86TargetLowering()
1121 setOperationAction(ISD::SHL, MVT::v16i16, Custom); in X86TargetLowering()
1122 setOperationAction(ISD::SHL, MVT::v32i8, Custom); in X86TargetLowering()
1124 setOperationAction(ISD::SRA, MVT::v16i16, Custom); in X86TargetLowering()
1125 setOperationAction(ISD::SRA, MVT::v32i8, Custom); in X86TargetLowering()
1127 setOperationAction(ISD::SETCC, MVT::v32i8, Custom); in X86TargetLowering()
1128 setOperationAction(ISD::SETCC, MVT::v16i16, Custom); in X86TargetLowering()
1129 setOperationAction(ISD::SETCC, MVT::v8i32, Custom); in X86TargetLowering()
1130 setOperationAction(ISD::SETCC, MVT::v4i64, Custom); in X86TargetLowering()
1132 setOperationAction(ISD::SELECT, MVT::v4f64, Custom); in X86TargetLowering()
1133 setOperationAction(ISD::SELECT, MVT::v4i64, Custom); in X86TargetLowering()
1134 setOperationAction(ISD::SELECT, MVT::v8f32, Custom); in X86TargetLowering()
1136 setOperationAction(ISD::SIGN_EXTEND, MVT::v4i64, Custom); in X86TargetLowering()
1137 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i32, Custom); in X86TargetLowering()
1138 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i16, Custom); in X86TargetLowering()
1139 setOperationAction(ISD::ZERO_EXTEND, MVT::v4i64, Custom); in X86TargetLowering()
1140 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i32, Custom); in X86TargetLowering()
1141 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i16, Custom); in X86TargetLowering()
1142 setOperationAction(ISD::ANY_EXTEND, MVT::v4i64, Custom); in X86TargetLowering()
1143 setOperationAction(ISD::ANY_EXTEND, MVT::v8i32, Custom); in X86TargetLowering()
1144 setOperationAction(ISD::ANY_EXTEND, MVT::v16i16, Custom); in X86TargetLowering()
1145 setOperationAction(ISD::TRUNCATE, MVT::v16i8, Custom); in X86TargetLowering()
1146 setOperationAction(ISD::TRUNCATE, MVT::v8i16, Custom); in X86TargetLowering()
1147 setOperationAction(ISD::TRUNCATE, MVT::v4i32, Custom); in X86TargetLowering()
1149 setOperationAction(ISD::CTPOP, MVT::v32i8, Custom); in X86TargetLowering()
1150 setOperationAction(ISD::CTPOP, MVT::v16i16, Custom); in X86TargetLowering()
1151 setOperationAction(ISD::CTPOP, MVT::v8i32, Custom); in X86TargetLowering()
1152 setOperationAction(ISD::CTPOP, MVT::v4i64, Custom); in X86TargetLowering()
1154 setOperationAction(ISD::CTTZ, MVT::v32i8, Custom); in X86TargetLowering()
1155 setOperationAction(ISD::CTTZ, MVT::v16i16, Custom); in X86TargetLowering()
1156 setOperationAction(ISD::CTTZ, MVT::v8i32, Custom); in X86TargetLowering()
1157 setOperationAction(ISD::CTTZ, MVT::v4i64, Custom); in X86TargetLowering()
1158 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v32i8, Custom); in X86TargetLowering()
1159 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v16i16, Custom); in X86TargetLowering()
1160 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i32, Custom); in X86TargetLowering()
1161 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i64, Custom); in X86TargetLowering()
1164 setOperationAction(ISD::FMA, MVT::v8f32, Legal); in X86TargetLowering()
1165 setOperationAction(ISD::FMA, MVT::v4f64, Legal); in X86TargetLowering()
1166 setOperationAction(ISD::FMA, MVT::v4f32, Legal); in X86TargetLowering()
1167 setOperationAction(ISD::FMA, MVT::v2f64, Legal); in X86TargetLowering()
1168 setOperationAction(ISD::FMA, MVT::f32, Legal); in X86TargetLowering()
1169 setOperationAction(ISD::FMA, MVT::f64, Legal); in X86TargetLowering()
1173 setOperationAction(ISD::ADD, MVT::v4i64, Legal); in X86TargetLowering()
1174 setOperationAction(ISD::ADD, MVT::v8i32, Legal); in X86TargetLowering()
1175 setOperationAction(ISD::ADD, MVT::v16i16, Legal); in X86TargetLowering()
1176 setOperationAction(ISD::ADD, MVT::v32i8, Legal); in X86TargetLowering()
1178 setOperationAction(ISD::SUB, MVT::v4i64, Legal); in X86TargetLowering()
1179 setOperationAction(ISD::SUB, MVT::v8i32, Legal); in X86TargetLowering()
1180 setOperationAction(ISD::SUB, MVT::v16i16, Legal); in X86TargetLowering()
1181 setOperationAction(ISD::SUB, MVT::v32i8, Legal); in X86TargetLowering()
1183 setOperationAction(ISD::MUL, MVT::v4i64, Custom); in X86TargetLowering()
1184 setOperationAction(ISD::MUL, MVT::v8i32, Legal); in X86TargetLowering()
1185 setOperationAction(ISD::MUL, MVT::v16i16, Legal); in X86TargetLowering()
1186 setOperationAction(ISD::MUL, MVT::v32i8, Custom); in X86TargetLowering()
1188 setOperationAction(ISD::UMUL_LOHI, MVT::v8i32, Custom); in X86TargetLowering()
1189 setOperationAction(ISD::SMUL_LOHI, MVT::v8i32, Custom); in X86TargetLowering()
1190 setOperationAction(ISD::MULHU, MVT::v16i16, Legal); in X86TargetLowering()
1191 setOperationAction(ISD::MULHS, MVT::v16i16, Legal); in X86TargetLowering()
1193 setOperationAction(ISD::SMAX, MVT::v32i8, Legal); in X86TargetLowering()
1194 setOperationAction(ISD::SMAX, MVT::v16i16, Legal); in X86TargetLowering()
1195 setOperationAction(ISD::SMAX, MVT::v8i32, Legal); in X86TargetLowering()
1196 setOperationAction(ISD::UMAX, MVT::v32i8, Legal); in X86TargetLowering()
1197 setOperationAction(ISD::UMAX, MVT::v16i16, Legal); in X86TargetLowering()
1198 setOperationAction(ISD::UMAX, MVT::v8i32, Legal); in X86TargetLowering()
1199 setOperationAction(ISD::SMIN, MVT::v32i8, Legal); in X86TargetLowering()
1200 setOperationAction(ISD::SMIN, MVT::v16i16, Legal); in X86TargetLowering()
1201 setOperationAction(ISD::SMIN, MVT::v8i32, Legal); in X86TargetLowering()
1202 setOperationAction(ISD::UMIN, MVT::v32i8, Legal); in X86TargetLowering()
1203 setOperationAction(ISD::UMIN, MVT::v16i16, Legal); in X86TargetLowering()
1204 setOperationAction(ISD::UMIN, MVT::v8i32, Legal); in X86TargetLowering()
1208 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Custom); in X86TargetLowering()
1225 setOperationAction(ISD::ADD, MVT::v4i64, Custom); in X86TargetLowering()
1226 setOperationAction(ISD::ADD, MVT::v8i32, Custom); in X86TargetLowering()
1227 setOperationAction(ISD::ADD, MVT::v16i16, Custom); in X86TargetLowering()
1228 setOperationAction(ISD::ADD, MVT::v32i8, Custom); in X86TargetLowering()
1230 setOperationAction(ISD::SUB, MVT::v4i64, Custom); in X86TargetLowering()
1231 setOperationAction(ISD::SUB, MVT::v8i32, Custom); in X86TargetLowering()
1232 setOperationAction(ISD::SUB, MVT::v16i16, Custom); in X86TargetLowering()
1233 setOperationAction(ISD::SUB, MVT::v32i8, Custom); in X86TargetLowering()
1235 setOperationAction(ISD::MUL, MVT::v4i64, Custom); in X86TargetLowering()
1236 setOperationAction(ISD::MUL, MVT::v8i32, Custom); in X86TargetLowering()
1237 setOperationAction(ISD::MUL, MVT::v16i16, Custom); in X86TargetLowering()
1238 setOperationAction(ISD::MUL, MVT::v32i8, Custom); in X86TargetLowering()
1240 setOperationAction(ISD::SMAX, MVT::v32i8, Custom); in X86TargetLowering()
1241 setOperationAction(ISD::SMAX, MVT::v16i16, Custom); in X86TargetLowering()
1242 setOperationAction(ISD::SMAX, MVT::v8i32, Custom); in X86TargetLowering()
1243 setOperationAction(ISD::UMAX, MVT::v32i8, Custom); in X86TargetLowering()
1244 setOperationAction(ISD::UMAX, MVT::v16i16, Custom); in X86TargetLowering()
1245 setOperationAction(ISD::UMAX, MVT::v8i32, Custom); in X86TargetLowering()
1246 setOperationAction(ISD::SMIN, MVT::v32i8, Custom); in X86TargetLowering()
1247 setOperationAction(ISD::SMIN, MVT::v16i16, Custom); in X86TargetLowering()
1248 setOperationAction(ISD::SMIN, MVT::v8i32, Custom); in X86TargetLowering()
1249 setOperationAction(ISD::UMIN, MVT::v32i8, Custom); in X86TargetLowering()
1250 setOperationAction(ISD::UMIN, MVT::v16i16, Custom); in X86TargetLowering()
1251 setOperationAction(ISD::UMIN, MVT::v8i32, Custom); in X86TargetLowering()
1256 setOperationAction(ISD::SRL, MVT::v4i64, Custom); in X86TargetLowering()
1257 setOperationAction(ISD::SRL, MVT::v8i32, Custom); in X86TargetLowering()
1259 setOperationAction(ISD::SHL, MVT::v4i64, Custom); in X86TargetLowering()
1260 setOperationAction(ISD::SHL, MVT::v8i32, Custom); in X86TargetLowering()
1262 setOperationAction(ISD::SRA, MVT::v4i64, Custom); in X86TargetLowering()
1263 setOperationAction(ISD::SRA, MVT::v8i32, Custom); in X86TargetLowering()
1268 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
1269 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1274 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1280 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1281 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1282 setOperationAction(ISD::VSELECT, VT, Custom); in X86TargetLowering()
1283 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1284 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1285 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1286 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1287 setOperationAction(ISD::CONCAT_VECTORS, VT, Custom); in X86TargetLowering()
1291 setOperationAction(ISD::VSELECT, MVT::v32i8, Legal); in X86TargetLowering()
1295 setOperationAction(ISD::AND, VT, Promote); in X86TargetLowering()
1297 setOperationAction(ISD::OR, VT, Promote); in X86TargetLowering()
1299 setOperationAction(ISD::XOR, VT, Promote); in X86TargetLowering()
1301 setOperationAction(ISD::LOAD, VT, Promote); in X86TargetLowering()
1303 setOperationAction(ISD::SELECT, VT, Promote); in X86TargetLowering()
1334 setOperationAction(ISD::BR_CC, MVT::i1, Expand); in X86TargetLowering()
1335 setOperationAction(ISD::SETCC, MVT::i1, Custom); in X86TargetLowering()
1336 setOperationAction(ISD::SELECT_CC, MVT::i1, Expand); in X86TargetLowering()
1337 setOperationAction(ISD::XOR, MVT::i1, Legal); in X86TargetLowering()
1338 setOperationAction(ISD::OR, MVT::i1, Legal); in X86TargetLowering()
1339 setOperationAction(ISD::AND, MVT::i1, Legal); in X86TargetLowering()
1340 setOperationAction(ISD::SUB, MVT::i1, Custom); in X86TargetLowering()
1341 setOperationAction(ISD::ADD, MVT::i1, Custom); in X86TargetLowering()
1342 setOperationAction(ISD::MUL, MVT::i1, Custom); in X86TargetLowering()
1343 setOperationAction(ISD::LOAD, MVT::v16f32, Legal); in X86TargetLowering()
1344 setOperationAction(ISD::LOAD, MVT::v8f64, Legal); in X86TargetLowering()
1345 setOperationAction(ISD::LOAD, MVT::v8i64, Legal); in X86TargetLowering()
1346 setOperationAction(ISD::LOAD, MVT::v16i32, Legal); in X86TargetLowering()
1347 setOperationAction(ISD::LOAD, MVT::v16i1, Legal); in X86TargetLowering()
1349 setOperationAction(ISD::FADD, MVT::v16f32, Legal); in X86TargetLowering()
1350 setOperationAction(ISD::FSUB, MVT::v16f32, Legal); in X86TargetLowering()
1351 setOperationAction(ISD::FMUL, MVT::v16f32, Legal); in X86TargetLowering()
1352 setOperationAction(ISD::FDIV, MVT::v16f32, Legal); in X86TargetLowering()
1353 setOperationAction(ISD::FSQRT, MVT::v16f32, Legal); in X86TargetLowering()
1354 setOperationAction(ISD::FNEG, MVT::v16f32, Custom); in X86TargetLowering()
1355 setOperationAction(ISD::FABS, MVT::v16f32, Custom); in X86TargetLowering()
1357 setOperationAction(ISD::FADD, MVT::v8f64, Legal); in X86TargetLowering()
1358 setOperationAction(ISD::FSUB, MVT::v8f64, Legal); in X86TargetLowering()
1359 setOperationAction(ISD::FMUL, MVT::v8f64, Legal); in X86TargetLowering()
1360 setOperationAction(ISD::FDIV, MVT::v8f64, Legal); in X86TargetLowering()
1361 setOperationAction(ISD::FSQRT, MVT::v8f64, Legal); in X86TargetLowering()
1362 setOperationAction(ISD::FNEG, MVT::v8f64, Custom); in X86TargetLowering()
1363 setOperationAction(ISD::FABS, MVT::v8f64, Custom); in X86TargetLowering()
1364 setOperationAction(ISD::FMA, MVT::v8f64, Legal); in X86TargetLowering()
1365 setOperationAction(ISD::FMA, MVT::v16f32, Legal); in X86TargetLowering()
1367 setOperationAction(ISD::FP_TO_SINT, MVT::v16i32, Legal); in X86TargetLowering()
1368 setOperationAction(ISD::FP_TO_UINT, MVT::v16i32, Legal); in X86TargetLowering()
1369 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Legal); in X86TargetLowering()
1370 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal); in X86TargetLowering()
1371 setOperationAction(ISD::SINT_TO_FP, MVT::v16i32, Legal); in X86TargetLowering()
1372 setOperationAction(ISD::SINT_TO_FP, MVT::v8i1, Custom); in X86TargetLowering()
1373 setOperationAction(ISD::SINT_TO_FP, MVT::v16i1, Custom); in X86TargetLowering()
1374 setOperationAction(ISD::SINT_TO_FP, MVT::v16i8, Promote); in X86TargetLowering()
1375 setOperationAction(ISD::SINT_TO_FP, MVT::v16i16, Promote); in X86TargetLowering()
1376 setOperationAction(ISD::UINT_TO_FP, MVT::v16i32, Legal); in X86TargetLowering()
1377 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Legal); in X86TargetLowering()
1378 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal); in X86TargetLowering()
1379 setOperationAction(ISD::UINT_TO_FP, MVT::v16i8, Custom); in X86TargetLowering()
1380 setOperationAction(ISD::UINT_TO_FP, MVT::v16i16, Custom); in X86TargetLowering()
1381 setOperationAction(ISD::FP_ROUND, MVT::v8f32, Legal); in X86TargetLowering()
1382 setOperationAction(ISD::FP_EXTEND, MVT::v8f32, Legal); in X86TargetLowering()
1402 setOperationAction(ISD::MLOAD, MVT::v8i32, Custom); in X86TargetLowering()
1403 setOperationAction(ISD::MLOAD, MVT::v8f32, Custom); in X86TargetLowering()
1404 setOperationAction(ISD::MSTORE, MVT::v8i32, Custom); in X86TargetLowering()
1405 setOperationAction(ISD::MSTORE, MVT::v8f32, Custom); in X86TargetLowering()
1407 setOperationAction(ISD::TRUNCATE, MVT::i1, Custom); in X86TargetLowering()
1408 setOperationAction(ISD::TRUNCATE, MVT::v16i8, Custom); in X86TargetLowering()
1409 setOperationAction(ISD::TRUNCATE, MVT::v8i32, Custom); in X86TargetLowering()
1410 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v8i1, Custom); in X86TargetLowering()
1411 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v16i1, Custom); in X86TargetLowering()
1413 setOperationAction(ISD::TRUNCATE, MVT::v2i1, Custom); in X86TargetLowering()
1414 setOperationAction(ISD::TRUNCATE, MVT::v4i1, Custom); in X86TargetLowering()
1416 setOperationAction(ISD::SINT_TO_FP, MVT::v8i64, Legal); in X86TargetLowering()
1417 setOperationAction(ISD::UINT_TO_FP, MVT::v8i64, Legal); in X86TargetLowering()
1418 setOperationAction(ISD::FP_TO_SINT, MVT::v8i64, Legal); in X86TargetLowering()
1419 setOperationAction(ISD::FP_TO_UINT, MVT::v8i64, Legal); in X86TargetLowering()
1421 setOperationAction(ISD::SINT_TO_FP, MVT::v4i64, Legal); in X86TargetLowering()
1422 setOperationAction(ISD::SINT_TO_FP, MVT::v2i64, Legal); in X86TargetLowering()
1423 setOperationAction(ISD::UINT_TO_FP, MVT::v4i64, Legal); in X86TargetLowering()
1424 setOperationAction(ISD::UINT_TO_FP, MVT::v2i64, Legal); in X86TargetLowering()
1425 setOperationAction(ISD::FP_TO_SINT, MVT::v4i64, Legal); in X86TargetLowering()
1426 setOperationAction(ISD::FP_TO_SINT, MVT::v2i64, Legal); in X86TargetLowering()
1427 setOperationAction(ISD::FP_TO_UINT, MVT::v4i64, Legal); in X86TargetLowering()
1428 setOperationAction(ISD::FP_TO_UINT, MVT::v2i64, Legal); in X86TargetLowering()
1432 setOperationAction(ISD::SINT_TO_FP, MVT::v8i32, Legal); in X86TargetLowering()
1433 setOperationAction(ISD::UINT_TO_FP, MVT::v8i32, Legal); in X86TargetLowering()
1434 setOperationAction(ISD::FP_TO_SINT, MVT::v8i32, Legal); in X86TargetLowering()
1435 setOperationAction(ISD::FP_TO_UINT, MVT::v8i32, Legal); in X86TargetLowering()
1436 setOperationAction(ISD::SINT_TO_FP, MVT::v4i32, Legal); in X86TargetLowering()
1437 setOperationAction(ISD::UINT_TO_FP, MVT::v4i32, Legal); in X86TargetLowering()
1438 setOperationAction(ISD::FP_TO_SINT, MVT::v4i32, Legal); in X86TargetLowering()
1439 setOperationAction(ISD::FP_TO_UINT, MVT::v4i32, Legal); in X86TargetLowering()
1441 setOperationAction(ISD::TRUNCATE, MVT::v8i1, Custom); in X86TargetLowering()
1442 setOperationAction(ISD::TRUNCATE, MVT::v16i1, Custom); in X86TargetLowering()
1443 setOperationAction(ISD::TRUNCATE, MVT::v16i16, Custom); in X86TargetLowering()
1444 setOperationAction(ISD::ZERO_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1445 setOperationAction(ISD::ZERO_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1446 setOperationAction(ISD::ANY_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1447 setOperationAction(ISD::ANY_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1448 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i32, Custom); in X86TargetLowering()
1449 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i64, Custom); in X86TargetLowering()
1450 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i8, Custom); in X86TargetLowering()
1451 setOperationAction(ISD::SIGN_EXTEND, MVT::v8i16, Custom); in X86TargetLowering()
1452 setOperationAction(ISD::SIGN_EXTEND, MVT::v16i16, Custom); in X86TargetLowering()
1454 setOperationAction(ISD::SIGN_EXTEND, MVT::v4i32, Custom); in X86TargetLowering()
1455 setOperationAction(ISD::SIGN_EXTEND, MVT::v2i64, Custom); in X86TargetLowering()
1457 setOperationAction(ISD::FFLOOR, MVT::v16f32, Legal); in X86TargetLowering()
1458 setOperationAction(ISD::FFLOOR, MVT::v8f64, Legal); in X86TargetLowering()
1459 setOperationAction(ISD::FCEIL, MVT::v16f32, Legal); in X86TargetLowering()
1460 setOperationAction(ISD::FCEIL, MVT::v8f64, Legal); in X86TargetLowering()
1461 setOperationAction(ISD::FTRUNC, MVT::v16f32, Legal); in X86TargetLowering()
1462 setOperationAction(ISD::FTRUNC, MVT::v8f64, Legal); in X86TargetLowering()
1463 setOperationAction(ISD::FRINT, MVT::v16f32, Legal); in X86TargetLowering()
1464 setOperationAction(ISD::FRINT, MVT::v8f64, Legal); in X86TargetLowering()
1465 setOperationAction(ISD::FNEARBYINT, MVT::v16f32, Legal); in X86TargetLowering()
1466 setOperationAction(ISD::FNEARBYINT, MVT::v8f64, Legal); in X86TargetLowering()
1468 setOperationAction(ISD::CONCAT_VECTORS, MVT::v8f64, Custom); in X86TargetLowering()
1469 setOperationAction(ISD::CONCAT_VECTORS, MVT::v8i64, Custom); in X86TargetLowering()
1470 setOperationAction(ISD::CONCAT_VECTORS, MVT::v16f32, Custom); in X86TargetLowering()
1471 setOperationAction(ISD::CONCAT_VECTORS, MVT::v16i32, Custom); in X86TargetLowering()
1472 setOperationAction(ISD::CONCAT_VECTORS, MVT::v16i1, Custom); in X86TargetLowering()
1474 setOperationAction(ISD::SETCC, MVT::v16i1, Custom); in X86TargetLowering()
1475 setOperationAction(ISD::SETCC, MVT::v8i1, Custom); in X86TargetLowering()
1477 setOperationAction(ISD::MUL, MVT::v8i64, Custom); in X86TargetLowering()
1479 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v8i1, Custom); in X86TargetLowering()
1480 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v16i1, Custom); in X86TargetLowering()
1481 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v16i1, Custom); in X86TargetLowering()
1482 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v16i1, Custom); in X86TargetLowering()
1483 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v8i1, Custom); in X86TargetLowering()
1484 setOperationAction(ISD::BUILD_VECTOR, MVT::v8i1, Custom); in X86TargetLowering()
1485 setOperationAction(ISD::BUILD_VECTOR, MVT::v16i1, Custom); in X86TargetLowering()
1486 setOperationAction(ISD::SELECT, MVT::v8f64, Custom); in X86TargetLowering()
1487 setOperationAction(ISD::SELECT, MVT::v8i64, Custom); in X86TargetLowering()
1488 setOperationAction(ISD::SELECT, MVT::v16f32, Custom); in X86TargetLowering()
1489 setOperationAction(ISD::SELECT, MVT::v16i1, Custom); in X86TargetLowering()
1490 setOperationAction(ISD::SELECT, MVT::v8i1, Custom); in X86TargetLowering()
1492 setOperationAction(ISD::SMAX, MVT::v16i32, Legal); in X86TargetLowering()
1493 setOperationAction(ISD::SMAX, MVT::v8i64, Legal); in X86TargetLowering()
1494 setOperationAction(ISD::UMAX, MVT::v16i32, Legal); in X86TargetLowering()
1495 setOperationAction(ISD::UMAX, MVT::v8i64, Legal); in X86TargetLowering()
1496 setOperationAction(ISD::SMIN, MVT::v16i32, Legal); in X86TargetLowering()
1497 setOperationAction(ISD::SMIN, MVT::v8i64, Legal); in X86TargetLowering()
1498 setOperationAction(ISD::UMIN, MVT::v16i32, Legal); in X86TargetLowering()
1499 setOperationAction(ISD::UMIN, MVT::v8i64, Legal); in X86TargetLowering()
1501 setOperationAction(ISD::ADD, MVT::v8i64, Legal); in X86TargetLowering()
1502 setOperationAction(ISD::ADD, MVT::v16i32, Legal); in X86TargetLowering()
1504 setOperationAction(ISD::SUB, MVT::v8i64, Legal); in X86TargetLowering()
1505 setOperationAction(ISD::SUB, MVT::v16i32, Legal); in X86TargetLowering()
1507 setOperationAction(ISD::MUL, MVT::v16i32, Legal); in X86TargetLowering()
1509 setOperationAction(ISD::SRL, MVT::v8i64, Custom); in X86TargetLowering()
1510 setOperationAction(ISD::SRL, MVT::v16i32, Custom); in X86TargetLowering()
1512 setOperationAction(ISD::SHL, MVT::v8i64, Custom); in X86TargetLowering()
1513 setOperationAction(ISD::SHL, MVT::v16i32, Custom); in X86TargetLowering()
1515 setOperationAction(ISD::SRA, MVT::v8i64, Custom); in X86TargetLowering()
1516 setOperationAction(ISD::SRA, MVT::v16i32, Custom); in X86TargetLowering()
1518 setOperationAction(ISD::AND, MVT::v8i64, Legal); in X86TargetLowering()
1519 setOperationAction(ISD::OR, MVT::v8i64, Legal); in X86TargetLowering()
1520 setOperationAction(ISD::XOR, MVT::v8i64, Legal); in X86TargetLowering()
1521 setOperationAction(ISD::AND, MVT::v16i32, Legal); in X86TargetLowering()
1522 setOperationAction(ISD::OR, MVT::v16i32, Legal); in X86TargetLowering()
1523 setOperationAction(ISD::XOR, MVT::v16i32, Legal); in X86TargetLowering()
1526 setOperationAction(ISD::CTLZ, MVT::v8i64, Legal); in X86TargetLowering()
1527 setOperationAction(ISD::CTLZ, MVT::v16i32, Legal); in X86TargetLowering()
1528 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v8i64, Legal); in X86TargetLowering()
1529 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v16i32, Legal); in X86TargetLowering()
1531 setOperationAction(ISD::CTLZ, MVT::v8i16, Custom); in X86TargetLowering()
1532 setOperationAction(ISD::CTLZ, MVT::v16i8, Custom); in X86TargetLowering()
1533 setOperationAction(ISD::CTLZ, MVT::v16i16, Custom); in X86TargetLowering()
1534 setOperationAction(ISD::CTLZ, MVT::v32i8, Custom); in X86TargetLowering()
1535 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v8i16, Custom); in X86TargetLowering()
1536 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v16i8, Custom); in X86TargetLowering()
1537 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v16i16, Custom); in X86TargetLowering()
1538 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v32i8, Custom); in X86TargetLowering()
1540 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i64, Custom); in X86TargetLowering()
1541 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v16i32, Custom); in X86TargetLowering()
1544 setOperationAction(ISD::CTLZ, MVT::v4i64, Legal); in X86TargetLowering()
1545 setOperationAction(ISD::CTLZ, MVT::v8i32, Legal); in X86TargetLowering()
1546 setOperationAction(ISD::CTLZ, MVT::v2i64, Legal); in X86TargetLowering()
1547 setOperationAction(ISD::CTLZ, MVT::v4i32, Legal); in X86TargetLowering()
1548 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v4i64, Legal); in X86TargetLowering()
1549 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v8i32, Legal); in X86TargetLowering()
1550 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v2i64, Legal); in X86TargetLowering()
1551 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v4i32, Legal); in X86TargetLowering()
1553 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i64, Custom); in X86TargetLowering()
1554 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v8i32, Custom); in X86TargetLowering()
1555 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v2i64, Custom); in X86TargetLowering()
1556 setOperationAction(ISD::CTTZ_ZERO_UNDEF, MVT::v4i32, Custom); in X86TargetLowering()
1558 setOperationAction(ISD::CTLZ, MVT::v4i64, Custom); in X86TargetLowering()
1559 setOperationAction(ISD::CTLZ, MVT::v8i32, Custom); in X86TargetLowering()
1560 setOperationAction(ISD::CTLZ, MVT::v2i64, Custom); in X86TargetLowering()
1561 setOperationAction(ISD::CTLZ, MVT::v4i32, Custom); in X86TargetLowering()
1562 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v4i64, Custom); in X86TargetLowering()
1563 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v8i32, Custom); in X86TargetLowering()
1564 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v2i64, Custom); in X86TargetLowering()
1565 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v4i32, Custom); in X86TargetLowering()
1570 setOperationAction(ISD::MUL, MVT::v2i64, Legal); in X86TargetLowering()
1571 setOperationAction(ISD::MUL, MVT::v4i64, Legal); in X86TargetLowering()
1572 setOperationAction(ISD::MUL, MVT::v8i64, Legal); in X86TargetLowering()
1578 setOperationAction(ISD::AND, VT, Legal); in X86TargetLowering()
1579 setOperationAction(ISD::OR, VT, Legal); in X86TargetLowering()
1580 setOperationAction(ISD::XOR, VT, Legal); in X86TargetLowering()
1583 setOperationAction(ISD::MGATHER, VT, Custom); in X86TargetLowering()
1584 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
1589 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1592 setOperationAction(ISD::EXTRACT_SUBVECTOR, VT, Legal); in X86TargetLowering()
1599 setOperationAction(ISD::VECTOR_SHUFFLE, VT, Custom); in X86TargetLowering()
1600 setOperationAction(ISD::INSERT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1601 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1602 setOperationAction(ISD::VSELECT, VT, Legal); in X86TargetLowering()
1603 setOperationAction(ISD::EXTRACT_VECTOR_ELT, VT, Custom); in X86TargetLowering()
1604 setOperationAction(ISD::SCALAR_TO_VECTOR, VT, Custom); in X86TargetLowering()
1605 setOperationAction(ISD::INSERT_SUBVECTOR, VT, Custom); in X86TargetLowering()
1606 setOperationAction(ISD::MLOAD, VT, Legal); in X86TargetLowering()
1607 setOperationAction(ISD::MSTORE, VT, Legal); in X86TargetLowering()
1608 setOperationAction(ISD::MGATHER, VT, Legal); in X86TargetLowering()
1609 setOperationAction(ISD::MSCATTER, VT, Custom); in X86TargetLowering()
1613 setOperationAction(ISD::SELECT, VT, Promote); in X86TargetLowering()
1625 setOperationAction(ISD::LOAD, MVT::v32i16, Legal); in X86TargetLowering()
1626 setOperationAction(ISD::LOAD, MVT::v64i8, Legal); in X86TargetLowering()
1627 setOperationAction(ISD::SETCC, MVT::v32i1, Custom); in X86TargetLowering()
1628 setOperationAction(ISD::SETCC, MVT::v64i1, Custom); in X86TargetLowering()
1629 setOperationAction(ISD::ADD, MVT::v32i16, Legal); in X86TargetLowering()
1630 setOperationAction(ISD::ADD, MVT::v64i8, Legal); in X86TargetLowering()
1631 setOperationAction(ISD::SUB, MVT::v32i16, Legal); in X86TargetLowering()
1632 setOperationAction(ISD::SUB, MVT::v64i8, Legal); in X86TargetLowering()
1633 setOperationAction(ISD::MUL, MVT::v32i16, Legal); in X86TargetLowering()
1634 setOperationAction(ISD::MULHS, MVT::v32i16, Legal); in X86TargetLowering()
1635 setOperationAction(ISD::MULHU, MVT::v32i16, Legal); in X86TargetLowering()
1636 setOperationAction(ISD::CONCAT_VECTORS, MVT::v32i1, Custom); in X86TargetLowering()
1637 setOperationAction(ISD::CONCAT_VECTORS, MVT::v64i1, Custom); in X86TargetLowering()
1638 setOperationAction(ISD::CONCAT_VECTORS, MVT::v32i16, Custom); in X86TargetLowering()
1639 setOperationAction(ISD::CONCAT_VECTORS, MVT::v64i8, Custom); in X86TargetLowering()
1640 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v32i1, Custom); in X86TargetLowering()
1641 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v64i1, Custom); in X86TargetLowering()
1642 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v32i16, Custom); in X86TargetLowering()
1643 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v64i8, Custom); in X86TargetLowering()
1644 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v32i16, Custom); in X86TargetLowering()
1645 setOperationAction(ISD::EXTRACT_VECTOR_ELT, MVT::v64i8, Custom); in X86TargetLowering()
1646 setOperationAction(ISD::SELECT, MVT::v32i1, Custom); in X86TargetLowering()
1647 setOperationAction(ISD::SELECT, MVT::v64i1, Custom); in X86TargetLowering()
1648 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
1649 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i8, Custom); in X86TargetLowering()
1650 setOperationAction(ISD::SIGN_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1651 setOperationAction(ISD::ZERO_EXTEND, MVT::v32i16, Custom); in X86TargetLowering()
1652 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v32i16, Custom); in X86TargetLowering()
1653 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v64i8, Custom); in X86TargetLowering()
1654 setOperationAction(ISD::SIGN_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1655 setOperationAction(ISD::ZERO_EXTEND, MVT::v64i8, Custom); in X86TargetLowering()
1656 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v32i1, Custom); in X86TargetLowering()
1657 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v64i1, Custom); in X86TargetLowering()
1658 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v32i16, Custom); in X86TargetLowering()
1659 setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v64i8, Custom); in X86TargetLowering()
1660 setOperationAction(ISD::VSELECT, MVT::v32i16, Legal); in X86TargetLowering()
1661 setOperationAction(ISD::VSELECT, MVT::v64i8, Legal); in X86TargetLowering()
1662 setOperationAction(ISD::TRUNCATE, MVT::v32i1, Custom); in X86TargetLowering()
1663 setOperationAction(ISD::TRUNCATE, MVT::v64i1, Custom); in X86TargetLowering()
1664 setOperationAction(ISD::TRUNCATE, MVT::v32i8, Custom); in X86TargetLowering()
1665 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v32i1, Custom); in X86TargetLowering()
1666 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v64i1, Custom); in X86TargetLowering()
1668 setOperationAction(ISD::SMAX, MVT::v64i8, Legal); in X86TargetLowering()
1669 setOperationAction(ISD::SMAX, MVT::v32i16, Legal); in X86TargetLowering()
1670 setOperationAction(ISD::UMAX, MVT::v64i8, Legal); in X86TargetLowering()
1671 setOperationAction(ISD::UMAX, MVT::v32i16, Legal); in X86TargetLowering()
1672 setOperationAction(ISD::SMIN, MVT::v64i8, Legal); in X86TargetLowering()
1673 setOperationAction(ISD::SMIN, MVT::v32i16, Legal); in X86TargetLowering()
1674 setOperationAction(ISD::UMIN, MVT::v64i8, Legal); in X86TargetLowering()
1675 setOperationAction(ISD::UMIN, MVT::v32i16, Legal); in X86TargetLowering()
1683 setOperationAction(ISD::CTLZ, MVT::v32i16, Custom); in X86TargetLowering()
1684 setOperationAction(ISD::CTLZ, MVT::v64i8, Custom); in X86TargetLowering()
1685 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v32i16, Custom); in X86TargetLowering()
1686 setOperationAction(ISD::CTLZ_ZERO_UNDEF, MVT::v64i8, Custom); in X86TargetLowering()
1690 setOperationAction(ISD::BUILD_VECTOR, VT, Custom); in X86TargetLowering()
1691 setOperationAction(ISD::VSELECT, VT, Legal); in X86TargetLowering()
1693 setOperationAction(ISD::AND, VT, Promote); in X86TargetLowering()
1695 setOperationAction(ISD::OR, VT, Promote); in X86TargetLowering()
1697 setOperationAction(ISD::XOR, VT, Promote); in X86TargetLowering()
1706 setOperationAction(ISD::SETCC, MVT::v4i1, Custom); in X86TargetLowering()
1707 setOperationAction(ISD::SETCC, MVT::v2i1, Custom); in X86TargetLowering()
1708 setOperationAction(ISD::CONCAT_VECTORS, MVT::v4i1, Custom); in X86TargetLowering()
1709 setOperationAction(ISD::CONCAT_VECTORS, MVT::v8i1, Custom); in X86TargetLowering()
1710 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v8i1, Custom); in X86TargetLowering()
1711 setOperationAction(ISD::INSERT_SUBVECTOR, MVT::v4i1, Custom); in X86TargetLowering()
1712 setOperationAction(ISD::SELECT, MVT::v4i1, Custom); in X86TargetLowering()
1713 setOperationAction(ISD::SELECT, MVT::v2i1, Custom); in X86TargetLowering()
1714 setOperationAction(ISD::BUILD_VECTOR, MVT::v4i1, Custom); in X86TargetLowering()
1715 setOperationAction(ISD::BUILD_VECTOR, MVT::v2i1, Custom); in X86TargetLowering()
1716 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v2i1, Custom); in X86TargetLowering()
1717 setOperationAction(ISD::VECTOR_SHUFFLE, MVT::v4i1, Custom); in X86TargetLowering()
1719 setOperationAction(ISD::AND, MVT::v8i32, Legal); in X86TargetLowering()
1720 setOperationAction(ISD::OR, MVT::v8i32, Legal); in X86TargetLowering()
1721 setOperationAction(ISD::XOR, MVT::v8i32, Legal); in X86TargetLowering()
1722 setOperationAction(ISD::AND, MVT::v4i32, Legal); in X86TargetLowering()
1723 setOperationAction(ISD::OR, MVT::v4i32, Legal); in X86TargetLowering()
1724 setOperationAction(ISD::XOR, MVT::v4i32, Legal); in X86TargetLowering()
1725 setOperationAction(ISD::SRA, MVT::v2i64, Custom); in X86TargetLowering()
1726 setOperationAction(ISD::SRA, MVT::v4i64, Custom); in X86TargetLowering()
1728 setOperationAction(ISD::SMAX, MVT::v2i64, Legal); in X86TargetLowering()
1729 setOperationAction(ISD::SMAX, MVT::v4i64, Legal); in X86TargetLowering()
1730 setOperationAction(ISD::UMAX, MVT::v2i64, Legal); in X86TargetLowering()
1731 setOperationAction(ISD::UMAX, MVT::v4i64, Legal); in X86TargetLowering()
1732 setOperationAction(ISD::SMIN, MVT::v2i64, Legal); in X86TargetLowering()
1733 setOperationAction(ISD::SMIN, MVT::v4i64, Legal); in X86TargetLowering()
1734 setOperationAction(ISD::UMIN, MVT::v2i64, Legal); in X86TargetLowering()
1735 setOperationAction(ISD::UMIN, MVT::v4i64, Legal); in X86TargetLowering()
1739 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::Other, Custom); in X86TargetLowering()
1740 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::Other, Custom); in X86TargetLowering()
1741 setOperationAction(ISD::INTRINSIC_VOID, MVT::Other, Custom); in X86TargetLowering()
1743 setOperationAction(ISD::INTRINSIC_W_CHAIN, MVT::i64, Custom); in X86TargetLowering()
1744 setOperationAction(ISD::INTRINSIC_WO_CHAIN, MVT::i64, Custom); in X86TargetLowering()
1757 setOperationAction(ISD::SADDO, VT, Custom); in X86TargetLowering()
1758 setOperationAction(ISD::UADDO, VT, Custom); in X86TargetLowering()
1759 setOperationAction(ISD::SSUBO, VT, Custom); in X86TargetLowering()
1760 setOperationAction(ISD::USUBO, VT, Custom); in X86TargetLowering()
1761 setOperationAction(ISD::SMULO, VT, Custom); in X86TargetLowering()
1762 setOperationAction(ISD::UMULO, VT, Custom); in X86TargetLowering()
1779 setOperationAction(ISD::FSINCOS, MVT::f64, Custom); in X86TargetLowering()
1780 setOperationAction(ISD::FSINCOS, MVT::f32, Custom); in X86TargetLowering()
1785 setOperationAction(ISD::SDIV, MVT::i128, Custom); in X86TargetLowering()
1786 setOperationAction(ISD::UDIV, MVT::i128, Custom); in X86TargetLowering()
1787 setOperationAction(ISD::SREM, MVT::i128, Custom); in X86TargetLowering()
1788 setOperationAction(ISD::UREM, MVT::i128, Custom); in X86TargetLowering()
1789 setOperationAction(ISD::SDIVREM, MVT::i128, Custom); in X86TargetLowering()
1790 setOperationAction(ISD::UDIVREM, MVT::i128, Custom); in X86TargetLowering()