Lines Matching refs:rS
250 def STDCX : XForm_1<31, 214, (outs), (ins g8rc:$rS, memrr:$dst),
251 "stdcx. $rS, $dst", IIC_LdStSTDCX, []>, isDOT;
306 def MTCRF8 : XFXForm_5<31, 144, (outs), (ins i32imm:$FXM, g8rc:$rS),
307 "mtcrf $FXM, $rS", IIC_BrMCRX>,
347 let Pattern = [(PPCmtctr i64:$rS)], Defs = [CTR8] in {
348 def MTCTR8 : XFXForm_7_ext<31, 467, 9, (outs), (ins g8rc:$rS),
349 "mtctr $rS", IIC_SprMTSPR>,
353 let Pattern = [(int_ppc_mtctr i64:$rS)] in
354 def MTCTR8loop : XFXForm_7_ext<31, 467, 9, (outs), (ins g8rc:$rS),
355 "mtctr $rS", IIC_SprMTSPR>,
376 def MTLR8 : XFXForm_7_ext<31, 467, 8, (outs), (ins g8rc:$rS),
377 "mtlr $rS", IIC_SprMTSPR>,
407 defm NAND8: XForm_6r<31, 476, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
408 "nand", "$rA, $rS, $rB", IIC_IntSimple,
409 [(set i64:$rA, (not (and i64:$rS, i64:$rB)))]>;
410 defm AND8 : XForm_6r<31, 28, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
411 "and", "$rA, $rS, $rB", IIC_IntSimple,
412 [(set i64:$rA, (and i64:$rS, i64:$rB))]>;
414 defm ANDC8: XForm_6r<31, 60, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
415 "andc", "$rA, $rS, $rB", IIC_IntSimple,
416 [(set i64:$rA, (and i64:$rS, (not i64:$rB)))]>;
418 defm OR8 : XForm_6r<31, 444, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
419 "or", "$rA, $rS, $rB", IIC_IntSimple,
420 [(set i64:$rA, (or i64:$rS, i64:$rB))]>;
421 defm NOR8 : XForm_6r<31, 124, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
422 "nor", "$rA, $rS, $rB", IIC_IntSimple,
423 [(set i64:$rA, (not (or i64:$rS, i64:$rB)))]>;
425 defm ORC8 : XForm_6r<31, 412, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
426 "orc", "$rA, $rS, $rB", IIC_IntSimple,
427 [(set i64:$rA, (or i64:$rS, (not i64:$rB)))]>;
429 defm EQV8 : XForm_6r<31, 284, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
430 "eqv", "$rA, $rS, $rB", IIC_IntSimple,
431 [(set i64:$rA, (not (xor i64:$rS, i64:$rB)))]>;
432 defm XOR8 : XForm_6r<31, 316, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
433 "xor", "$rA, $rS, $rB", IIC_IntSimple,
434 [(set i64:$rA, (xor i64:$rS, i64:$rB))]>;
557 defm SLD : XForm_6r<31, 27, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
558 "sld", "$rA, $rS, $rB", IIC_IntRotateD,
559 [(set i64:$rA, (PPCshl i64:$rS, i32:$rB))]>, isPPC64;
560 defm SRD : XForm_6r<31, 539, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
561 "srd", "$rA, $rS, $rB", IIC_IntRotateD,
562 [(set i64:$rA, (PPCsrl i64:$rS, i32:$rB))]>, isPPC64;
563 defm SRAD : XForm_6rc<31, 794, (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB),
564 "srad", "$rA, $rS, $rB", IIC_IntRotateD,
565 [(set i64:$rA, (PPCsra i64:$rS, i32:$rB))]>, isPPC64;
568 defm CNTLZW8 : XForm_11r<31, 26, (outs g8rc:$rA), (ins g8rc:$rS),
569 "cntlzw", "$rA, $rS", IIC_IntGeneral, []>;
571 defm EXTSB8 : XForm_11r<31, 954, (outs g8rc:$rA), (ins g8rc:$rS),
572 "extsb", "$rA, $rS", IIC_IntSimple,
573 [(set i64:$rA, (sext_inreg i64:$rS, i8))]>;
574 defm EXTSH8 : XForm_11r<31, 922, (outs g8rc:$rA), (ins g8rc:$rS),
575 "extsh", "$rA, $rS", IIC_IntSimple,
576 [(set i64:$rA, (sext_inreg i64:$rS, i16))]>;
578 defm SLW8 : XForm_6r<31, 24, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
579 "slw", "$rA, $rS, $rB", IIC_IntGeneral, []>;
580 defm SRW8 : XForm_6r<31, 536, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
581 "srw", "$rA, $rS, $rB", IIC_IntGeneral, []>;
586 def EXTSB8_32_64 : XForm_11<31, 954, (outs g8rc:$rA), (ins gprc:$rS),
587 "extsb $rA, $rS", IIC_IntSimple, []>, isPPC64;
588 def EXTSH8_32_64 : XForm_11<31, 922, (outs g8rc:$rA), (ins gprc:$rS),
589 "extsh $rA, $rS", IIC_IntSimple, []>, isPPC64;
592 defm EXTSW : XForm_11r<31, 986, (outs g8rc:$rA), (ins g8rc:$rS),
593 "extsw", "$rA, $rS", IIC_IntSimple,
594 [(set i64:$rA, (sext_inreg i64:$rS, i32))]>, isPPC64;
596 defm EXTSW_32_64 : XForm_11r<31, 986, (outs g8rc:$rA), (ins gprc:$rS),
597 "extsw", "$rA, $rS", IIC_IntSimple,
598 [(set i64:$rA, (sext i32:$rS))]>, isPPC64;
600 defm SRADI : XSForm_1rc<31, 413, (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH),
601 "sradi", "$rA, $rS, $SH", IIC_IntRotateDI,
602 [(set i64:$rA, (sra i64:$rS, (i32 imm:$SH)))]>, isPPC64;
603 defm CNTLZD : XForm_11r<31, 58, (outs g8rc:$rA), (ins g8rc:$rS),
604 "cntlzd", "$rA, $rS", IIC_IntGeneral,
605 [(set i64:$rA, (ctlz i64:$rS))]>;
606 def POPCNTD : XForm_11<31, 506, (outs g8rc:$rA), (ins g8rc:$rS),
607 "popcntd $rA, $rS", IIC_IntGeneral,
608 [(set i64:$rA, (ctpop i64:$rS))]>;
609 def BPERMD : XForm_6<31, 252, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
610 "bpermd $rA, $rS, $rB", IIC_IntGeneral,
611 [(set i64:$rA, (int_ppc_bpermd g8rc:$rS, g8rc:$rB))]>,
615 def CMPB8 : XForm_6<31, 508, (outs g8rc:$rA), (ins g8rc:$rS, g8rc:$rB),
616 "cmpb $rA, $rS, $rB", IIC_IntGeneral,
617 [(set i64:$rA, (PPCcmpb i64:$rS, i64:$rB))]>;
622 def POPCNTW : XForm_11<31, 378, (outs gprc:$rA), (ins gprc:$rS),
623 "popcntw $rA, $rS", IIC_IntGeneral,
624 [(set i32:$rA, (ctpop i32:$rS))]>;
662 (ins g8rc:$rSi, g8rc:$rS, u6imm:$SH, u6imm:$MBE),
663 "rldimi", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
669 (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
670 "rldcl", "$rA, $rS, $rB, $MBE", IIC_IntRotateD,
673 (outs g8rc:$rA), (ins g8rc:$rS, gprc:$rB, u6imm:$MBE),
674 "rldcr", "$rA, $rS, $rB, $MBE", IIC_IntRotateD,
677 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
678 "rldicl", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
684 (ins gprc:$rS, u6imm:$SH, u6imm:$MBE),
685 "rldicl $rA, $rS, $SH, $MBE", IIC_IntRotateDI,
689 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
690 "rldicr", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
693 (outs g8rc:$rA), (ins g8rc:$rS, u6imm:$SH, u6imm:$MBE),
694 "rldic", "$rA, $rS, $SH, $MBE", IIC_IntRotateDI,
699 (ins g8rc:$rS, u5imm:$SH, u5imm:$MB, u5imm:$ME),
700 "rlwinm", "$rA, $rS, $SH, $MB, $ME", IIC_IntGeneral,
704 (ins g8rc:$rS, g8rc:$rB, u5imm:$MB, u5imm:$ME),
705 "rlwnm", "$rA, $rS, $rB, $MB, $ME", IIC_IntGeneral,
711 (ins g8rc:$rSi, g8rc:$rS, u5imm:$SH, u5imm:$MB,
712 u5imm:$ME), "rlwimi", "$rA, $rS, $SH, $MB, $ME",
1002 def STB8 : DForm_1<38, (outs), (ins g8rc:$rS, memri:$src),
1003 "stb $rS, $src", IIC_LdStStore,
1004 [(truncstorei8 i64:$rS, iaddr:$src)]>;
1005 def STH8 : DForm_1<44, (outs), (ins g8rc:$rS, memri:$src),
1006 "sth $rS, $src", IIC_LdStStore,
1007 [(truncstorei16 i64:$rS, iaddr:$src)]>;
1008 def STW8 : DForm_1<36, (outs), (ins g8rc:$rS, memri:$src),
1009 "stw $rS, $src", IIC_LdStStore,
1010 [(truncstorei32 i64:$rS, iaddr:$src)]>;
1011 def STBX8 : XForm_8<31, 215, (outs), (ins g8rc:$rS, memrr:$dst),
1012 "stbx $rS, $dst", IIC_LdStStore,
1013 [(truncstorei8 i64:$rS, xaddr:$dst)]>,
1015 def STHX8 : XForm_8<31, 407, (outs), (ins g8rc:$rS, memrr:$dst),
1016 "sthx $rS, $dst", IIC_LdStStore,
1017 [(truncstorei16 i64:$rS, xaddr:$dst)]>,
1019 def STWX8 : XForm_8<31, 151, (outs), (ins g8rc:$rS, memrr:$dst),
1020 "stwx $rS, $dst", IIC_LdStStore,
1021 [(truncstorei32 i64:$rS, xaddr:$dst)]>,
1026 def STD : DSForm_1<62, 0, (outs), (ins g8rc:$rS, memrix:$dst),
1027 "std $rS, $dst", IIC_LdStSTD,
1028 [(aligned4store i64:$rS, ixaddr:$dst)]>, isPPC64;
1029 def STDX : XForm_8<31, 149, (outs), (ins g8rc:$rS, memrr:$dst),
1030 "stdx $rS, $dst", IIC_LdStSTD,
1031 [(store i64:$rS, xaddr:$dst)]>, isPPC64,
1033 def STDBRX: XForm_8<31, 660, (outs), (ins g8rc:$rS, memrr:$dst),
1034 "stdbrx $rS, $dst", IIC_LdStStore,
1035 [(PPCstbrx i64:$rS, xoaddr:$dst, i64)]>, isPPC64,
1042 def STBU8 : DForm_1<39, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memri:$dst),
1043 "stbu $rS, $dst", IIC_LdStStoreUpd, []>,
1045 def STHU8 : DForm_1<45, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memri:$dst),
1046 "sthu $rS, $dst", IIC_LdStStoreUpd, []>,
1048 def STWU8 : DForm_1<37, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memri:$dst),
1049 "stwu $rS, $dst", IIC_LdStStoreUpd, []>,
1052 def STBUX8: XForm_8<31, 247, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memrr:$dst),
1053 "stbux $rS, $dst", IIC_LdStStoreUpd, []>,
1056 def STHUX8: XForm_8<31, 439, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memrr:$dst),
1057 "sthux $rS, $dst", IIC_LdStStoreUpd, []>,
1060 def STWUX8: XForm_8<31, 183, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memrr:$dst),
1061 "stwux $rS, $dst", IIC_LdStStoreUpd, []>,
1066 def STDU : DSForm_1<62, 1, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memrix:$dst),
1067 "stdu $rS, $dst", IIC_LdStSTDU, []>,
1071 def STDUX : XForm_8<31, 181, (outs ptr_rc_nor0:$ea_res), (ins g8rc:$rS, memrr:$dst),
1072 "stdux $rS, $dst", IIC_LdStSTDUX, []>,
1080 def : Pat<(pre_truncsti8 i64:$rS, iPTR:$ptrreg, iaddroff:$ptroff),
1081 (STBU8 $rS, iaddroff:$ptroff, $ptrreg)>;
1082 def : Pat<(pre_truncsti16 i64:$rS, iPTR:$ptrreg, iaddroff:$ptroff),
1083 (STHU8 $rS, iaddroff:$ptroff, $ptrreg)>;
1084 def : Pat<(pre_truncsti32 i64:$rS, iPTR:$ptrreg, iaddroff:$ptroff),
1085 (STWU8 $rS, iaddroff:$ptroff, $ptrreg)>;
1086 def : Pat<(aligned4pre_store i64:$rS, iPTR:$ptrreg, iaddroff:$ptroff),
1087 (STDU $rS, iaddroff:$ptroff, $ptrreg)>;
1089 def : Pat<(pre_truncsti8 i64:$rS, iPTR:$ptrreg, iPTR:$ptroff),
1090 (STBUX8 $rS, $ptrreg, $ptroff)>;
1091 def : Pat<(pre_truncsti16 i64:$rS, iPTR:$ptrreg, iPTR:$ptroff),
1092 (STHUX8 $rS, $ptrreg, $ptroff)>;
1093 def : Pat<(pre_truncsti32 i64:$rS, iPTR:$ptrreg, iPTR:$ptroff),
1094 (STWUX8 $rS, $ptrreg, $ptroff)>;
1095 def : Pat<(pre_store i64:$rS, iPTR:$ptrreg, iPTR:$ptroff),
1096 (STDUX $rS, $ptrreg, $ptroff)>;
1180 def : Pat<(sra i64:$rS, i32:$rB),
1181 (SRAD $rS, $rB)>;
1182 def : Pat<(srl i64:$rS, i32:$rB),
1183 (SRD $rS, $rB)>;
1184 def : Pat<(shl i64:$rS, i32:$rB),
1185 (SLD $rS, $rB)>;
1227 def : Pat<(unaligned4store i64:$rS, xoaddr:$dst),
1228 (STDX $rS, xoaddr:$dst)>;