Lines Matching refs:cr
551 static inline int encode_crbit(const CRegister& cr, enum CRBit crbit) { in encode_crbit() argument
552 return ((cr.code() * CRWIDTH) + crbit); in encode_crbit()
581 inline CRegister cmpi_optimization(CRegister cr) { in cmpi_optimization() argument
591 cmpi_cr_.code() == cr.code() && last_bound_pos_ != pos) { in cmpi_optimization()
599 cr = cr0; in cmpi_optimization()
603 cr = cr0; in cmpi_optimization()
607 cr = cr0; in cmpi_optimization()
614 return cr; in cmpi_optimization()
617 void bc_short(Condition cond, Label* L, CRegister cr = cr7,
620 DCHECK(cr.code() >= 0 && cr.code() <= 7);
622 cr = cmpi_optimization(cr);
628 bc(b_offset, BT, encode_crbit(cr, CR_EQ), lk);
631 bc(b_offset, BF, encode_crbit(cr, CR_EQ), lk);
634 bc(b_offset, BT, encode_crbit(cr, CR_GT), lk);
637 bc(b_offset, BF, encode_crbit(cr, CR_GT), lk);
640 bc(b_offset, BT, encode_crbit(cr, CR_LT), lk);
643 bc(b_offset, BF, encode_crbit(cr, CR_LT), lk);
646 bc(b_offset, BT, encode_crbit(cr, CR_FU), lk);
649 bc(b_offset, BF, encode_crbit(cr, CR_FU), lk);
652 bc(b_offset, BT, encode_crbit(cr, CR_SO), lk);
655 bc(b_offset, BF, encode_crbit(cr, CR_SO), lk);
662 void bclr(Condition cond, CRegister cr = cr7, LKBit lk = LeaveLK) {
664 DCHECK(cr.code() >= 0 && cr.code() <= 7);
666 cr = cmpi_optimization(cr);
670 bclr(BT, encode_crbit(cr, CR_EQ), lk);
673 bclr(BF, encode_crbit(cr, CR_EQ), lk);
676 bclr(BT, encode_crbit(cr, CR_GT), lk);
679 bclr(BF, encode_crbit(cr, CR_GT), lk);
682 bclr(BT, encode_crbit(cr, CR_LT), lk);
685 bclr(BF, encode_crbit(cr, CR_LT), lk);
688 bclr(BT, encode_crbit(cr, CR_FU), lk);
691 bclr(BF, encode_crbit(cr, CR_FU), lk);
694 bclr(BT, encode_crbit(cr, CR_SO), lk);
697 bclr(BF, encode_crbit(cr, CR_SO), lk);
706 CRegister cr = cr7) {
708 DCHECK(cr.code() >= 0 && cr.code() <= 7);
710 cr = cmpi_optimization(cr);
714 isel(rt, ra, rb, encode_crbit(cr, CR_EQ));
717 isel(rt, rb, ra, encode_crbit(cr, CR_EQ));
720 isel(rt, ra, rb, encode_crbit(cr, CR_GT));
723 isel(rt, rb, ra, encode_crbit(cr, CR_GT));
726 isel(rt, ra, rb, encode_crbit(cr, CR_LT));
729 isel(rt, rb, ra, encode_crbit(cr, CR_LT));
732 isel(rt, ra, rb, encode_crbit(cr, CR_FU));
735 isel(rt, rb, ra, encode_crbit(cr, CR_FU));
738 isel(rt, ra, rb, encode_crbit(cr, CR_SO));
741 isel(rt, rb, ra, encode_crbit(cr, CR_SO));
748 void b(Condition cond, Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
755 bc_short(cond, L, cr, lk);
761 bc_short(neg_cond, &skip, cr);
766 void bne(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
767 b(ne, L, cr, lk);
769 void beq(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
770 b(eq, L, cr, lk);
772 void blt(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
773 b(lt, L, cr, lk);
775 void bge(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
776 b(ge, L, cr, lk);
778 void ble(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
779 b(le, L, cr, lk);
781 void bgt(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
782 b(gt, L, cr, lk);
784 void bunordered(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
785 b(unordered, L, cr, lk);
787 void bordered(Label* L, CRegister cr = cr7, LKBit lk = LeaveLK) {
788 b(ordered, L, cr, lk);
790 void boverflow(Label* L, CRegister cr = cr0, LKBit lk = LeaveLK) {
791 b(overflow, L, cr, lk);
793 void bnooverflow(Label* L, CRegister cr = cr0, LKBit lk = LeaveLK) {
794 b(nooverflow, L, cr, lk);
848 void cmpi(Register src1, const Operand& src2, CRegister cr = cr7);
849 void cmpli(Register src1, const Operand& src2, CRegister cr = cr7);
850 void cmpwi(Register src1, const Operand& src2, CRegister cr = cr7);
851 void cmplwi(Register src1, const Operand& src2, CRegister cr = cr7);
949 void cmp(Register src1, Register src2, CRegister cr = cr7);
950 void cmpl(Register src1, Register src2, CRegister cr = cr7);
951 void cmpw(Register src1, Register src2, CRegister cr = cr7);
952 void cmplw(Register src1, Register src2, CRegister cr = cr7);
990 void mcrfs(CRegister cr, FPSCRBit bit);
1004 int32_t code = kDefaultStopCode, CRegister cr = cr7);
1041 CRegister cr = cr7);