Lines Matching refs:cond

505                                    TCGType type, TCGCond cond, int vece)
539 static void tcg_out_b_imm(TCGContext *s, ARMCond cond, int32_t offset)
541 tcg_out32(s, (cond << 28) | INSN_B |
545 static void tcg_out_bl_imm(TCGContext *s, ARMCond cond, int32_t offset)
547 tcg_out32(s, (cond << 28) | 0x0b000000 |
551 static void tcg_out_blx_reg(TCGContext *s, ARMCond cond, TCGReg rn)
553 tcg_out32(s, (cond << 28) | 0x012fff30 | rn);
562 static void tcg_out_dat_reg(TCGContext *s, ARMCond cond, ARMInsn opc,
565 tcg_out32(s, (cond << 28) | (0 << 25) | opc |
569 static void tcg_out_mov_reg(TCGContext *s, ARMCond cond, TCGReg rd, TCGReg rm)
573 tcg_out_dat_reg(s, cond, ARITH_MOV, rd, 0, rm, SHIFT_IMM_LSL(0));
577 static void tcg_out_bx_reg(TCGContext *s, ARMCond cond, TCGReg rn)
579 tcg_out32(s, (cond << 28) | 0x012fff10 | rn);
582 static void tcg_out_b_reg(TCGContext *s, ARMCond cond, TCGReg rn)
588 tcg_out_bx_reg(s, cond, rn);
591 static void tcg_out_dat_imm(TCGContext *s, ARMCond cond, ARMInsn opc,
594 tcg_out32(s, (cond << 28) | (1 << 25) | opc |
598 static void tcg_out_ldstm(TCGContext *s, ARMCond cond, ARMInsn opc,
601 tcg_out32(s, (cond << 28) | opc | (rn << 16) | mask);
606 static void tcg_out_memop_r(TCGContext *s, ARMCond cond, ARMInsn opc, TCGReg rt,
609 tcg_out32(s, (cond << 28) | opc | (u << 23) | (p << 24)
613 static void tcg_out_memop_8(TCGContext *s, ARMCond cond, ARMInsn opc, TCGReg rt,
621 tcg_out32(s, (cond << 28) | opc | (u << 23) | (p << 24) | (w << 21) |
625 static void tcg_out_memop_12(TCGContext *s, ARMCond cond, ARMInsn opc,
633 tcg_out32(s, (cond << 28) | opc | (u << 23) | (p << 24) | (w << 21) |
637 static void tcg_out_ld32_12(TCGContext *s, ARMCond cond, TCGReg rt,
640 tcg_out_memop_12(s, cond, INSN_LDR_IMM, rt, rn, imm12, 1, 0);
643 static void tcg_out_st32_12(TCGContext *s, ARMCond cond, TCGReg rt,
646 tcg_out_memop_12(s, cond, INSN_STR_IMM, rt, rn, imm12, 1, 0);
649 static void tcg_out_ld32_r(TCGContext *s, ARMCond cond, TCGReg rt,
652 tcg_out_memop_r(s, cond, INSN_LDR_REG, rt, rn, rm, 1, 1, 0);
655 static void tcg_out_st32_r(TCGContext *s, ARMCond cond, TCGReg rt,
658 tcg_out_memop_r(s, cond, INSN_STR_REG, rt, rn, rm, 1, 1, 0);
661 static void tcg_out_ldrd_8(TCGContext *s, ARMCond cond, TCGReg rt,
664 tcg_out_memop_8(s, cond, INSN_LDRD_IMM, rt, rn, imm8, 1, 0);
667 static void tcg_out_ldrd_r(TCGContext *s, ARMCond cond, TCGReg rt,
670 tcg_out_memop_r(s, cond, INSN_LDRD_REG, rt, rn, rm, 1, 1, 0);
674 tcg_out_ldrd_rwb(TCGContext *s, ARMCond cond, TCGReg rt, TCGReg rn, TCGReg rm)
676 tcg_out_memop_r(s, cond, INSN_LDRD_REG, rt, rn, rm, 1, 1, 1);
680 tcg_out_strd_8(TCGContext *s, ARMCond cond, TCGReg rt, TCGReg rn, int imm8)
682 tcg_out_memop_8(s, cond, INSN_STRD_IMM, rt, rn, imm8, 1, 0);
685 static void tcg_out_strd_r(TCGContext *s, ARMCond cond, TCGReg rt,
688 tcg_out_memop_r(s, cond, INSN_STRD_REG, rt, rn, rm, 1, 1, 0);
692 static void tcg_out_ld32_rwb(TCGContext *s, ARMCond cond, TCGReg rt,
695 tcg_out_memop_r(s, cond, INSN_LDR_REG, rt, rn, rm, 1, 1, 1);
698 static void tcg_out_st32_rwb(TCGContext *s, ARMCond cond, TCGReg rt,
701 tcg_out_memop_r(s, cond, INSN_STR_REG, rt, rn, rm, 1, 1, 1);
704 static void tcg_out_ld16u_8(TCGContext *s, ARMCond cond, TCGReg rt,
707 tcg_out_memop_8(s, cond, INSN_LDRH_IMM, rt, rn, imm8, 1, 0);
710 static void tcg_out_st16_8(TCGContext *s, ARMCond cond, TCGReg rt,
713 tcg_out_memop_8(s, cond, INSN_STRH_IMM, rt, rn, imm8, 1, 0);
716 static void tcg_out_ld16u_r(TCGContext *s, ARMCond cond, TCGReg rt,
719 tcg_out_memop_r(s, cond, INSN_LDRH_REG, rt, rn, rm, 1, 1, 0);
722 static void tcg_out_st16_r(TCGContext *s, ARMCond cond, TCGReg rt,
725 tcg_out_memop_r(s, cond, INSN_STRH_REG, rt, rn, rm, 1, 1, 0);
728 static void tcg_out_ld16s_8(TCGContext *s, ARMCond cond, TCGReg rt,
731 tcg_out_memop_8(s, cond, INSN_LDRSH_IMM, rt, rn, imm8, 1, 0);
734 static void tcg_out_ld16s_r(TCGContext *s, ARMCond cond, TCGReg rt,
737 tcg_out_memop_r(s, cond, INSN_LDRSH_REG, rt, rn, rm, 1, 1, 0);
740 static void tcg_out_ld8_12(TCGContext *s, ARMCond cond, TCGReg rt,
743 tcg_out_memop_12(s, cond, INSN_LDRB_IMM, rt, rn, imm12, 1, 0);
746 static void tcg_out_st8_12(TCGContext *s, ARMCond cond, TCGReg rt,
749 tcg_out_memop_12(s, cond, INSN_STRB_IMM, rt, rn, imm12, 1, 0);
752 static void tcg_out_ld8_r(TCGContext *s, ARMCond cond, TCGReg rt,
755 tcg_out_memop_r(s, cond, INSN_LDRB_REG, rt, rn, rm, 1, 1, 0);
758 static void tcg_out_st8_r(TCGContext *s, ARMCond cond, TCGReg rt,
761 tcg_out_memop_r(s, cond, INSN_STRB_REG, rt, rn, rm, 1, 1, 0);
764 static void tcg_out_ld8s_8(TCGContext *s, ARMCond cond, TCGReg rt,
767 tcg_out_memop_8(s, cond, INSN_LDRSB_IMM, rt, rn, imm8, 1, 0);
770 static void tcg_out_ld8s_r(TCGContext *s, ARMCond cond, TCGReg rt,
773 tcg_out_memop_r(s, cond, INSN_LDRSB_REG, rt, rn, rm, 1, 1, 0);
776 static void tcg_out_movi_pool(TCGContext *s, ARMCond cond,
780 tcg_out_ld32_12(s, cond, rd, TCG_REG_PC, 0);
783 static void tcg_out_movi32(TCGContext *s, ARMCond cond,
792 tcg_out_dat_imm(s, cond, ARITH_MOV, rd, 0, imm12);
797 tcg_out_dat_imm(s, cond, ARITH_MVN, rd, 0, imm12);
807 tcg_out_dat_imm(s, cond, ARITH_ADD, rd, TCG_REG_PC, imm12);
813 tcg_out_dat_imm(s, cond, ARITH_SUB, rd, TCG_REG_PC, imm12);
821 tcg_out32(s, (cond << 28) | 0x03000000 | (rd << 12)
825 tcg_out32(s, (cond << 28) | 0x03400000 | (rd << 12)
848 tcg_out_dat_imm(s, cond, opc, rd, 0, ((tt0 >> sh1) & 0xff) | rot);
850 tcg_out_dat_imm(s, cond, ARITH_EOR, rd, rd,
856 tcg_out_movi_pool(s, cond, rd, arg);
863 static void tcg_out_dat_rI(TCGContext *s, ARMCond cond, ARMInsn opc,
867 tcg_out_dat_imm(s, cond, opc, dst, lhs, encode_imm_nofail(rhs));
869 tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));
877 static void tcg_out_dat_rIK(TCGContext *s, ARMCond cond, ARMInsn opc,
887 tcg_out_dat_imm(s, cond, opc, dst, lhs, imm12);
889 tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));
893 static void tcg_out_dat_rIN(TCGContext *s, ARMCond cond, ARMInsn opc,
906 tcg_out_dat_imm(s, cond, opc, dst, lhs, imm12);
908 tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));
912 static void tcg_out_mul32(TCGContext *s, ARMCond cond, TCGReg rd,
916 tcg_out32(s, (cond << 28) | 0x90 | (rd << 16) | (rm << 8) | rn);
919 static void tcg_out_umull32(TCGContext *s, ARMCond cond, TCGReg rd0,
923 tcg_out32(s, (cond << 28) | 0x00800090 |
927 static void tcg_out_smull32(TCGContext *s, ARMCond cond, TCGReg rd0,
931 tcg_out32(s, (cond << 28) | 0x00c00090 |
935 static void tcg_out_sdiv(TCGContext *s, ARMCond cond,
938 tcg_out32(s, 0x0710f010 | (cond << 28) | (rd << 16) | rn | (rm << 8));
941 static void tcg_out_udiv(TCGContext *s, ARMCond cond,
944 tcg_out32(s, 0x0730f010 | (cond << 28) | (rd << 16) | rn | (rm << 8));
995 static void tcg_out_bswap16(TCGContext *s, ARMCond cond,
1000 tcg_out32(s, 0x06ff0fb0 | (cond << 28) | (rd << 12) | rn);
1005 tcg_out32(s, 0x06bf0fb0 | (cond << 28) | (rd << 12) | rn);
1008 tcg_out32(s, 0x06ff0070 | (cond << 28) | (rd << 12) | rd);
1012 static void tcg_out_bswap32(TCGContext *s, ARMCond cond, TCGReg rd, TCGReg rn)
1015 tcg_out32(s, 0x06bf0f30 | (cond << 28) | (rd << 12) | rn);
1018 static void tcg_out_deposit(TCGContext *s, ARMCond cond, TCGReg rd,
1026 tcg_out32(s, 0x07c00010 | (cond << 28) | (rd << 12) | a1
1030 static void tcg_out_extract(TCGContext *s, ARMCond cond, TCGReg rd,
1034 tcg_out32(s, 0x07e00050 | (cond << 28) | (rd << 12) | rn
1038 static void tcg_out_sextract(TCGContext *s, ARMCond cond, TCGReg rd,
1042 tcg_out32(s, 0x07a00050 | (cond << 28) | (rd << 12) | rn
1046 static void tcg_out_ld32u(TCGContext *s, ARMCond cond,
1050 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1051 tcg_out_ld32_r(s, cond, rd, rn, TCG_REG_TMP);
1053 tcg_out_ld32_12(s, cond, rd, rn, offset);
1056 static void tcg_out_st32(TCGContext *s, ARMCond cond,
1060 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1061 tcg_out_st32_r(s, cond, rd, rn, TCG_REG_TMP);
1063 tcg_out_st32_12(s, cond, rd, rn, offset);
1066 static void tcg_out_ld16u(TCGContext *s, ARMCond cond,
1070 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1071 tcg_out_ld16u_r(s, cond, rd, rn, TCG_REG_TMP);
1073 tcg_out_ld16u_8(s, cond, rd, rn, offset);
1076 static void tcg_out_ld16s(TCGContext *s, ARMCond cond,
1080 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1081 tcg_out_ld16s_r(s, cond, rd, rn, TCG_REG_TMP);
1083 tcg_out_ld16s_8(s, cond, rd, rn, offset);
1086 static void tcg_out_st16(TCGContext *s, ARMCond cond,
1090 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1091 tcg_out_st16_r(s, cond, rd, rn, TCG_REG_TMP);
1093 tcg_out_st16_8(s, cond, rd, rn, offset);
1096 static void tcg_out_ld8u(TCGContext *s, ARMCond cond,
1100 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1101 tcg_out_ld8_r(s, cond, rd, rn, TCG_REG_TMP);
1103 tcg_out_ld8_12(s, cond, rd, rn, offset);
1106 static void tcg_out_ld8s(TCGContext *s, ARMCond cond,
1110 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1111 tcg_out_ld8s_r(s, cond, rd, rn, TCG_REG_TMP);
1113 tcg_out_ld8s_8(s, cond, rd, rn, offset);
1116 static void tcg_out_st8(TCGContext *s, ARMCond cond,
1120 tcg_out_movi32(s, cond, TCG_REG_TMP, offset);
1121 tcg_out_st8_r(s, cond, rd, rn, TCG_REG_TMP);
1123 tcg_out_st8_12(s, cond, rd, rn, offset);
1131 static void tcg_out_goto(TCGContext *s, ARMCond cond, const tcg_insn_unit *addr)
1138 tcg_out_b_imm(s, cond, disp);
1143 tcg_out_movi_pool(s, cond, TCG_REG_PC, addri);
1175 static void tcg_out_goto_label(TCGContext *s, ARMCond cond, TCGLabel *l)
1178 tcg_out_goto(s, cond, l->u.value_ptr);
1181 tcg_out_b_imm(s, cond, 0);
1194 static TCGCond tcg_out_cmp(TCGContext *s, TCGCond cond, TCGReg a,
1197 if (!is_tst_cond(cond)) {
1199 return cond;
1202 cond = tcg_tst_eqne_cond(cond);
1212 return cond;
1218 return cond;
1228 TCGCond cond = args[4];
1232 switch (cond) {
1246 return cond;
1253 return tcg_tst_eqne_cond(cond);
1264 return cond;
1273 return tcg_swap_cond(cond);
1351 ARMCond cond;
1419 .cond = COND_AL,
1426 .cond = COND_AL,
1552 tcg_out_ld8_12(s, h.cond, datalo, h.base, 0);
1554 tcg_out_ld8_r(s, h.cond, datalo, h.base, h.index);
1559 tcg_out_ld8s_8(s, h.cond, datalo, h.base, 0);
1561 tcg_out_ld8s_r(s, h.cond, datalo, h.base, h.index);
1566 tcg_out_ld16u_8(s, h.cond, datalo, h.base, 0);
1568 tcg_out_ld16u_r(s, h.cond, datalo, h.base, h.index);
1573 tcg_out_ld16s_8(s, h.cond, datalo, h.base, 0);
1575 tcg_out_ld16s_r(s, h.cond, datalo, h.base, h.index);
1580 tcg_out_ld32_12(s, h.cond, datalo, h.base, 0);
1582 tcg_out_ld32_r(s, h.cond, datalo, h.base, h.index);
1592 tcg_out_ldrd_8(s, h.cond, datalo, h.base, 0);
1601 tcg_out_ldrd_r(s, h.cond, datalo, h.base, h.index);
1605 tcg_out_ldrd_r(s, h.cond, datalo, h.index, h.base);
1612 tcg_out_mov_reg(s, h.cond, TCG_REG_TMP, base);
1616 tcg_out_ld32_rwb(s, h.cond, datalo, h.index, h.base);
1617 tcg_out_ld32_12(s, h.cond, datahi, h.index, 4);
1620 tcg_out_dat_reg(s, h.cond, ARITH_ADD, TCG_REG_TMP,
1624 tcg_out_ld32_12(s, h.cond, datalo, base, 0);
1625 tcg_out_ld32_12(s, h.cond, datahi, base, 4);
1670 tcg_out_st8_12(s, h.cond, datalo, h.base, 0);
1672 tcg_out_st8_r(s, h.cond, datalo, h.base, h.index);
1677 tcg_out_st16_8(s, h.cond, datalo, h.base, 0);
1679 tcg_out_st16_r(s, h.cond, datalo, h.base, h.index);
1684 tcg_out_st32_12(s, h.cond, datalo, h.base, 0);
1686 tcg_out_st32_r(s, h.cond, datalo, h.base, h.index);
1696 tcg_out_strd_8(s, h.cond, datalo, h.base, 0);
1698 tcg_out_strd_r(s, h.cond, datalo, h.base, h.index);
1701 tcg_out_st32_12(s, h.cond, datalo, h.base, 0);
1702 tcg_out_st32_12(s, h.cond, datahi, h.base, 4);
1704 tcg_out_st32_rwb(s, h.cond, datalo, h.index, h.base);
1705 tcg_out_st32_12(s, h.cond, datahi, h.index, 4);
1707 tcg_out_dat_reg(s, h.cond, ARITH_ADD, TCG_REG_TMP,
1709 tcg_out_st32_12(s, h.cond, datalo, TCG_REG_TMP, 0);
1710 tcg_out_st32_12(s, h.cond, datahi, TCG_REG_TMP, 4);
1732 h.cond = COND_EQ;
2742 TCGCond cond = args[3];
2745 switch (cond) {
2760 -(cond == TCG_COND_TSTEQ));
2764 if (cond == TCG_COND_TSTEQ) {
2771 insn = vec_cmp0_insn[cond];
2779 insn = vec_cmp_insn[cond];
2783 cond = tcg_swap_cond(cond);
2784 insn = vec_cmp_insn[cond];