• Home
  • Raw
  • Download

Lines Matching refs:GPR64

74   def ATOMIC_LOAD_ADD_I64  : Atomic2Ops<atomic_load_add_64, GPR64>;
75 def ATOMIC_LOAD_SUB_I64 : Atomic2Ops<atomic_load_sub_64, GPR64>;
76 def ATOMIC_LOAD_AND_I64 : Atomic2Ops<atomic_load_and_64, GPR64>;
77 def ATOMIC_LOAD_OR_I64 : Atomic2Ops<atomic_load_or_64, GPR64>;
78 def ATOMIC_LOAD_XOR_I64 : Atomic2Ops<atomic_load_xor_64, GPR64>;
79 def ATOMIC_LOAD_NAND_I64 : Atomic2Ops<atomic_load_nand_64, GPR64>;
80 def ATOMIC_SWAP_I64 : Atomic2Ops<atomic_swap_64, GPR64>;
81 def ATOMIC_CMP_SWAP_I64 : AtomicCmpSwap<atomic_cmp_swap_64, GPR64>;
281 def PseudoMFHI64 : PseudoMFLOHI<GPR64, ACC128, MipsMFHI>,
283 def PseudoMFLO64 : PseudoMFLOHI<GPR64, ACC128, MipsMFLO>,
285 def PseudoMTLOHI64 : PseudoMTLOHI<ACC128, GPR64>, ISA_MIPS3_NOT_32R6_64R6;
331 def DSLL64_32 : FR<0x00, 0x3c, (outs GPR64:$rd), (ins GPR32:$rt),
333 def SLL64_32 : FR<0x0, 0x00, (outs GPR64:$rd), (ins GPR32:$rt),
335 def SLL64_64 : FR<0x0, 0x00, (outs GPR64:$rd), (ins GPR64:$rt),
521 def : MipsPat<(add GPR64:$hi, (MipsLo tglobaladdr:$lo)),
522 (DADDiu GPR64:$hi, tglobaladdr:$lo)>;
523 def : MipsPat<(add GPR64:$hi, (MipsLo tblockaddress:$lo)),
524 (DADDiu GPR64:$hi, tblockaddress:$lo)>;
525 def : MipsPat<(add GPR64:$hi, (MipsLo tjumptable:$lo)),
526 (DADDiu GPR64:$hi, tjumptable:$lo)>;
527 def : MipsPat<(add GPR64:$hi, (MipsLo tconstpool:$lo)),
528 (DADDiu GPR64:$hi, tconstpool:$lo)>;
529 def : MipsPat<(add GPR64:$hi, (MipsLo tglobaltlsaddr:$lo)),
530 (DADDiu GPR64:$hi, tglobaltlsaddr:$lo)>;
532 def : WrapperPat<tglobaladdr, DADDiu, GPR64>;
533 def : WrapperPat<tconstpool, DADDiu, GPR64>;
534 def : WrapperPat<texternalsym, DADDiu, GPR64>;
535 def : WrapperPat<tblockaddress, DADDiu, GPR64>;
536 def : WrapperPat<tjumptable, DADDiu, GPR64>;
537 def : WrapperPat<tglobaltlsaddr, DADDiu, GPR64>;
540 defm : BrcondPats<GPR64, BEQ64, BNE64, SLT64, SLTu64, SLTi64, SLTiu64,
549 defm : SeteqPats<GPR64, SLTiu64, XOR64, SLTu64, ZERO_64>;
550 defm : SetlePats<GPR64, SLT64, SLTu64>;
551 defm : SetgtPats<GPR64, SLT64, SLTu64>;
552 defm : SetgePats<GPR64, SLT64, SLTu64>;
553 defm : SetgeImmPats<GPR64, SLTi64, SLTiu64>;
556 def : MipsPat<(trunc (assertsext GPR64:$src)),
557 (EXTRACT_SUBREG GPR64:$src, sub_32)>;
568 def : MipsPat<(trunc (assertzext_lt_i32 GPR64:$src)),
569 (EXTRACT_SUBREG GPR64:$src, sub_32)>;
570 def : MipsPat<(i32 (trunc GPR64:$src)),
571 (SLL (EXTRACT_SUBREG GPR64:$src, sub_32), 0)>;
574 def : MipsPat<(shl GPR64:$rt, (i32 (trunc GPR64:$rs))),
575 (DSLLV GPR64:$rt, (EXTRACT_SUBREG GPR64:$rs, sub_32))>;
576 def : MipsPat<(srl GPR64:$rt, (i32 (trunc GPR64:$rs))),
577 (DSRLV GPR64:$rt, (EXTRACT_SUBREG GPR64:$rs, sub_32))>;
578 def : MipsPat<(sra GPR64:$rt, (i32 (trunc GPR64:$rs))),
579 (DSRAV GPR64:$rt, (EXTRACT_SUBREG GPR64:$rs, sub_32))>;
581 def : MipsPat<(rotr GPR64:$rt, (i32 (trunc GPR64:$rs))),
582 (DROTRV GPR64:$rt, (EXTRACT_SUBREG GPR64:$rs, sub_32))>;
592 def : MipsPat<(i64 (sext_inreg GPR64:$src, i32)),
593 (SLL64_64 GPR64:$src)>;
596 def : MipsPat<(bswap GPR64:$rt), (DSHD (DSBH GPR64:$rt))>;
600 def : MipsPat<(subc GPR64:$lhs, GPR64:$rhs),
601 (DSUBu GPR64:$lhs, GPR64:$rhs)>;
602 def : MipsPat<(addc GPR64:$lhs, GPR64:$rhs),
603 (DADDu GPR64:$lhs, GPR64:$rhs)>, ASE_NOT_DSP;
604 def : MipsPat<(addc GPR64:$lhs, immSExt16:$imm),
605 (DADDiu GPR64:$lhs, imm:$imm)>, ASE_NOT_DSP;
625 def : MipsPat<(atomic_store_8 addr:$a, GPR64:$v), (SB64 GPR64:$v, addr:$a)>;
626 def : MipsPat<(atomic_store_16 addr:$a, GPR64:$v), (SH64 GPR64:$v, addr:$a)>;
627 def : MipsPat<(atomic_store_32 addr:$a, GPR64:$v), (SW64 GPR64:$v, addr:$a)>;
628 def : MipsPat<(atomic_store_64 addr:$a, GPR64:$v), (SD GPR64:$v, addr:$a)>;