Lines Matching refs:gprc

408 def gprc : RegisterOperand<GPRC> {
1073 def UPDATE_VRSAVE : Pseudo<(outs gprc:$rD), (ins gprc:$rS),
1078 def DYNALLOC : Pseudo<(outs gprc:$result), (ins gprc:$negsize, memri:$fpsi), "#DYNALLOC",
1091 def SELECT_CC_I4 : Pseudo<(outs gprc:$dst), (ins crrc:$cond,
1111 def SELECT_I4 : Pseudo<(outs gprc:$dst), (ins crbitrc:$cond,
1404 def EH_SjLj_SetJmp32 : Pseudo<(outs gprc:$dst), (ins memr:$buf),
1436 def MFBHRBE : XFXForm_3p<31, 302, (outs gprc:$rD),
1495 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_ADD_I8",
1498 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_SUB_I8",
1501 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_AND_I8",
1504 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_OR_I8",
1507 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "ATOMIC_LOAD_XOR_I8",
1510 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_NAND_I8",
1513 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_ADD_I16",
1516 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_SUB_I16",
1519 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_AND_I16",
1522 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_OR_I16",
1525 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_XOR_I16",
1528 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_NAND_I16",
1531 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_ADD_I32",
1534 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_SUB_I32",
1537 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_AND_I32",
1540 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_OR_I32",
1543 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_XOR_I32",
1546 (outs gprc:$dst), (ins memrr:$ptr, gprc:$incr), "#ATOMIC_LOAD_NAND_I32",
1550 (outs gprc:$dst), (ins memrr:$ptr, gprc:$old, gprc:$new), "#ATOMIC_CMP_SWAP_I8",
1553 …(outs gprc:$dst), (ins memrr:$ptr, gprc:$old, gprc:$new), "#ATOMIC_CMP_SWAP_I16 $dst $ptr $old $ne…
1556 …(outs gprc:$dst), (ins memrr:$ptr, gprc:$old, gprc:$new), "#ATOMIC_CMP_SWAP_I32 $dst $ptr $old $ne…
1560 (outs gprc:$dst), (ins memrr:$ptr, gprc:$new), "#ATOMIC_SWAP_i8",
1563 (outs gprc:$dst), (ins memrr:$ptr, gprc:$new), "#ATOMIC_SWAP_I16",
1566 (outs gprc:$dst), (ins memrr:$ptr, gprc:$new), "#ATOMIC_SWAP_I32",
1573 def LBARX : XForm_1<31, 52, (outs gprc:$rD), (ins memrr:$src),
1577 def LHARX : XForm_1<31, 116, (outs gprc:$rD), (ins memrr:$src),
1581 def LWARX : XForm_1<31, 20, (outs gprc:$rD), (ins memrr:$src),
1586 def LBARXL : XForm_1<31, 52, (outs gprc:$rD), (ins memrr:$src),
1590 def LHARXL : XForm_1<31, 116, (outs gprc:$rD), (ins memrr:$src),
1594 def LWARXL : XForm_1<31, 20, (outs gprc:$rD), (ins memrr:$src),
1600 def LWAT : X_RD5_RS5_IM5<31, 582, (outs gprc:$rD), (ins gprc:$rA, u5imm:$FC),
1606 def STBCX : XForm_1<31, 694, (outs), (ins gprc:$rS, memrr:$dst),
1610 def STHCX : XForm_1<31, 726, (outs), (ins gprc:$rS, memrr:$dst),
1614 def STWCX : XForm_1<31, 150, (outs), (ins gprc:$rS, memrr:$dst),
1619 def STWAT : X_RD5_RS5_IM5<31, 710, (outs), (ins gprc:$rS, gprc:$rA, u5imm:$FC),
1626 def TWI : DForm_base<3, (outs), (ins u5imm:$to, gprc:$rA, s16imm:$imm),
1628 def TW : XForm_1<31, 4, (outs), (ins u5imm:$to, gprc:$rA, gprc:$rB),
1641 def LBZ : DForm_1<34, (outs gprc:$rD), (ins memri:$src),
1644 def LHA : DForm_1<42, (outs gprc:$rD), (ins memri:$src),
1648 def LHZ : DForm_1<40, (outs gprc:$rD), (ins memri:$src),
1651 def LWZ : DForm_1<32, (outs gprc:$rD), (ins memri:$src),
1665 def LBZU : DForm_1<35, (outs gprc:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
1670 def LHAU : DForm_1<43, (outs gprc:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
1675 def LHZU : DForm_1<41, (outs gprc:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
1680 def LWZU : DForm_1<33, (outs gprc:$rD, ptr_rc_nor0:$ea_result), (ins memri:$addr),
1697 def LBZUX : XForm_1<31, 119, (outs gprc:$rD, ptr_rc_nor0:$ea_result),
1703 def LHAUX : XForm_1<31, 375, (outs gprc:$rD, ptr_rc_nor0:$ea_result),
1709 def LHZUX : XForm_1<31, 311, (outs gprc:$rD, ptr_rc_nor0:$ea_result),
1715 def LWZUX : XForm_1<31, 55, (outs gprc:$rD, ptr_rc_nor0:$ea_result),
1738 def LBZX : XForm_1<31, 87, (outs gprc:$rD), (ins memrr:$src),
1741 def LHAX : XForm_1<31, 343, (outs gprc:$rD), (ins memrr:$src),
1745 def LHZX : XForm_1<31, 279, (outs gprc:$rD), (ins memrr:$src),
1748 def LWZX : XForm_1<31, 23, (outs gprc:$rD), (ins memrr:$src),
1753 def LHBRX : XForm_1<31, 790, (outs gprc:$rD), (ins memrr:$src),
1756 def LWBRX : XForm_1<31, 534, (outs gprc:$rD), (ins memrr:$src),
1776 def LMW : DForm_1<46, (outs gprc:$rD), (ins memri:$src),
1785 def STB : DForm_1<38, (outs), (ins gprc:$rS, memri:$src),
1788 def STH : DForm_1<44, (outs), (ins gprc:$rS, memri:$src),
1791 def STW : DForm_1<36, (outs), (ins gprc:$rS, memri:$src),
1804 def STBU : DForm_1<39, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memri:$dst),
1807 def STHU : DForm_1<45, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memri:$dst),
1810 def STWU : DForm_1<37, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memri:$dst),
1837 def STBX : XForm_8<31, 215, (outs), (ins gprc:$rS, memrr:$dst),
1841 def STHX : XForm_8<31, 407, (outs), (ins gprc:$rS, memrr:$dst),
1845 def STWX : XForm_8<31, 151, (outs), (ins gprc:$rS, memrr:$dst),
1850 def STHBRX: XForm_8<31, 918, (outs), (ins gprc:$rS, memrr:$dst),
1854 def STWBRX: XForm_8<31, 662, (outs), (ins gprc:$rS, memrr:$dst),
1873 def STBUX : XForm_8<31, 247, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memrr:$dst),
1877 def STHUX : XForm_8<31, 439, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memrr:$dst),
1881 def STWUX : XForm_8<31, 183, (outs ptr_rc_nor0:$ea_res), (ins gprc:$rS, memrr:$dst),
1910 def STMW : DForm_1<47, (outs), (ins gprc:$rS, memri:$dst),
1933 def ADDI : DForm_2<14, (outs gprc:$rD), (ins gprc_nor0:$rA, s16imm:$imm),
1938 def ADDIC : DForm_2<12, (outs gprc:$rD), (ins gprc:$rA, s16imm:$imm),
1943 def ADDICo : DForm_2<13, (outs gprc:$rD), (ins gprc:$rA, s16imm:$imm),
1947 def ADDIS : DForm_2<15, (outs gprc:$rD), (ins gprc_nor0:$rA, s17imm:$imm),
1951 def LA : DForm_2<14, (outs gprc:$rD), (ins gprc_nor0:$rA, s16imm:$sym),
1955 def MULLI : DForm_2< 7, (outs gprc:$rD), (ins gprc:$rA, s16imm:$imm),
1959 def SUBFIC : DForm_2< 8, (outs gprc:$rD), (ins gprc:$rA, s16imm:$imm),
1964 def LI : DForm_2_r0<14, (outs gprc:$rD), (ins s16imm:$imm),
1967 def LIS : DForm_2_r0<15, (outs gprc:$rD), (ins s17imm:$imm),
1975 def ANDIo : DForm_4<28, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
1979 def ANDISo : DForm_4<29, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
1984 def ORI : DForm_4<24, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
1987 def ORIS : DForm_4<25, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
1990 def XORI : DForm_4<26, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
1993 def XORIS : DForm_4<27, (outs gprc:$dst), (ins gprc:$src1, u16imm:$src2),
2008 def CMPWI : DForm_5_ext<11, (outs crrc:$crD), (ins gprc:$rA, s16imm:$imm),
2010 def CMPLWI : DForm_6_ext<10, (outs crrc:$dst), (ins gprc:$src1, u16imm:$src2),
2021 defm NAND : XForm_6r<31, 476, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2024 defm AND : XForm_6r<31, 28, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2028 defm ANDC : XForm_6r<31, 60, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2032 defm OR : XForm_6r<31, 444, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2035 defm NOR : XForm_6r<31, 124, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2039 defm ORC : XForm_6r<31, 412, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2043 defm EQV : XForm_6r<31, 284, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2046 defm XOR : XForm_6r<31, 316, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2050 defm SLW : XForm_6r<31, 24, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2053 defm SRW : XForm_6r<31, 536, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2056 defm SRAW : XForm_6rc<31, 792, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2063 defm SRAWI : XForm_10rc<31, 824, (outs gprc:$rA), (ins gprc:$rS, u5imm:$SH),
2066 defm CNTLZW : XForm_11r<31, 26, (outs gprc:$rA), (ins gprc:$rS),
2069 defm CNTTZW : XForm_11r<31, 538, (outs gprc:$rA), (ins gprc:$rS),
2072 defm EXTSB : XForm_11r<31, 954, (outs gprc:$rA), (ins gprc:$rS),
2075 defm EXTSH : XForm_11r<31, 922, (outs gprc:$rA), (ins gprc:$rS),
2080 def CMPB : XForm_6<31, 508, (outs gprc:$rA), (ins gprc:$rS, gprc:$rB),
2085 def CMPW : XForm_16_ext<31, 0, (outs crrc:$crD), (ins gprc:$rA, gprc:$rB),
2087 def CMPLW : XForm_16_ext<31, 32, (outs crrc:$crD), (ins gprc:$rA, gprc:$rB),
2295 def MFSPR : XFXForm_1<31, 339, (outs gprc:$RT), (ins i32imm:$SPR),
2297 def MTSPR : XFXForm_1<31, 467, (outs), (ins i32imm:$SPR, gprc:$RT),
2300 def MFTB : XFXForm_1<31, 371, (outs gprc:$RT), (ins i32imm:$SPR),
2306 def ReadTB : Pseudo<(outs gprc:$lo, gprc:$hi), (ins),
2310 def MFCTR : XFXForm_1_ext<31, 339, 9, (outs gprc:$rT), (ins),
2315 def MTCTR : XFXForm_7_ext<31, 467, 9, (outs), (ins gprc:$rS),
2321 def MTCTRloop : XFXForm_7_ext<31, 467, 9, (outs), (ins gprc:$rS),
2327 def MTLR : XFXForm_7_ext<31, 467, 8, (outs), (ins gprc:$rS),
2332 def MFLR : XFXForm_1_ext<31, 339, 8, (outs gprc:$rT), (ins),
2341 def MTVRSAVE : XFXForm_7_ext<31, 467, 256, (outs), (ins gprc:$rS),
2344 def MFVRSAVE : XFXForm_1_ext<31, 339, 256, (outs gprc:$rT), (ins),
2349 (outs VRSAVERC:$reg), (ins gprc:$rS),
2352 def MFVRSAVEv : XFXForm_1_ext<31, 339, 256, (outs gprc:$rT),
2359 def : InstAlias<"mtvrsave $rS", (MTVRSAVE gprc:$rS)>;
2360 def : InstAlias<"mfvrsave $rS", (MFVRSAVE gprc:$rS)>;
2379 def MTOCRF: XFXForm_5a<31, 144, (outs crbitm:$FXM), (ins gprc:$ST),
2385 def MTCRF : XFXForm_5<31, 144, (outs), (ins i32imm:$FXM, gprc:$rS),
2394 def MFOCRF: XFXForm_5a<31, 19, (outs gprc:$rT), (ins crbitm:$FXM),
2400 def MFCR : XFXForm_3<31, 19, (outs gprc:$rT), (ins),
2444 defm ADD4 : XOForm_1r<31, 266, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2448 def ADD4TLS : XOForm_1<31, 266, 0, (outs gprc:$rT), (ins gprc:$rA, tlsreg32:$rB),
2452 defm ADDC : XOForm_1rc<31, 10, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2457 defm DIVW : XOForm_1rcr<31, 491, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2460 defm DIVWU : XOForm_1rcr<31, 459, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2463 def DIVWE : XOForm_1<31, 427, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2465 [(set i32:$rT, (int_ppc_divwe gprc:$rA, gprc:$rB))]>,
2468 def DIVWEo : XOForm_1<31, 427, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2472 def DIVWEU : XOForm_1<31, 395, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2474 [(set i32:$rT, (int_ppc_divweu gprc:$rA, gprc:$rB))]>,
2477 def DIVWEUo : XOForm_1<31, 395, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2482 defm MULHW : XOForm_1r<31, 75, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2485 defm MULHWU : XOForm_1r<31, 11, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2488 defm MULLW : XOForm_1r<31, 235, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2492 defm SUBF : XOForm_1r<31, 40, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2495 defm SUBFC : XOForm_1rc<31, 8, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2499 defm NEG : XOForm_3r<31, 104, 0, (outs gprc:$rT), (ins gprc:$rA),
2504 defm ADDE : XOForm_1rc<31, 138, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2507 defm ADDME : XOForm_3rc<31, 234, 0, (outs gprc:$rT), (ins gprc:$rA),
2510 defm ADDZE : XOForm_3rc<31, 202, 0, (outs gprc:$rT), (ins gprc:$rA),
2513 defm SUBFE : XOForm_1rc<31, 136, 0, (outs gprc:$rT), (ins gprc:$rA, gprc:$rB),
2516 defm SUBFME : XOForm_3rc<31, 232, 0, (outs gprc:$rT), (ins gprc:$rA),
2519 defm SUBFZE : XOForm_3rc<31, 200, 0, (outs gprc:$rT), (ins gprc:$rA),
2628 (outs gprc:$rT), (ins gprc_nor0:$rA, gprc:$rB, crbitrc:$cond),
2638 defm RLWIMI : MForm_2r<20, (outs gprc:$rA),
2639 (ins gprc:$rSi, gprc:$rS, u5imm:$SH, u5imm:$MB,
2646 (outs gprc:$rA), (ins gprc:$rS, u5imm:$SH, u5imm:$MB, u5imm:$ME),
2651 (outs gprc:$rA), (ins gprc:$rS, u5imm:$SH, u5imm:$MB, u5imm:$ME),
2655 defm RLWNM : MForm_2r<23, (outs gprc:$rA),
2656 (ins gprc:$rS, gprc:$rB, u5imm:$MB, u5imm:$ME),
2745 def PPC32GOT: Pseudo<(outs gprc:$rD), (ins), "#PPC32GOT",
2751 def PPC32PICGOT: Pseudo<(outs gprc:$rD, gprc:$rT), (ins), "#PPC32PICGOT",
2754 def LDgotTprelL32: Pseudo<(outs gprc:$rD), (ins s16imm:$disp, gprc_nor0:$reg),
2761 def ADDItlsgdL32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp),
2769 def GETtlsADDR32 : Pseudo<(outs gprc:$rD), (ins gprc:$reg, tlsgd32:$sym),
2777 def ADDItlsgdLADDR32 : Pseudo<(outs gprc:$rD),
2784 def ADDItlsldL32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp),
2792 def GETtlsldADDR32 : Pseudo<(outs gprc:$rD), (ins gprc:$reg, tlsgd32:$sym),
2801 def ADDItlsldLADDR32 : Pseudo<(outs gprc:$rD),
2808 def ADDIdtprelL32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp),
2812 def ADDISdtprelHA32 : Pseudo<(outs gprc:$rD), (ins gprc_nor0:$reg, s16imm:$disp),
2819 def LWZtoc : Pseudo<(outs gprc:$rD), (ins tocentry32:$disp, gprc:$reg),
2825 def UpdateGBR : Pseudo<(outs gprc:$rD, gprc:$rT), (ins gprc:$rI), "#UpdateGBR", []>;
3496 def ANDIo_1_EQ_BIT : Pseudo<(outs crbitrc:$dst), (ins gprc:$in),
3499 def ANDIo_1_GT_BIT : Pseudo<(outs crbitrc:$dst), (ins gprc:$in),
3522 def LSWI : XForm_base_r3xo<31, 597, (outs gprc:$RT), (ins gprc:$A, u5imm:$B),
3527 def STSWI : XForm_base_r3xo<31, 725, (outs), (ins gprc:$RT, gprc:$A, u5imm:$B),
3546 def MTSR: XForm_sr<31, 210, (outs), (ins gprc:$RS, u4imm:$SR),
3549 def MFSR: XForm_sr<31, 595, (outs gprc:$RS), (ins u4imm:$SR),
3552 def MTSRIN: XForm_srin<31, 242, (outs), (ins gprc:$RS, gprc:$RB),
3555 def MFSRIN: XForm_srin<31, 659, (outs gprc:$RS), (ins gprc:$RB),
3558 def MTMSR: XForm_mtmsr<31, 146, (outs), (ins gprc:$RS, i32imm:$L),
3561 def WRTEE: XForm_mtmsr<31, 131, (outs), (ins gprc:$RS),
3574 def DCCCI : XForm_tlb<454, (outs), (ins gprc:$A, gprc:$B),
3576 def ICCCI : XForm_tlb<966, (outs), (ins gprc:$A, gprc:$B),
3584 def MFMSR : XForm_rs<31, 83, (outs gprc:$RT), (ins),
3587 def MTMSRD : XForm_mtmsr<31, 178, (outs), (ins gprc:$RS, i32imm:$L),
3612 def SLBIE : XForm_16b<31, 434, (outs), (ins gprc:$RB),
3615 def SLBMTE : XForm_26<31, 402, (outs), (ins gprc:$RS, gprc:$RB),
3618 def SLBMFEE : XForm_26<31, 915, (outs gprc:$RT), (ins gprc:$RB),
3629 def TLBIEL : XForm_16b<31, 274, (outs), (ins gprc:$RB),
3632 def TLBLD : XForm_16b<31, 978, (outs), (ins gprc:$RB),
3634 def TLBLI : XForm_16b<31, 1010, (outs), (ins gprc:$RB),
3637 def TLBIE : XForm_26<31, 306, (outs), (ins gprc:$RS, gprc:$RB),
3640 def TLBSX : XForm_tlb<914, (outs), (ins gprc:$A, gprc:$B), "tlbsx $A, $B",
3643 def TLBIVAX : XForm_tlb<786, (outs), (ins gprc:$A, gprc:$B), "tlbivax $A, $B",
3652 def TLBRE2 : XForm_tlbws<31, 946, (outs gprc:$RS), (ins gprc:$A, i1imm:$WS),
3655 def TLBWE2 : XForm_tlbws<31, 978, (outs), (ins gprc:$RS, gprc:$A, i1imm:$WS),
3658 def TLBSX2 : XForm_base_r3xo<31, 914, (outs), (ins gprc:$RST, gprc:$A, gprc:$B),
3662 (ins gprc:$RST, gprc:$A, gprc:$B),
3678 def MFDCR : XFXForm_1<31, 323, (outs gprc:$RT), (ins i32imm:$SPR),
3680 def MTDCR : XFXForm_1<31, 451, (outs), (ins gprc:$RT, i32imm:$SPR),
3685 def LBZCIX : XForm_base_r3xo<31, 853, (outs gprc:$RST), (ins gprc:$A, gprc:$B),
3687 def LHZCIX : XForm_base_r3xo<31, 821, (outs gprc:$RST), (ins gprc:$A, gprc:$B),
3689 def LWZCIX : XForm_base_r3xo<31, 789, (outs gprc:$RST), (ins gprc:$A, gprc:$B),
3691 def LDCIX : XForm_base_r3xo<31, 885, (outs gprc:$RST), (ins gprc:$A, gprc:$B),
3694 def STBCIX : XForm_base_r3xo<31, 981, (outs), (ins gprc:$RST, gprc:$A, gprc:$B),
3696 def STHCIX : XForm_base_r3xo<31, 949, (outs), (ins gprc:$RST, gprc:$A, gprc:$B),
3698 def STWCIX : XForm_base_r3xo<31, 917, (outs), (ins gprc:$RST, gprc:$A, gprc:$B),
3700 def STDCIX : XForm_base_r3xo<31, 1013, (outs), (ins gprc:$RST, gprc:$A, gprc:$B),
3752 def : InstAlias<"mtxer $Rx", (MTSPR 1, gprc:$Rx)>;
3753 def : InstAlias<"mfxer $Rx", (MFSPR gprc:$Rx, 1)>;
3755 def : InstAlias<"mfrtcu $Rx", (MFSPR gprc:$Rx, 4)>;
3756 def : InstAlias<"mfrtcl $Rx", (MFSPR gprc:$Rx, 5)>;
3758 def : InstAlias<"mtdscr $Rx", (MTSPR 17, gprc:$Rx)>;
3759 def : InstAlias<"mfdscr $Rx", (MFSPR gprc:$Rx, 17)>;
3761 def : InstAlias<"mtdsisr $Rx", (MTSPR 18, gprc:$Rx)>;
3762 def : InstAlias<"mfdsisr $Rx", (MFSPR gprc:$Rx, 18)>;
3764 def : InstAlias<"mtdar $Rx", (MTSPR 19, gprc:$Rx)>;
3765 def : InstAlias<"mfdar $Rx", (MFSPR gprc:$Rx, 19)>;
3767 def : InstAlias<"mtdec $Rx", (MTSPR 22, gprc:$Rx)>;
3768 def : InstAlias<"mfdec $Rx", (MFSPR gprc:$Rx, 22)>;
3770 def : InstAlias<"mtsdr1 $Rx", (MTSPR 25, gprc:$Rx)>;
3771 def : InstAlias<"mfsdr1 $Rx", (MFSPR gprc:$Rx, 25)>;
3773 def : InstAlias<"mtsrr0 $Rx", (MTSPR 26, gprc:$Rx)>;
3774 def : InstAlias<"mfsrr0 $Rx", (MFSPR gprc:$Rx, 26)>;
3776 def : InstAlias<"mtsrr1 $Rx", (MTSPR 27, gprc:$Rx)>;
3777 def : InstAlias<"mfsrr1 $Rx", (MFSPR gprc:$Rx, 27)>;
3779 def : InstAlias<"mtsrr2 $Rx", (MTSPR 990, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3780 def : InstAlias<"mfsrr2 $Rx", (MFSPR gprc:$Rx, 990)>, Requires<[IsPPC4xx]>;
3782 def : InstAlias<"mtsrr3 $Rx", (MTSPR 991, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3783 def : InstAlias<"mfsrr3 $Rx", (MFSPR gprc:$Rx, 991)>, Requires<[IsPPC4xx]>;
3785 def : InstAlias<"mtcfar $Rx", (MTSPR 28, gprc:$Rx)>;
3786 def : InstAlias<"mfcfar $Rx", (MFSPR gprc:$Rx, 28)>;
3788 def : InstAlias<"mtamr $Rx", (MTSPR 29, gprc:$Rx)>;
3789 def : InstAlias<"mfamr $Rx", (MFSPR gprc:$Rx, 29)>;
3791 def : InstAlias<"mtpid $Rx", (MTSPR 48, gprc:$Rx)>, Requires<[IsBookE]>;
3792 def : InstAlias<"mfpid $Rx", (MFSPR gprc:$Rx, 48)>, Requires<[IsBookE]>;
3794 def : InstAlias<"mftb $Rx", (MFTB gprc:$Rx, 268)>;
3795 def : InstAlias<"mftbl $Rx", (MFTB gprc:$Rx, 268)>;
3796 def : InstAlias<"mftbu $Rx", (MFTB gprc:$Rx, 269)>;
3798 def : InstAlias<"mttbl $Rx", (MTSPR 284, gprc:$Rx)>;
3799 def : InstAlias<"mttbu $Rx", (MTSPR 285, gprc:$Rx)>;
3801 def : InstAlias<"mftblo $Rx", (MFSPR gprc:$Rx, 989)>, Requires<[IsPPC4xx]>;
3802 def : InstAlias<"mttblo $Rx", (MTSPR 989, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3803 def : InstAlias<"mftbhi $Rx", (MFSPR gprc:$Rx, 988)>, Requires<[IsPPC4xx]>;
3804 def : InstAlias<"mttbhi $Rx", (MTSPR 988, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3818 (MTSPR !add(BATR, !add(BATR, 536)), gprc:$Rx)>,
3821 (MFSPR gprc:$Rx, !add(BATR, !add(BATR, 536)))>,
3824 (MTSPR !add(BATR, !add(BATR, 537)), gprc:$Rx)>,
3827 (MFSPR gprc:$Rx, !add(BATR, !add(BATR, 537)))>,
3830 (MTSPR !add(BATR, !add(BATR, 528)), gprc:$Rx)>,
3833 (MFSPR gprc:$Rx, !add(BATR, !add(BATR, 528)))>,
3836 (MTSPR !add(BATR, !add(BATR, 529)), gprc:$Rx)>,
3839 (MFSPR gprc:$Rx, !add(BATR, !add(BATR, 529)))>,
3845 (MFDCR gprc:$Rx, !add(BR, 0x80))>,
3848 (MTDCR gprc:$Rx, !add(BR, 0x80))>,
3852 def : InstAlias<"mtdccr $Rx", (MTSPR 1018, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3853 def : InstAlias<"mfdccr $Rx", (MFSPR gprc:$Rx, 1018)>, Requires<[IsPPC4xx]>;
3855 def : InstAlias<"mticcr $Rx", (MTSPR 1019, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3856 def : InstAlias<"mficcr $Rx", (MFSPR gprc:$Rx, 1019)>, Requires<[IsPPC4xx]>;
3858 def : InstAlias<"mtdear $Rx", (MTSPR 981, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3859 def : InstAlias<"mfdear $Rx", (MFSPR gprc:$Rx, 981)>, Requires<[IsPPC4xx]>;
3861 def : InstAlias<"mtesr $Rx", (MTSPR 980, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3862 def : InstAlias<"mfesr $Rx", (MFSPR gprc:$Rx, 980)>, Requires<[IsPPC4xx]>;
3864 def : InstAlias<"mfspefscr $Rx", (MFSPR gprc:$Rx, 512)>;
3865 def : InstAlias<"mtspefscr $Rx", (MTSPR 512, gprc:$Rx)>;
3867 def : InstAlias<"mttcr $Rx", (MTSPR 986, gprc:$Rx)>, Requires<[IsPPC4xx]>;
3868 def : InstAlias<"mftcr $Rx", (MFSPR gprc:$Rx, 986)>, Requires<[IsPPC4xx]>;
3870 def LAx : PPCAsmPseudo<"la $rA, $addr", (ins gprc:$rA, memri:$addr)>;
3873 (ins gprc:$rA, gprc:$rB, s16imm:$imm)>;
3875 (ins gprc:$rA, gprc:$rB, s16imm:$imm)>;
3877 (ins gprc:$rA, gprc:$rB, s16imm:$imm)>;
3879 (ins gprc:$rA, gprc:$rB, s16imm:$imm)>;
3886 def : InstAlias<"mtmsrd $RS", (MTMSRD gprc:$RS, 0)>;
3887 def : InstAlias<"mtmsr $RS", (MTMSR gprc:$RS, 0)>;
3889 def : InstAlias<"mfasr $RT", (MFSPR gprc:$RT, 280)>;
3890 def : InstAlias<"mtasr $RT", (MTSPR 280, gprc:$RT)>;
3893 def : InstAlias<"mfsprg $RT, "#SPRG, (MFSPR gprc:$RT, !add(SPRG, 272))>;
3894 def : InstAlias<"mfsprg"#SPRG#" $RT", (MFSPR gprc:$RT, !add(SPRG, 272))>;
3895 def : InstAlias<"mtsprg "#SPRG#", $RT", (MTSPR !add(SPRG, 272), gprc:$RT)>;
3896 def : InstAlias<"mtsprg"#SPRG#" $RT", (MTSPR !add(SPRG, 272), gprc:$RT)>;
3899 def : InstAlias<"mfsprg $RT, "#SPRG, (MFSPR gprc:$RT, !add(SPRG, 256))>,
3901 def : InstAlias<"mfsprg"#SPRG#" $RT", (MFSPR gprc:$RT, !add(SPRG, 256))>,
3903 def : InstAlias<"mtsprg "#SPRG#", $RT", (MTSPR !add(SPRG, 256), gprc:$RT)>,
3905 def : InstAlias<"mtsprg"#SPRG#" $RT", (MTSPR !add(SPRG, 256), gprc:$RT)>,
3909 def : InstAlias<"mtasr $RS", (MTSPR 280, gprc:$RS)>;
3911 def : InstAlias<"mfdec $RT", (MFSPR gprc:$RT, 22)>;
3912 def : InstAlias<"mtdec $RT", (MTSPR 22, gprc:$RT)>;
3914 def : InstAlias<"mfpvr $RT", (MFSPR gprc:$RT, 287)>;
3916 def : InstAlias<"mfsdr1 $RT", (MFSPR gprc:$RT, 25)>;
3917 def : InstAlias<"mtsdr1 $RT", (MTSPR 25, gprc:$RT)>;
3919 def : InstAlias<"mfsrr0 $RT", (MFSPR gprc:$RT, 26)>;
3920 def : InstAlias<"mfsrr1 $RT", (MFSPR gprc:$RT, 27)>;
3921 def : InstAlias<"mtsrr0 $RT", (MTSPR 26, gprc:$RT)>;
3922 def : InstAlias<"mtsrr1 $RT", (MTSPR 27, gprc:$RT)>;
3924 def : InstAlias<"tlbie $RB", (TLBIE R0, gprc:$RB)>;
3926 def : InstAlias<"tlbrehi $RS, $A", (TLBRE2 gprc:$RS, gprc:$A, 0)>,
3928 def : InstAlias<"tlbrelo $RS, $A", (TLBRE2 gprc:$RS, gprc:$A, 1)>,
3930 def : InstAlias<"tlbwehi $RS, $A", (TLBWE2 gprc:$RS, gprc:$A, 0)>,
3932 def : InstAlias<"tlbwelo $RS, $A", (TLBWE2 gprc:$RS, gprc:$A, 1)>,
3936 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3938 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3940 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3942 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3944 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3946 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3948 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3950 (ins gprc:$rA, gprc:$rS, u5imm:$n, u5imm:$b)>;
3952 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3954 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3956 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3958 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3960 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3962 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3964 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3966 (ins gprc:$rA, gprc:$rS, u5imm:$n)>;
3968 (ins gprc:$rA, gprc:$rS, u5imm:$b, u5imm:$n)>;
3970 (ins gprc:$rA, gprc:$rS, u5imm:$b, u5imm:$n)>;
3972 def : InstAlias<"rotlwi $rA, $rS, $n", (RLWINM gprc:$rA, gprc:$rS, u5imm:$n, 0, 31)>;
3973 def : InstAlias<"rotlwi. $rA, $rS, $n", (RLWINMo gprc:$rA, gprc:$rS, u5imm:$n, 0, 31)>;
3974 def : InstAlias<"rotlw $rA, $rS, $rB", (RLWNM gprc:$rA, gprc:$rS, gprc:$rB, 0, 31)>;
3975 def : InstAlias<"rotlw. $rA, $rS, $rB", (RLWNMo gprc:$rA, gprc:$rS, gprc:$rB, 0, 31)>;
3976 def : InstAlias<"clrlwi $rA, $rS, $n", (RLWINM gprc:$rA, gprc:$rS, 0, u5imm:$n, 31)>;
3977 def : InstAlias<"clrlwi. $rA, $rS, $n", (RLWINMo gprc:$rA, gprc:$rS, 0, u5imm:$n, 31)>;
3979 def : InstAlias<"cntlzw $rA, $rS", (CNTLZW gprc:$rA, gprc:$rS)>;
3980 def : InstAlias<"cntlzw. $rA, $rS", (CNTLZWo gprc:$rA, gprc:$rS)>;
4020 def : InstAlias<"rotld $rA, $rS, $rB", (RLDCL g8rc:$rA, g8rc:$rS, gprc:$rB, 0)>;
4021 def : InstAlias<"rotld. $rA, $rS, $rB", (RLDCLo g8rc:$rA, g8rc:$rS, gprc:$rB, 0)>;
4162 def : InstAlias<"cmpwi $rA, $imm", (CMPWI CR0, gprc:$rA, s16imm:$imm)>;
4163 def : InstAlias<"cmpw $rA, $rB", (CMPW CR0, gprc:$rA, gprc:$rB)>;
4164 def : InstAlias<"cmplwi $rA, $imm", (CMPLWI CR0, gprc:$rA, u16imm:$imm)>;
4165 def : InstAlias<"cmplw $rA, $rB", (CMPLW CR0, gprc:$rA, gprc:$rB)>;
4171 def : InstAlias<"cmpi $bf, 0, $rA, $imm", (CMPWI crrc:$bf, gprc:$rA, s16imm:$imm)>;
4172 def : InstAlias<"cmp $bf, 0, $rA, $rB", (CMPW crrc:$bf, gprc:$rA, gprc:$rB)>;
4173 def : InstAlias<"cmpli $bf, 0, $rA, $imm", (CMPLWI crrc:$bf, gprc:$rA, u16imm:$imm)>;
4174 def : InstAlias<"cmpl $bf, 0, $rA, $rB", (CMPLW crrc:$bf, gprc:$rA, gprc:$rB)>;
4183 def : InstAlias<"tw"#name#"i $rA, $imm", (TWI to, gprc:$rA, s16imm:$imm)>;
4184 def : InstAlias<"tw"#name#" $rA, $rB", (TW to, gprc:$rA, gprc:$rB)>;
4211 def : Pat<(atomic_store_8 iaddr:$ptr, i32:$val), (STB gprc:$val, memri:$ptr)>;
4212 def : Pat<(atomic_store_16 iaddr:$ptr, i32:$val), (STH gprc:$val, memri:$ptr)>;
4213 def : Pat<(atomic_store_32 iaddr:$ptr, i32:$val), (STW gprc:$val, memri:$ptr)>;
4214 def : Pat<(atomic_store_8 xaddr:$ptr, i32:$val), (STBX gprc:$val, memrr:$ptr)>;
4215 def : Pat<(atomic_store_16 xaddr:$ptr, i32:$val), (STHX gprc:$val, memrr:$ptr)>;
4216 def : Pat<(atomic_store_32 xaddr:$ptr, i32:$val), (STWX gprc:$val, memrr:$ptr)>;
4224 def CP_COPY : X_L1_RA5_RB5<31, 774, "copy" , gprc, IIC_LdStCOPY, []>;
4227 def CP_PASTE : X_L1_RA5_RB5<31, 902, "paste" , gprc, IIC_LdStPASTE, []>;
4230 def CP_PASTEo : X_L1_RA5_RB5<31, 902, "paste.", gprc, IIC_LdStPASTE, []>, isDOT;
4232 def CP_COPYx : PPCAsmPseudo<"copy $rA, $rB" , (ins gprc:$rA, gprc:$rB)>;
4233 def CP_PASTEx : PPCAsmPseudo<"paste $rA, $rB", (ins gprc:$rA, gprc:$rB)>;
4235 (ins gprc:$rA, gprc:$rB)>;
4237 (ins gprc:$rA, gprc:$rB)>;