Lines Matching full:x86

18 #include "X86.h"
27 #define DEBUG_TYPE "x86-fixup-vector-constants"
39 return "X86 Fixup Vector Constants"; in getPassName()
359 assert(MI.getNumOperands() >= (OperandNo + X86::AddrNumOperands) && in processInstruction()
361 if (auto *C = X86::getConstantFromPool(MI, OperandNo)) { in processInstruction()
373 MI.getOperand(OperandNo + X86::AddrDisp).setIndex(NewCPI); in processInstruction()
393 case X86::MOVAPDrm: in processInstruction()
394 case X86::MOVAPSrm: in processInstruction()
395 case X86::MOVUPDrm: in processInstruction()
396 case X86::MOVUPSrm: in processInstruction()
398 return FixupConstant({{X86::MOVSSrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
399 {X86::MOVSDrm, 1, 64, rebuildZeroUpperCst}}, in processInstruction()
401 case X86::VMOVAPDrm: in processInstruction()
402 case X86::VMOVAPSrm: in processInstruction()
403 case X86::VMOVUPDrm: in processInstruction()
404 case X86::VMOVUPSrm: in processInstruction()
405 return FixupConstant({{X86::VMOVSSrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
406 {X86::VBROADCASTSSrm, 1, 32, rebuildSplatCst}, in processInstruction()
407 {X86::VMOVSDrm, 1, 64, rebuildZeroUpperCst}, in processInstruction()
408 {X86::VMOVDDUPrm, 1, 64, rebuildSplatCst}}, in processInstruction()
410 case X86::VMOVAPDYrm: in processInstruction()
411 case X86::VMOVAPSYrm: in processInstruction()
412 case X86::VMOVUPDYrm: in processInstruction()
413 case X86::VMOVUPSYrm: in processInstruction()
414 return FixupConstant({{X86::VBROADCASTSSYrm, 1, 32, rebuildSplatCst}, in processInstruction()
415 {X86::VBROADCASTSDYrm, 1, 64, rebuildSplatCst}, in processInstruction()
416 {X86::VBROADCASTF128rm, 1, 128, rebuildSplatCst}}, in processInstruction()
418 case X86::VMOVAPDZ128rm: in processInstruction()
419 case X86::VMOVAPSZ128rm: in processInstruction()
420 case X86::VMOVUPDZ128rm: in processInstruction()
421 case X86::VMOVUPSZ128rm: in processInstruction()
422 return FixupConstant({{X86::VMOVSSZrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
423 {X86::VBROADCASTSSZ128rm, 1, 32, rebuildSplatCst}, in processInstruction()
424 {X86::VMOVSDZrm, 1, 64, rebuildZeroUpperCst}, in processInstruction()
425 {X86::VMOVDDUPZ128rm, 1, 64, rebuildSplatCst}}, in processInstruction()
427 case X86::VMOVAPDZ256rm: in processInstruction()
428 case X86::VMOVAPSZ256rm: in processInstruction()
429 case X86::VMOVUPDZ256rm: in processInstruction()
430 case X86::VMOVUPSZ256rm: in processInstruction()
432 {{X86::VBROADCASTSSZ256rm, 1, 32, rebuildSplatCst}, in processInstruction()
433 {X86::VBROADCASTSDZ256rm, 1, 64, rebuildSplatCst}, in processInstruction()
434 {X86::VBROADCASTF32X4Z256rm, 1, 128, rebuildSplatCst}}, in processInstruction()
436 case X86::VMOVAPDZrm: in processInstruction()
437 case X86::VMOVAPSZrm: in processInstruction()
438 case X86::VMOVUPDZrm: in processInstruction()
439 case X86::VMOVUPSZrm: in processInstruction()
440 return FixupConstant({{X86::VBROADCASTSSZrm, 1, 32, rebuildSplatCst}, in processInstruction()
441 {X86::VBROADCASTSDZrm, 1, 64, rebuildSplatCst}, in processInstruction()
442 {X86::VBROADCASTF32X4rm, 1, 128, rebuildSplatCst}, in processInstruction()
443 {X86::VBROADCASTF64X4rm, 1, 256, rebuildSplatCst}}, in processInstruction()
446 case X86::MOVDQArm: in processInstruction()
447 case X86::MOVDQUrm: { in processInstruction()
449 {HasSSE41 ? X86::PMOVSXBQrm : 0, 2, 8, rebuildSExtCst}, in processInstruction()
450 {HasSSE41 ? X86::PMOVZXBQrm : 0, 2, 8, rebuildZExtCst}, in processInstruction()
451 {X86::MOVDI2PDIrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
452 {HasSSE41 ? X86::PMOVSXBDrm : 0, 4, 8, rebuildSExtCst}, in processInstruction()
453 {HasSSE41 ? X86::PMOVZXBDrm : 0, 4, 8, rebuildZExtCst}, in processInstruction()
454 {HasSSE41 ? X86::PMOVSXWQrm : 0, 2, 16, rebuildSExtCst}, in processInstruction()
455 {HasSSE41 ? X86::PMOVZXWQrm : 0, 2, 16, rebuildZExtCst}, in processInstruction()
456 {X86::MOVQI2PQIrm, 1, 64, rebuildZeroUpperCst}, in processInstruction()
457 {HasSSE41 ? X86::PMOVSXBWrm : 0, 8, 8, rebuildSExtCst}, in processInstruction()
458 {HasSSE41 ? X86::PMOVZXBWrm : 0, 8, 8, rebuildZExtCst}, in processInstruction()
459 {HasSSE41 ? X86::PMOVSXWDrm : 0, 4, 16, rebuildSExtCst}, in processInstruction()
460 {HasSSE41 ? X86::PMOVZXWDrm : 0, 4, 16, rebuildZExtCst}, in processInstruction()
461 {HasSSE41 ? X86::PMOVSXDQrm : 0, 2, 32, rebuildSExtCst}, in processInstruction()
462 {HasSSE41 ? X86::PMOVZXDQrm : 0, 2, 32, rebuildZExtCst}}; in processInstruction()
465 case X86::VMOVDQArm: in processInstruction()
466 case X86::VMOVDQUrm: { in processInstruction()
468 {HasAVX2 ? X86::VPBROADCASTBrm : 0, 1, 8, rebuildSplatCst}, in processInstruction()
469 {HasAVX2 ? X86::VPBROADCASTWrm : 0, 1, 16, rebuildSplatCst}, in processInstruction()
470 {X86::VPMOVSXBQrm, 2, 8, rebuildSExtCst}, in processInstruction()
471 {X86::VPMOVZXBQrm, 2, 8, rebuildZExtCst}, in processInstruction()
472 {X86::VMOVDI2PDIrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
473 {HasAVX2 ? X86::VPBROADCASTDrm : X86::VBROADCASTSSrm, 1, 32, in processInstruction()
475 {X86::VPMOVSXBDrm, 4, 8, rebuildSExtCst}, in processInstruction()
476 {X86::VPMOVZXBDrm, 4, 8, rebuildZExtCst}, in processInstruction()
477 {X86::VPMOVSXWQrm, 2, 16, rebuildSExtCst}, in processInstruction()
478 {X86::VPMOVZXWQrm, 2, 16, rebuildZExtCst}, in processInstruction()
479 {X86::VMOVQI2PQIrm, 1, 64, rebuildZeroUpperCst}, in processInstruction()
480 {HasAVX2 ? X86::VPBROADCASTQrm : X86::VMOVDDUPrm, 1, 64, in processInstruction()
482 {X86::VPMOVSXBWrm, 8, 8, rebuildSExtCst}, in processInstruction()
483 {X86::VPMOVZXBWrm, 8, 8, rebuildZExtCst}, in processInstruction()
484 {X86::VPMOVSXWDrm, 4, 16, rebuildSExtCst}, in processInstruction()
485 {X86::VPMOVZXWDrm, 4, 16, rebuildZExtCst}, in processInstruction()
486 {X86::VPMOVSXDQrm, 2, 32, rebuildSExtCst}, in processInstruction()
487 {X86::VPMOVZXDQrm, 2, 32, rebuildZExtCst}}; in processInstruction()
490 case X86::VMOVDQAYrm: in processInstruction()
491 case X86::VMOVDQUYrm: { in processInstruction()
493 {HasAVX2 ? X86::VPBROADCASTBYrm : 0, 1, 8, rebuildSplatCst}, in processInstruction()
494 {HasAVX2 ? X86::VPBROADCASTWYrm : 0, 1, 16, rebuildSplatCst}, in processInstruction()
495 {HasAVX2 ? X86::VPBROADCASTDYrm : X86::VBROADCASTSSYrm, 1, 32, in processInstruction()
497 {HasAVX2 ? X86::VPMOVSXBQYrm : 0, 4, 8, rebuildSExtCst}, in processInstruction()
498 {HasAVX2 ? X86::VPMOVZXBQYrm : 0, 4, 8, rebuildZExtCst}, in processInstruction()
499 {HasAVX2 ? X86::VPBROADCASTQYrm : X86::VBROADCASTSDYrm, 1, 64, in processInstruction()
501 {HasAVX2 ? X86::VPMOVSXBDYrm : 0, 8, 8, rebuildSExtCst}, in processInstruction()
502 {HasAVX2 ? X86::VPMOVZXBDYrm : 0, 8, 8, rebuildZExtCst}, in processInstruction()
503 {HasAVX2 ? X86::VPMOVSXWQYrm : 0, 4, 16, rebuildSExtCst}, in processInstruction()
504 {HasAVX2 ? X86::VPMOVZXWQYrm : 0, 4, 16, rebuildZExtCst}, in processInstruction()
505 {HasAVX2 ? X86::VBROADCASTI128rm : X86::VBROADCASTF128rm, 1, 128, in processInstruction()
507 {HasAVX2 ? X86::VPMOVSXBWYrm : 0, 16, 8, rebuildSExtCst}, in processInstruction()
508 {HasAVX2 ? X86::VPMOVZXBWYrm : 0, 16, 8, rebuildZExtCst}, in processInstruction()
509 {HasAVX2 ? X86::VPMOVSXWDYrm : 0, 8, 16, rebuildSExtCst}, in processInstruction()
510 {HasAVX2 ? X86::VPMOVZXWDYrm : 0, 8, 16, rebuildZExtCst}, in processInstruction()
511 {HasAVX2 ? X86::VPMOVSXDQYrm : 0, 4, 32, rebuildSExtCst}, in processInstruction()
512 {HasAVX2 ? X86::VPMOVZXDQYrm : 0, 4, 32, rebuildZExtCst}}; in processInstruction()
515 case X86::VMOVDQA32Z128rm: in processInstruction()
516 case X86::VMOVDQA64Z128rm: in processInstruction()
517 case X86::VMOVDQU32Z128rm: in processInstruction()
518 case X86::VMOVDQU64Z128rm: { in processInstruction()
520 {HasBWI ? X86::VPBROADCASTBZ128rm : 0, 1, 8, rebuildSplatCst}, in processInstruction()
521 {HasBWI ? X86::VPBROADCASTWZ128rm : 0, 1, 16, rebuildSplatCst}, in processInstruction()
522 {X86::VPMOVSXBQZ128rm, 2, 8, rebuildSExtCst}, in processInstruction()
523 {X86::VPMOVZXBQZ128rm, 2, 8, rebuildZExtCst}, in processInstruction()
524 {X86::VMOVDI2PDIZrm, 1, 32, rebuildZeroUpperCst}, in processInstruction()
525 {X86::VPBROADCASTDZ128rm, 1, 32, rebuildSplatCst}, in processInstruction()
526 {X86::VPMOVSXBDZ128rm, 4, 8, rebuildSExtCst}, in processInstruction()
527 {X86::VPMOVZXBDZ128rm, 4, 8, rebuildZExtCst}, in processInstruction()
528 {X86::VPMOVSXWQZ128rm, 2, 16, rebuildSExtCst}, in processInstruction()
529 {X86::VPMOVZXWQZ128rm, 2, 16, rebuildZExtCst}, in processInstruction()
530 {X86::VMOVQI2PQIZrm, 1, 64, rebuildZeroUpperCst}, in processInstruction()
531 {X86::VPBROADCASTQZ128rm, 1, 64, rebuildSplatCst}, in processInstruction()
532 {HasBWI ? X86::VPMOVSXBWZ128rm : 0, 8, 8, rebuildSExtCst}, in processInstruction()
533 {HasBWI ? X86::VPMOVZXBWZ128rm : 0, 8, 8, rebuildZExtCst}, in processInstruction()
534 {X86::VPMOVSXWDZ128rm, 4, 16, rebuildSExtCst}, in processInstruction()
535 {X86::VPMOVZXWDZ128rm, 4, 16, rebuildZExtCst}, in processInstruction()
536 {X86::VPMOVSXDQZ128rm, 2, 32, rebuildSExtCst}, in processInstruction()
537 {X86::VPMOVZXDQZ128rm, 2, 32, rebuildZExtCst}}; in processInstruction()
540 case X86::VMOVDQA32Z256rm: in processInstruction()
541 case X86::VMOVDQA64Z256rm: in processInstruction()
542 case X86::VMOVDQU32Z256rm: in processInstruction()
543 case X86::VMOVDQU64Z256rm: { in processInstruction()
545 {HasBWI ? X86::VPBROADCASTBZ256rm : 0, 1, 8, rebuildSplatCst}, in processInstruction()
546 {HasBWI ? X86::VPBROADCASTWZ256rm : 0, 1, 16, rebuildSplatCst}, in processInstruction()
547 {X86::VPBROADCASTDZ256rm, 1, 32, rebuildSplatCst}, in processInstruction()
548 {X86::VPMOVSXBQZ256rm, 4, 8, rebuildSExtCst}, in processInstruction()
549 {X86::VPMOVZXBQZ256rm, 4, 8, rebuildZExtCst}, in processInstruction()
550 {X86::VPBROADCASTQZ256rm, 1, 64, rebuildSplatCst}, in processInstruction()
551 {X86::VPMOVSXBDZ256rm, 8, 8, rebuildSExtCst}, in processInstruction()
552 {X86::VPMOVZXBDZ256rm, 8, 8, rebuildZExtCst}, in processInstruction()
553 {X86::VPMOVSXWQZ256rm, 4, 16, rebuildSExtCst}, in processInstruction()
554 {X86::VPMOVZXWQZ256rm, 4, 16, rebuildZExtCst}, in processInstruction()
555 {X86::VBROADCASTI32X4Z256rm, 1, 128, rebuildSplatCst}, in processInstruction()
556 {HasBWI ? X86::VPMOVSXBWZ256rm : 0, 16, 8, rebuildSExtCst}, in processInstruction()
557 {HasBWI ? X86::VPMOVZXBWZ256rm : 0, 16, 8, rebuildZExtCst}, in processInstruction()
558 {X86::VPMOVSXWDZ256rm, 8, 16, rebuildSExtCst}, in processInstruction()
559 {X86::VPMOVZXWDZ256rm, 8, 16, rebuildZExtCst}, in processInstruction()
560 {X86::VPMOVSXDQZ256rm, 4, 32, rebuildSExtCst}, in processInstruction()
561 {X86::VPMOVZXDQZ256rm, 4, 32, rebuildZExtCst}}; in processInstruction()
564 case X86::VMOVDQA32Zrm: in processInstruction()
565 case X86::VMOVDQA64Zrm: in processInstruction()
566 case X86::VMOVDQU32Zrm: in processInstruction()
567 case X86::VMOVDQU64Zrm: { in processInstruction()
569 {HasBWI ? X86::VPBROADCASTBZrm : 0, 1, 8, rebuildSplatCst}, in processInstruction()
570 {HasBWI ? X86::VPBROADCASTWZrm : 0, 1, 16, rebuildSplatCst}, in processInstruction()
571 {X86::VPBROADCASTDZrm, 1, 32, rebuildSplatCst}, in processInstruction()
572 {X86::VPBROADCASTQZrm, 1, 64, rebuildSplatCst}, in processInstruction()
573 {X86::VPMOVSXBQZrm, 8, 8, rebuildSExtCst}, in processInstruction()
574 {X86::VPMOVZXBQZrm, 8, 8, rebuildZExtCst}, in processInstruction()
575 {X86::VBROADCASTI32X4rm, 1, 128, rebuildSplatCst}, in processInstruction()
576 {X86::VPMOVSXBDZrm, 16, 8, rebuildSExtCst}, in processInstruction()
577 {X86::VPMOVZXBDZrm, 16, 8, rebuildZExtCst}, in processInstruction()
578 {X86::VPMOVSXWQZrm, 8, 16, rebuildSExtCst}, in processInstruction()
579 {X86::VPMOVZXWQZrm, 8, 16, rebuildZExtCst}, in processInstruction()
580 {X86::VBROADCASTI64X4rm, 1, 256, rebuildSplatCst}, in processInstruction()
581 {HasBWI ? X86::VPMOVSXBWZrm : 0, 32, 8, rebuildSExtCst}, in processInstruction()
582 {HasBWI ? X86::VPMOVZXBWZrm : 0, 32, 8, rebuildZExtCst}, in processInstruction()
583 {X86::VPMOVSXWDZrm, 16, 16, rebuildSExtCst}, in processInstruction()
584 {X86::VPMOVZXWDZrm, 16, 16, rebuildZExtCst}, in processInstruction()
585 {X86::VPMOVSXDQZrm, 8, 32, rebuildSExtCst}, in processInstruction()
586 {X86::VPMOVZXDQZrm, 8, 32, rebuildZExtCst}}; in processInstruction()
632 case X86::VANDPDrm: in processInstruction()
633 case X86::VANDPSrm: in processInstruction()
634 case X86::VPANDrm: in processInstruction()
635 OpSrc32 = X86 ::VPANDDZ128rm; in processInstruction()
636 OpSrc64 = X86 ::VPANDQZ128rm; in processInstruction()
638 case X86::VANDPDYrm: in processInstruction()
639 case X86::VANDPSYrm: in processInstruction()
640 case X86::VPANDYrm: in processInstruction()
641 OpSrc32 = X86 ::VPANDDZ256rm; in processInstruction()
642 OpSrc64 = X86 ::VPANDQZ256rm; in processInstruction()
644 case X86::VANDNPDrm: in processInstruction()
645 case X86::VANDNPSrm: in processInstruction()
646 case X86::VPANDNrm: in processInstruction()
647 OpSrc32 = X86 ::VPANDNDZ128rm; in processInstruction()
648 OpSrc64 = X86 ::VPANDNQZ128rm; in processInstruction()
650 case X86::VANDNPDYrm: in processInstruction()
651 case X86::VANDNPSYrm: in processInstruction()
652 case X86::VPANDNYrm: in processInstruction()
653 OpSrc32 = X86 ::VPANDNDZ256rm; in processInstruction()
654 OpSrc64 = X86 ::VPANDNQZ256rm; in processInstruction()
656 case X86::VORPDrm: in processInstruction()
657 case X86::VORPSrm: in processInstruction()
658 case X86::VPORrm: in processInstruction()
659 OpSrc32 = X86 ::VPORDZ128rm; in processInstruction()
660 OpSrc64 = X86 ::VPORQZ128rm; in processInstruction()
662 case X86::VORPDYrm: in processInstruction()
663 case X86::VORPSYrm: in processInstruction()
664 case X86::VPORYrm: in processInstruction()
665 OpSrc32 = X86 ::VPORDZ256rm; in processInstruction()
666 OpSrc64 = X86 ::VPORQZ256rm; in processInstruction()
668 case X86::VXORPDrm: in processInstruction()
669 case X86::VXORPSrm: in processInstruction()
670 case X86::VPXORrm: in processInstruction()
671 OpSrc32 = X86 ::VPXORDZ128rm; in processInstruction()
672 OpSrc64 = X86 ::VPXORQZ128rm; in processInstruction()
674 case X86::VXORPDYrm: in processInstruction()
675 case X86::VXORPSYrm: in processInstruction()
676 case X86::VPXORYrm: in processInstruction()
677 OpSrc32 = X86 ::VPXORDZ256rm; in processInstruction()
678 OpSrc64 = X86 ::VPXORQZ256rm; in processInstruction()