Lines Matching refs:rA
249 def LDAT : X_RD5_RS5_IM5<31, 614, (outs g8rc:$rD), (ins g8rc:$rA, u5imm:$FC),
250 "ldat $rD, $rA, $FC", IIC_LdStLoad>, isPPC64,
259 def STDAT : X_RD5_RS5_IM5<31, 742, (outs), (ins g8rc:$rS, g8rc:$rA, u5imm:$FC),
260 "stdat $rS, $rA, $FC", IIC_LdStStore>, isPPC64,
430 defm NAND8: XForm_6r<31, 476, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
431 "nand", "$rA, $rS, $rB", IIC_IntSimple,
432 [(set i64:$rA, (not (and i64:$rS, i64:$rB)))]>;
433 defm AND8 : XForm_6r<31, 28, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
434 "and", "$rA, $rS, $rB", IIC_IntSimple,
435 [(set i64:$rA, (and i64:$rS, i64:$rB))]>;
437 defm ANDC8: XForm_6r<31, 60, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
438 "andc", "$rA, $rS, $rB", IIC_IntSimple,
439 [(set i64:$rA, (and i64:$rS, (not i64:$rB)))]>;
441 defm OR8 : XForm_6r<31, 444, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
442 "or", "$rA, $rS, $rB", IIC_IntSimple,
443 [(set i64:$rA, (or i64:$rS, i64:$rB))]>;
444 defm NOR8 : XForm_6r<31, 124, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
445 "nor", "$rA, $rS, $rB", IIC_IntSimple,
446 [(set i64:$rA, (not (or i64:$rS, i64:$rB)))]>;
448 defm ORC8 : XForm_6r<31, 412, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
449 "orc", "$rA, $rS, $rB", IIC_IntSimple,
450 [(set i64:$rA, (or i64:$rS, (not i64:$rB)))]>;
452 defm EQV8 : XForm_6r<31, 284, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
453 "eqv", "$rA, $rS, $rB", IIC_IntSimple,
454 [(set i64:$rA, (not (xor i64:$rS, i64:$rB)))]>;
455 defm XOR8 : XForm_6r<31, 316, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
456 "xor", "$rA, $rS, $rB", IIC_IntSimple,
457 [(set i64:$rA, (xor i64:$rS, i64:$rB))]>;
485 defm ADD8 : XOForm_1r<31, 266, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
486 "add", "$rT, $rA, $rB", IIC_IntSimple,
487 [(set i64:$rT, (add i64:$rA, i64:$rB))]>;
492 def ADD8TLS : XOForm_1<31, 266, 0, (outs g8rc:$rT), (ins g8rc_nox0:$rA, tlsreg:$rB),
493 "add $rT, $rA, $rB", IIC_IntSimple,
494 [(set i64:$rT, (add i64:$rA, tglobaltlsaddr:$rB))]>;
497 defm ADDC8 : XOForm_1rc<31, 10, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
498 "addc", "$rT, $rA, $rB", IIC_IntGeneral,
499 [(set i64:$rT, (addc i64:$rA, i64:$rB))]>,
503 def ADDIC8 : DForm_2<12, (outs g8rc:$rD), (ins g8rc:$rA, s16imm64:$imm),
504 "addic $rD, $rA, $imm", IIC_IntGeneral,
505 [(set i64:$rD, (addc i64:$rA, imm64SExt16:$imm))]>;
506 def ADDI8 : DForm_2<14, (outs g8rc:$rD), (ins g8rc_nox0:$rA, s16imm64:$imm),
507 "addi $rD, $rA, $imm", IIC_IntSimple,
508 [(set i64:$rD, (add i64:$rA, imm64SExt16:$imm))]>;
509 def ADDIS8 : DForm_2<15, (outs g8rc:$rD), (ins g8rc_nox0:$rA, s17imm64:$imm),
510 "addis $rD, $rA, $imm", IIC_IntSimple,
511 [(set i64:$rD, (add i64:$rA, imm16ShiftedSExt:$imm))]>;
514 def SUBFIC8: DForm_2< 8, (outs g8rc:$rD), (ins g8rc:$rA, s16imm64:$imm),
515 "subfic $rD, $rA, $imm", IIC_IntGeneral,
516 [(set i64:$rD, (subc imm64SExt16:$imm, i64:$rA))]>;
518 defm SUBFC8 : XOForm_1rc<31, 8, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
519 "subfc", "$rT, $rA, $rB", IIC_IntGeneral,
520 [(set i64:$rT, (subc i64:$rB, i64:$rA))]>,
522 defm SUBF8 : XOForm_1r<31, 40, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
523 "subf", "$rT, $rA, $rB", IIC_IntGeneral,
524 [(set i64:$rT, (sub i64:$rB, i64:$rA))]>;
525 defm NEG8 : XOForm_3r<31, 104, 0, (outs g8rc:$rT), (ins g8rc:$rA),
526 "neg", "$rT, $rA", IIC_IntSimple,
527 [(set i64:$rT, (ineg i64:$rA))]>;
530 defm ADDE8 : XOForm_1rc<31, 138, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
531 "adde", "$rT, $rA, $rB", IIC_IntGeneral,
532 [(set i64:$rT, (adde i64:$rA, i64:$rB))]>;
533 defm ADDME8 : XOForm_3rc<31, 234, 0, (outs g8rc:$rT), (ins g8rc:$rA),
534 "addme", "$rT, $rA", IIC_IntGeneral,
535 [(set i64:$rT, (adde i64:$rA, -1))]>;
536 defm ADDZE8 : XOForm_3rc<31, 202, 0, (outs g8rc:$rT), (ins g8rc:$rA),
537 "addze", "$rT, $rA", IIC_IntGeneral,
538 [(set i64:$rT, (adde i64:$rA, 0))]>;
539 defm SUBFE8 : XOForm_1rc<31, 136, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
540 "subfe", "$rT, $rA, $rB", IIC_IntGeneral,
541 [(set i64:$rT, (sube i64:$rB, i64:$rA))]>;
542 defm SUBFME8 : XOForm_3rc<31, 232, 0, (outs g8rc:$rT), (ins g8rc:$rA),
543 "subfme", "$rT, $rA", IIC_IntGeneral,
544 [(set i64:$rT, (sube -1, i64:$rA))]>;
545 defm SUBFZE8 : XOForm_3rc<31, 200, 0, (outs g8rc:$rT), (ins g8rc:$rA),
546 "subfze", "$rT, $rA", IIC_IntGeneral,
547 [(set i64:$rT, (sube 0, i64:$rA))]>;
555 def ADD8TLS_ : XOForm_1<31, 266, 0, (outs g8rc:$rT), (ins g8rc:$rA, tlsreg:$rB),
556 "add $rT, $rA, $rB", IIC_IntSimple, []>;
559 defm MULHD : XOForm_1r<31, 73, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
560 "mulhd", "$rT, $rA, $rB", IIC_IntMulHW,
561 [(set i64:$rT, (mulhs i64:$rA, i64:$rB))]>;
562 defm MULHDU : XOForm_1r<31, 9, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
563 "mulhdu", "$rT, $rA, $rB", IIC_IntMulHWU,
564 [(set i64:$rT, (mulhu i64:$rA, i64:$rB))]>;
570 def CMPD : XForm_16_ext<31, 0, (outs crrc:$crD), (ins g8rc:$rA, g8rc:$rB),
571 "cmpd $crD, $rA, $rB", IIC_IntCompare>, isPPC64;
572 def CMPLD : XForm_16_ext<31, 32, (outs crrc:$crD), (ins g8rc:$rA, g8rc:$rB),
573 "cmpld $crD, $rA, $rB", IIC_IntCompare>, isPPC64;
574 def CMPDI : DForm_5_ext<11, (outs crrc:$crD), (ins g8rc:$rA, s16imm64:$imm),
575 "cmpdi $crD, $rA, $imm", IIC_IntCompare>, isPPC64;
581 (ins u1imm:$L, g8rc:$rA, g8rc:$rB),
582 "cmprb $BF, $L, $rA, $rB", IIC_IntCompare, []>,
585 (ins g8rc:$rA, g8rc:$rB), "cmpeqb $BF, $rA, $rB",
590 defm SLD : XForm_6r<31, 27, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
591 "sld", "$rA, $rS, $rB", IIC_IntRotateD,
592 [(set i64:$rA, (PPCshl i64:$rS, i32:$rB))]>, isPPC64;
593 defm SRD : XForm_6r<31, 539, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
594 "srd", "$rA, $rS, $rB", IIC_IntRotateD,
595 [(set i64:$rA, (PPCsrl i64:$rS, i32:$rB))]>, isPPC64;
596 defm SRAD : XForm_6rc<31, 794, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
597 "srad", "$rA, $rS, $rB", IIC_IntRotateD,
598 [(set i64:$rA, (PPCsra i64:$rS, i32:$rB))]>, isPPC64;
601 defm CNTLZW8 : XForm_11r<31, 26, (outs g8rc:$rA), (ins g8rc:$rS),
602 "cntlzw", "$rA, $rS", IIC_IntGeneral, []>;
603 defm CNTTZW8 : XForm_11r<31, 538, (outs g8rc:$rA), (ins g8rc:$rS),
604 "cnttzw", "$rA, $rS", IIC_IntGeneral, []>,
607 defm EXTSB8 : XForm_11r<31, 954, (outs g8rc:$rA), (ins g8rc:$rS),
608 "extsb", "$rA, $rS", IIC_IntSimple,
609 [(set i64:$rA, (sext_inreg i64:$rS, i8))]>;
610 defm EXTSH8 : XForm_11r<31, 922, (outs g8rc:$rA), (ins g8rc:$rS),
611 "extsh", "$rA, $rS", IIC_IntSimple,
612 [(set i64:$rA, (sext_inreg i64:$rS, i16))]>;
614 defm SLW8 : XForm_6r<31, 24, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
615 "slw", "$rA, $rS, $rB", IIC_IntGeneral, []>;
616 defm SRW8 : XForm_6r<31, 536, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
617 "srw", "$rA, $rS, $rB", IIC_IntGeneral, []>;
622 def EXTSB8_32_64 : XForm_11<31, 954, (outs g8rc:$rA), (ins gprc:$rS),
623 "extsb $rA, $rS", IIC_IntSimple, []>, isPPC64;
624 def EXTSH8_32_64 : XForm_11<31, 922, (outs g8rc:$rA), (ins gprc:$rS),
625 "extsh $rA, $rS", IIC_IntSimple, []>, isPPC64;
628 defm EXTSW : XForm_11r<31, 986, (outs g8rc:$rA), (ins g8rc:$rS),
629 "extsw", "$rA, $rS", IIC_IntSimple,
630 [(set i64:$rA, (sext_inreg i64:$rS, i32))]>, isPPC64;
632 defm EXTSW_32_64 : XForm_11r<31, 986, (outs g8rc:$rA), (ins gprc:$rS),
633 "extsw", "$rA, $rS", IIC_IntSimple,
634 [(set i64:$rA, (sext i32:$rS))]>, isPPC64;
636 defm SRADI : XSForm_1rc<31, 413, (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH),
637 "sradi", "$rA, $rS, $SH", IIC_IntRotateDI,
638 [(set i64:$rA, (sra i64:$rS, (i32 imm:$SH)))]>, isPPC64;
639 defm CNTLZD : XForm_11r<31, 58, (outs g8rc:$rA), (ins g8rc:$rS),
640 "cntlzd", "$rA, $rS", IIC_IntGeneral,
641 [(set i64:$rA, (ctlz i64:$rS))]>;
642 defm CNTTZD : XForm_11r<31, 570, (outs g8rc:$rA), (ins g8rc:$rS),
643 "cnttzd", "$rA, $rS", IIC_IntGeneral,
644 [(set i64:$rA, (cttz i64:$rS))]>, Requires<[IsISA3_0]>;
645 def POPCNTD : XForm_11<31, 506, (outs g8rc:$rA), (ins g8rc:$rS),
646 "popcntd $rA, $rS", IIC_IntGeneral,
647 [(set i64:$rA, (ctpop i64:$rS))]>;
648 def BPERMD : XForm_6<31, 252, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
649 "bpermd $rA, $rS, $rB", IIC_IntGeneral,
650 [(set i64:$rA, (int_ppc_bpermd g8rc:$rS, g8rc:$rB))]>,
654 def CMPB8 : XForm_6<31, 508, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
655 "cmpb $rA, $rS, $rB", IIC_IntGeneral,
656 [(set i64:$rA, (PPCcmpb i64:$rS, i64:$rB))]>;
661 def POPCNTW : XForm_11<31, 378, (outs gprc:$rA), (ins gprc:$rS),
662 "popcntw $rA, $rS", IIC_IntGeneral,
663 [(set i32:$rA, (ctpop i32:$rS))]>;
665 defm DIVD : XOForm_1rcr<31, 489, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
666 "divd", "$rT, $rA, $rB", IIC_IntDivD,
667 [(set i64:$rT, (sdiv i64:$rA, i64:$rB))]>, isPPC64;
668 defm DIVDU : XOForm_1rcr<31, 457, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
669 "divdu", "$rT, $rA, $rB", IIC_IntDivD,
670 [(set i64:$rT, (udiv i64:$rA, i64:$rB))]>, isPPC64;
671 def DIVDE : XOForm_1<31, 425, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
672 "divde $rT, $rA, $rB", IIC_IntDivD,
673 [(set i64:$rT, (int_ppc_divde g8rc:$rA, g8rc:$rB))]>,
676 def DIVDEo : XOForm_1<31, 425, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
677 "divde. $rT, $rA, $rB", IIC_IntDivD,
680 def DIVDEU : XOForm_1<31, 393, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
681 "divdeu $rT, $rA, $rB", IIC_IntDivD,
682 [(set i64:$rT, (int_ppc_divdeu g8rc:$rA, g8rc:$rB))]>,
685 def DIVDEUo : XOForm_1<31, 393, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
686 "divdeu. $rT, $rA, $rB", IIC_IntDivD,
690 defm MULLD : XOForm_1r<31, 233, 0, (outs g8rc:$rT), (ins g8rc:$rA, g8rc:$rB),
691 "mulld", "$rT, $rA, $rB", IIC_IntMulHD,
692 [(set i64:$rT, (mul i64:$rA, i64:$rB))]>, isPPC64;
694 def MULLI8 : DForm_2<7, (outs g8rc:$rD), (ins g8rc:$rA, s16imm64:$imm),
695 "mulli $rD, $rA, $imm", IIC_IntMulLI,
696 [(set i64:$rD, (mul i64:$rA, imm64SExt16:$imm))]>;
700 defm RLDIMI : MDForm_1r<30, 3, (outs g8rc:$rA),
702 "rldimi", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
703 []>, isPPC64, RegConstraint<"$rSi = $rA">,
708 (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
709 "rldcl", "$rA, $rS, $rB, $MBE", IIC_IntRotateD,
712 (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
713 "rldcr", "$rA, $rS, $rB, $MBE", IIC_IntRotateD,
716 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
717 "rldicl", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
722 (outs g8rc:$rA),
724 "rldicl $rA, $rS, $SH, $MBE", IIC_IntRotateDI,
728 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
729 "rldicr", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
732 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
733 "rldic", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
737 defm RLWINM8 : MForm_2r<21, (outs g8rc:$rA),
739 "rlwinm", "$rA, $rS, $SH, $MB, $ME", IIC_IntGeneral,
742 defm RLWNM8 : MForm_2r<23, (outs g8rc:$rA),
744 "rlwnm", "$rA, $rS, $rB, $MB, $ME", IIC_IntGeneral,
749 defm RLWIMI8 : MForm_2r<20, (outs g8rc:$rA),
751 u5imm:$ME), "rlwimi", "$rA, $rS, $SH, $MB, $ME",
753 RegConstraint<"$rSi = $rA">, NoEncode<"$rSi">;
757 (outs g8rc:$rT), (ins g8rc_nox0:$rA, g8rc:$rB, crbitrc:$cond),
758 "isel $rT, $rA, $rB, $cond", IIC_IntISEL,
1284 : X_L1_RS5_RS5<opcode, xo, (outs), (ins ty:$rA, ty:$rB, u1imm:$L),
1285 !strconcat(opc, " $rA, $rB, $L"), itin, pattern>;