Lines Matching full:condt
910 static void put_QFLAG32 ( IRTemp t, IRTemp condT )
912 putMiscReg32( OFFB_QFLAG32, mkexpr(t), condT );
919 static void or_into_QFLAG32 ( IRExpr* e, IRTemp condT )
924 put_QFLAG32(nyu, condT);
940 IRTemp condT )
951 case 0: putMiscReg32(OFFB_GEFLAG0, mkexpr(masked), condT); break;
952 case 1: putMiscReg32(OFFB_GEFLAG1, mkexpr(masked), condT); break;
953 case 2: putMiscReg32(OFFB_GEFLAG2, mkexpr(masked), condT); break;
954 case 3: putMiscReg32(OFFB_GEFLAG3, mkexpr(masked), condT); break;
975 static void set_GE_32_10_from_bits_31_15 ( IRTemp t32, IRTemp condT )
981 put_GEFLAG32( 0, 0, mkexpr(ge10), condT );
982 put_GEFLAG32( 1, 0, mkexpr(ge10), condT );
983 put_GEFLAG32( 2, 0, mkexpr(ge32), condT );
984 put_GEFLAG32( 3, 0, mkexpr(ge32), condT );
991 static void set_GE_3_2_1_0_from_bits_31_23_15_7 ( IRTemp t32, IRTemp condT )
1001 put_GEFLAG32( 0, 0, mkexpr(ge0), condT );
1002 put_GEFLAG32( 1, 0, mkexpr(ge1), condT );
1003 put_GEFLAG32( 2, 0, mkexpr(ge2), condT );
1004 put_GEFLAG32( 3, 0, mkexpr(ge3), condT );
1291 IRTemp condT )
1299 condT);
1540 IRTemp apsrT, IRTemp condT )
1547 setFlags_D1(ARMG_CC_OP_COPY, immT, condT);
1551 put_QFLAG32(qnewT, condT);
1556 condT);
1558 condT);
1560 condT);
1562 condT);
2780 writes to registers -- pass in condT and hand that on to the
2781 put*Reg functions. In ARM mode condT is always IRTemp_INVALID
2782 since NEON is unconditional for ARM. In Thumb mode condT is
2828 Bool dis_neon_vext ( UInt theInstr, IRTemp condT )
2839 getQReg(mreg), mkU8(imm4)), condT);
2842 getDRegI64(mreg), mkU8(imm4)), condT);
2851 Bool dis_neon_vtb ( UInt theInstr, IRTemp condT )
2918 putDRegI64(dreg, mkexpr(old_res), condT);
2931 Bool dis_neon_vdup ( UInt theInstr, IRTemp condT )
2975 putQReg(dreg, mkexpr(res), condT);
2977 putDRegI64(dreg, mkexpr(res), condT);
2985 Bool dis_neon_data_3same ( UInt theInstr, IRTemp condT )
3145 setFlag_QC(mkexpr(res), mkexpr(tmp), Q, condT);
3557 setFlag_QC(mkexpr(res), mkexpr(tmp), Q, condT);
3771 Q, condT);
3786 Q, condT);
4086 Q, condT);
4101 Q, condT);
4512 Q, condT);
4548 Q, condT);
4785 putQReg(dreg, mkexpr(res), condT);
4787 putDRegI64(dreg, mkexpr(res), condT);
4795 Bool dis_neon_data_3diff ( UInt theInstr, IRTemp condT )
4845 condT);
4897 condT);
4953 putQReg(dreg, mkexpr(res), condT);
5007 condT);
5058 putQReg(dreg, mkexpr(res), condT);
5089 putQReg(dreg, binop(op2, getQReg(dreg), mkexpr(res)), condT);
5131 True, condT);
5136 False, condT);
5138 putQReg(dreg, binop(add, getQReg(dreg), mkexpr(res)), condT);
5165 getDRegI64(mreg)), condT);
5198 condT);
5204 False, condT);
5216 Bool dis_neon_data_2reg_and_scalar ( UInt theInstr, IRTemp condT )
5327 condT);
5330 condT);
5387 putQReg(dreg, binop(op2, getQReg(dreg), mkexpr(res)), condT);
5460 False, condT);
5462 True, condT);
5464 putQReg(dreg, binop(add, getQReg(dreg), mkexpr(res)), condT);
5544 putQReg(dreg, mkexpr(res), condT);
5546 putDRegI64(dreg, mkexpr(res), condT);
5590 putQReg(dreg, mkexpr(res), condT);
5649 condT);
5655 False, condT);
5750 Q, condT);
5753 putQReg(dreg, mkexpr(res), condT);
5755 putDRegI64(dreg, mkexpr(res), condT);
5850 Q, condT);
5853 putQReg(dreg, mkexpr(res), condT);
5855 putDRegI64(dreg, mkexpr(res), condT);
5868 Bool dis_neon_data_2reg_and_shift ( UInt theInstr, IRTemp condT )
6001 condT);
6004 condT);
6011 putQReg(dreg, mkexpr(res), condT);
6013 putDRegI64(dreg, mkexpr(res), condT);
6078 condT);
6081 condT);
6087 putQReg(dreg, mkexpr(res), condT);
6089 putDRegI64(dreg, mkexpr(res), condT);
6126 putQReg(dreg, mkexpr(res), condT);
6138 putDRegI64(dreg, mkexpr(res), condT);
6175 putQReg(dreg, mkexpr(res), condT);
6187 putDRegI64(dreg, mkexpr(res), condT);
6211 putQReg(dreg, mkexpr(res), condT);
6213 putDRegI64(dreg, mkexpr(res), condT);
6316 setFlag_QC(mkexpr(tmp), mkexpr(reg_m), Q, condT);
6319 putQReg(dreg, mkexpr(res), condT);
6321 putDRegI64(dreg, mkexpr(res), condT);
6359 putDRegI64(dreg, mkexpr(res), condT);
6408 putDRegI64(dreg, mkexpr(res), condT);
6509 True, condT);
6511 putDRegI64(dreg, unop(cvt, mkexpr(res)), condT);
6542 putQReg(dreg, mkexpr(res), condT);
6577 mkU8(64 - ((theInstr >> 16) & 0x3f))), condT);
6580 mkU8(64 - ((theInstr >> 16) & 0x3f))), condT);
6592 Bool dis_neon_data_2reg_misc ( UInt theInstr, IRTemp condT )
6872 setFlag_QC(mkexpr(res), mkexpr(tmp), Q, condT);
6908 Q, condT);
6918 putQReg(dreg, mkexpr(res), condT);
6920 putDRegI64(dreg, mkexpr(res), condT);
7144 putQReg(dreg, mkexpr(res), condT);
7146 putDRegI64(dreg, mkexpr(res), condT);
7155 putQReg(mreg, getQReg(dreg), condT);
7156 putQReg(dreg, mkexpr(arg_m), condT);
7160 putDRegI64(mreg, getDRegI64(dreg), condT);
7161 putDRegI64(dreg, mkexpr(arg_m), condT);
7227 putQReg(dreg, mkexpr(res1), condT);
7228 putQReg(mreg, mkexpr(res2), condT);
7230 putDRegI64(dreg, mkexpr(res1), condT);
7231 putDRegI64(mreg, mkexpr(res2), condT);
7278 putQReg(dreg, mkexpr(res1), condT);
7279 putQReg(mreg, mkexpr(res2), condT);
7281 putDRegI64(dreg, mkexpr(res1), condT);
7282 putDRegI64(mreg, mkexpr(res2), condT);
7329 putQReg(dreg, mkexpr(res1), condT);
7330 putQReg(mreg, mkexpr(res2), condT);
7332 putDRegI64(dreg, mkexpr(res1), condT);
7333 putDRegI64(mreg, mkexpr(res2), condT);
7349 putDRegI64(dreg, unop(op, getQReg(mreg)), condT);
7409 setFlag_QC(mkexpr(res), mkexpr(tmp), False, condT);
7411 putDRegI64(dreg, mkexpr(res), condT);
7433 putQReg(dreg, mkexpr(res), condT);
7447 condT);
7454 condT);
7472 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7476 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);
7494 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7497 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);
7531 putQReg(dreg, unop(op, getQReg(mreg)), condT);
7533 putDRegI64(dreg, unop(op, getDRegI64(mreg)), condT);
7623 Bool dis_neon_data_1reg_and_imm ( UInt theInstr, IRTemp condT )
7702 putQReg(dreg, imm_val, condT);
7704 putDRegI64(dreg, imm_val, condT);
7713 putQReg(dreg, unop(Iop_NotV128, imm_val), condT);
7715 putDRegI64(dreg, unop(Iop_Not64, imm_val), condT);
7746 putQReg(dreg, expr, condT);
7748 putDRegI64(dreg, expr, condT);
7754 Bool dis_neon_data_processing ( UInt theInstr, IRTemp condT )
7762 return dis_neon_data_3same(theInstr, condT);
7765 return dis_neon_data_1reg_and_imm(theInstr, condT);
7768 return dis_neon_data_2reg_and_shift(theInstr, condT);
7771 return dis_neon_data_3diff(theInstr, condT);
7774 return dis_neon_data_2reg_and_scalar(theInstr, condT);
7778 return dis_neon_vext(theInstr, condT);
7783 return dis_neon_data_2reg_misc(theInstr, condT);
7786 return dis_neon_vtb(theInstr, condT);
7789 return dis_neon_vdup(theInstr, condT);
7915 Bool isT, IRTemp condT )
7929 vassert(condT != IRTemp_INVALID);
7931 vassert(condT == IRTemp_INVALID);
7933 /* So now, if condT is not IRTemp_INVALID, we know we're
7964 if (condT != IRTemp_INVALID)
7965 mk_skip_over_T32_if_cond_is_false(condT);
8005 if (condT != IRTemp_INVALID)
8006 mk_skip_over_T32_if_cond_is_false(condT);
8081 /* Writeback. We're uncond here, so no condT-ing. */
8141 if (condT != IRTemp_INVALID)
8142 mk_skip_over_T32_if_cond_is_false(condT);
8220 Caller must supply an IRTemp 'condT' holding the gating condition,
8231 IRTemp condT,
8247 vassert(condT == IRTemp_INVALID);
8255 return dis_neon_data_processing(INSN(31,0), condT);
8263 return dis_neon_data_processing(reformatted, condT);
8272 return dis_neon_elem_or_struct_load(INSN(31,0), isT, condT);
8277 return dis_neon_elem_or_struct_load(reformatted, isT, condT);
8302 Caller must supply an IRTemp 'condT' holding the gating condition,
8318 IRTemp condT,
8384 putIRegT( regD, mkexpr(res), condT );
8386 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8445 putIRegT( regD, ire_result, condT );
8447 putIRegA( regD, ire_result, condT, Ijk_Boring );
8505 putIRegT( regD, ire_result, condT );
8507 putIRegA( regD, ire_result, condT, Ijk_Boring );
8561 or_into_QFLAG32( mkexpr(irt_sat_Q), condT );
8564 putIRegT( regD, mkexpr(irt_result), condT );
8566 putIRegA( regD, mkexpr(irt_result), condT, Ijk_Boring );
8619 or_into_QFLAG32( mkexpr(irt_sat_Q), condT );
8622 putIRegT( regD, mkexpr(irt_result), condT );
8624 putIRegA( regD, mkexpr(irt_result), condT, Ijk_Boring );
8674 or_into_QFLAG32( mkexpr(irt_Q_lo), condT );
8677 or_into_QFLAG32( mkexpr(irt_Q_hi), condT );
8684 putIRegT( regD, ire_result, condT );
8686 putIRegA( regD, ire_result, condT, Ijk_Boring );
8730 putIRegT( regD, mkexpr(res), condT );
8732 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8735 set_GE_32_10_from_bits_31_15(reso, condT);
8779 putIRegT( regD, mkexpr(res), condT );
8781 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8785 set_GE_32_10_from_bits_31_15(reso, condT);
8829 putIRegT( regD, mkexpr(res), condT );
8831 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8835 set_GE_32_10_from_bits_31_15(reso, condT);
8879 putIRegT( regD, mkexpr(res), condT );
8881 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8885 set_GE_32_10_from_bits_31_15(reso, condT);
8929 putIRegT( regD, mkexpr(res), condT );
8931 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8934 set_GE_3_2_1_0_from_bits_31_23_15_7(reso, condT);
8978 putIRegT( regD, mkexpr(res), condT );
8980 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
8984 set_GE_3_2_1_0_from_bits_31_23_15_7(reso, condT);
9028 putIRegT( regD, mkexpr(res), condT );
9030 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
9034 set_GE_3_2_1_0_from_bits_31_23_15_7(reso, condT);
9078 putIRegT( regD, mkexpr(res), condT );
9080 putIRegA( regD, mkexpr(res), condT, Ijk_Boring );
9084 set_GE_3_2_1_0_from_bits_31_23_15_7(reso, condT);
9127 putIRegT( regD, mkexpr(res_q), condT );
9129 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9172 putIRegT( regD, mkexpr(res_q), condT );
9174 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9217 putIRegT( regD, mkexpr(res_q), condT );
9219 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9262 putIRegT( regD, mkexpr(res_q), condT );
9264 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9307 putIRegT( regD, mkexpr(res_q), condT );
9309 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9352 putIRegT( regD, mkexpr(res_q), condT );
9354 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9397 putIRegT( regD, mkexpr(res_q), condT );
9399 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9442 putIRegT( regD, mkexpr(res_q), condT );
9444 putIRegA( regD, mkexpr(res_q), condT, Ijk_Boring );
9519 putIRegT( regD, ire_result, condT );
9521 putIRegA( regD, ire_result, condT, Ijk_Boring );
9587 putIRegT( regD, ire_result, condT );
9589 putIRegA( regD, ire_result, condT, Ijk_Boring );
9652 put_GEFLAG32( 0, 31, mkexpr(ge10), condT );
9653 put_GEFLAG32( 1, 31, mkexpr(ge10), condT );
9657 put_GEFLAG32( 2, 31, mkexpr(ge32), condT );
9658 put_GEFLAG32( 3, 31, mkexpr(ge32), condT );
9661 putIRegT( regD, ire_result, condT );
9663 putIRegA( regD, ire_result, condT, Ijk_Boring );
9730 putIRegT( regD, ire_result, condT );
9732 putIRegA( regD, ire_result, condT, Ijk_Boring );
9738 condT
9816 putIRegT( regD, ire_result, condT );
9818 putIRegA( regD, ire_result, condT, Ijk_Boring );
9824 condT
9830 condT
9894 putIRegT( regD, ire_result, condT );
9896 putIRegA( regD, ire_result, condT, Ijk_Boring );
9900 condT
9965 putIRegT( regD, ire_result, condT );
9967 putIRegA( regD, ire_result, condT, Ijk_Boring );
9971 condT
10060 putIRegT( regD, ire_result, condT );
10062 putIRegA( regD, ire_result, condT, Ijk_Boring );
10122 putIRegT( regD, ire_result, condT );
10124 putIRegA( regD, ire_result, condT, Ijk_Boring );
10170 putIRegT( rD, res, condT );
10172 putIRegA( rD, res, condT, Ijk_Boring );
10401 Caller must supply an IRTemp 'condT' holding the gating condition,
10417 IRTemp condT,
10496 if (condT != IRTemp_INVALID) {
10498 mk_skip_over_T32_if_cond_is_false( condT );
10500 mk_skip_over_A32_if_cond_is_false( condT );
10501 condT = IRTemp_INVALID;
10633 if (condT != IRTemp_INVALID) {
10635 mk_skip_over_T32_if_cond_is_false( condT );
10637 mk_skip_over_A32_if_cond_is_false( condT );
10638 condT = IRTemp_INVALID;
10725 setFlags_D1(ARMG_CC_OP_COPY, nzcvT, condT);
10731 putIRegT(rD, e, condT);
10733 putIRegA(rD, e, condT, Ijk_Boring);
10748 isT ? getIRegT(rD) : getIRegA(rD), condT);
10769 condT);
10790 putIRegT(rN, hi32, condT);
10791 putIRegT(rD, lo32, condT);
10793 putIRegA(rN, hi32, condT, Ijk_Boring);
10794 putIRegA(rD, lo32, condT, Ijk_Boring);
10813 condT);
10816 condT);
10835 putIRegT(rN, res0, condT);
10836 putIRegT(rM, res1, condT);
10838 putIRegA(rN, res0, condT, Ijk_Boring);
10839 putIRegA(rM, res1, condT, Ijk_Boring);
10863 condT);
10874 condT);
10884 condT);
10911 putIRegT(rT, e, condT);
10913 putIRegA(rT, e, condT, Ijk_Boring);
10925 putIRegT(rT, e, condT);
10927 putIRegA(rT, e, condT, Ijk_Boring);
10936 putIRegT(rT, e, condT);
10938 putIRegA(rT, e, condT, Ijk_Boring);
10958 putFReg(rD, unop(Iop_ReinterpI32asF32, mkU32(imm)), condT);
10974 putDReg(rD, unop(Iop_ReinterpI64asF64, mkU64(imm)), condT);
10996 putQReg(rD, unop(Iop_Dup32x4, e), condT);
11000 condT);
11004 condT);
11013 putDRegI64(rD, unop(Iop_Dup32x2, e), condT);
11017 condT);
11021 condT);
11042 if (condT != IRTemp_INVALID) {
11044 mk_skip_over_T32_if_cond_is_false( condT );
11046 mk_skip_over_A32_if_cond_is_false( condT );
11047 condT = IRTemp_INVALID;
11084 condT);
11093 condT);
11101 condT);
11110 condT);
11115 condT);
11122 condT);
11127 condT);
11132 condT);
11137 condT);
11205 putMiscReg32(OFFB_FPSCR, mkexpr(newFPSCR), condT);
11228 putDReg(dD, getDReg(dM), condT);
11234 putDReg(dD, unop(Iop_AbsF64, getDReg(dM)), condT);
11240 putDReg(dD, unop(Iop_NegF64, getDReg(dM)), condT);
11247 putDReg(dD, binop(Iop_SqrtF64, rm, getDReg(dM)), condT);
11272 condT);
11278 condT);
11302 condT);
11310 condT);
11382 if (condT != IRTemp_INVALID) {
11384 mk_skip_over_T32_if_cond_is_false( condT );
11386 mk_skip_over_A32_if_cond_is_false( condT );
11387 condT = IRTemp_INVALID;
11478 putIRegT(rD, res, condT);
11480 putIRegA(rD, res, condT, Ijk_Boring);
11485 condT);
11504 if (condT != IRTemp_INVALID) {
11506 mk_skip_over_T32_if_cond_is_false( condT );
11508 mk_skip_over_A32_if_cond_is_false( condT );
11509 condT = IRTemp_INVALID;
11548 condT);
11557 condT);
11564 condT);
11574 condT);
11579 condT);
11586 condT);
11591 condT);
11596 condT);
11601 condT);
11673 putMiscReg32(OFFB_FPSCR, mkexpr(newFPSCR), condT);
11699 putFReg(fD, getFReg(fM), condT);
11705 putFReg(fD, unop(Iop_AbsF32, getFReg(fM)), condT);
11711 putFReg(fD, unop(Iop_NegF32, getFReg(fM)), condT);
11718 putFReg(fD, binop(Iop_SqrtF32, rm, getFReg(fM)), condT);
11753 condT);
11761 condT);
11786 condT);
11795 condT);
11812 putDReg(dD, unop(Iop_F32toF64, getFReg(fM)), condT);
11828 condT);
12017 IRTemp condT; /* :: Ity_I32 */
12119 condT :: Ity_I32 and is always either zero or one. */
12120 condT = IRTemp_INVALID;
12137 condT = newTemp(Ity_I32);
12138 assign( condT, mk_armg_calculate_condition( INSN_COND ));
12223 putIRegA( rD, mkexpr(res), condT, Ijk_Boring );
12233 setFlags_D1_D2( ARMG_CC_OP_ADD, rNt, shop, condT );
12237 setFlags_D1_D2( ARMG_CC_OP_SUB, shop, rNt, condT );
12239 setFlags_D1_D2( ARMG_CC_OP_SUB, rNt, shop, condT );
12247 res, shco, oldV, condT );
12281 putIRegA( rD, mkexpr(res), condT, Ijk_Boring );
12285 res, shco, oldV, condT );
12312 rNt, shop, condT );
12343 res, shco, oldV, condT );
12396 putIRegA( rD, mkexpr(res), condT, Ijk_Boring );
12407 rNt, shop, oldC, condT );
12411 rNt, shop, oldC, condT );
12415 shop, rNt, oldC, condT );
12516 if (condT != IRTemp_INVALID) {
12517 mk_skip_over_A32_if_cond_is_false( condT );
12518 condT = IRTemp_INVALID;
12739 if (condT != IRTemp_INVALID) {
12740 mk_skip_over_A32_if_cond_is_false( condT );
12741 condT = IRTemp_INVALID;
12880 if (condT != IRTemp_INVALID) {
12881 mk_skip_over_A32_if_cond_is_false( condT );
12882 condT = IRTemp_INVALID;
12910 condT, Ijk_Boring);
12912 if (condT == IRTemp_INVALID) {
12944 unop(Iop_32to1, mkexpr(condT))),
12963 stmt( IRStmt_Exit( unop(Iop_32to1, mkexpr(condT)),
12974 stmt( IRStmt_Exit( unop(Iop_32to1, mkexpr(condT)),
12998 if (condT != IRTemp_INVALID) {
12999 mk_skip_over_A32_if_cond_is_false( condT );
13013 if (condT == IRTemp_INVALID) {
13044 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13076 putIRegA( rD, mkexpr(res), condT, Ijk_Boring );
13082 setFlags_D1_ND( ARMG_CC_OP_MUL, res, pair, condT );
13128 putIRegA( rD, mkexpr(res), condT, Ijk_Boring );
13134 setFlags_D1_ND( ARMG_CC_OP_MUL, res, pair, condT );
13176 putIRegA( rDhi, mkexpr(resHi), condT, Ijk_Boring );
13177 putIRegA( rDlo, mkexpr(resLo), condT, Ijk_Boring );
13183 setFlags_D1_D2_ND( ARMG_CC_OP_MULL, resLo, resHi, pair, condT );
13229 putIRegA( rDhi, mkexpr(resHi), condT, Ijk_Boring );
13230 putIRegA( rDlo, mkexpr(resLo), condT, Ijk_Boring );
13236 setFlags_D1_D2_ND( ARMG_CC_OP_MULL, resLo, resHi, pair, condT );
13260 desynthesise_APSR( write_nzcvq, write_ge, immT, condT );
13278 desynthesise_APSR( write_nzcvq, write_ge, rNt, condT );
13291 putIRegA( rD, mkexpr(apsr), condT, Ijk_Boring );
13303 if (condT != IRTemp_INVALID) {
13304 mk_skip_over_A32_if_cond_is_false( condT );
13335 if (condT != IRTemp_INVALID) {
13336 mk_skip_over_A32_if_cond_is_false( condT );
13337 condT = IRTemp_INVALID;
13384 if (condT != IRTemp_INVALID) {
13385 mk_skip_over_A32_if_cond_is_false( condT );
13386 condT = IRTemp_INVALID;
13411 if (condT != IRTemp_INVALID) {
13412 mk_skip_over_A32_if_cond_is_false( condT );
13413 condT = IRTemp_INVALID;
13448 condT, Ijk_Boring);
13452 putIRegA(rD, mkU32(imm16), condT, Ijk_Boring);
13522 putIRegA(rD, mkexpr(dstT), condT, Ijk_Boring);
13559 putIRegA(rD, mkexpr(newdst), condT, Ijk_Boring);
13600 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13702 if (condT != IRTemp_INVALID) {
13703 mk_skip_over_A32_if_cond_is_false( condT );
13704 condT = IRTemp_INVALID;
13809 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13839 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13858 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13873 putIRegA(rD, mkexpr(res), condT, Ijk_Boring);
13893 putIRegA(rD, res, condT, Ijk_Boring);
13922 condT, Ijk_Boring);
13968 if (condT != IRTemp_INVALID) {
13969 mk_skip_over_A32_if_cond_is_false( condT );
13970 condT = IRTemp_INVALID;
13997 if (condT != IRTemp_INVALID) {
13998 mk_skip_over_A32_if_cond_is_false( condT );
13999 condT = IRTemp_INVALID;
14028 &dres, INSN(27,0), condT, INSN_COND,
14047 &dres, INSN(27,0), condT, INSN_COND,
14352 ITSTATE. Assign it to condT. Also, generate new
14368 IRTemp condT = IRTemp_INVALID;
14404 // see condT folding below
14415 // condT = 32to8(and32(old_itstate,0xF0)) == 0 ? 1 : condT1
14421 // condT = newTemp(Ity_I32);
14422 // assign(condT, IRExpr_Mux0X(
14429 condT = newTemp(Ity_I32);
14430 assign(condT, mkU32(1));
14443 // cond_AND_notInIT_T = and32(notInITt, condT)
14449 // binop(Iop_And32, mkexpr(notInITt), mkexpr(condT)));
14450 cond_AND_notInIT_T = condT; /* 1 :: I32 */
14469 instruction. condT :: Ity_I32 and is always either zero or
14483 then condT does not depend on the results of calling the
14487 that case set condT directly to 1. Else we use the results
14490 this will cause condT to always be a defined 1 if the
14494 in this case, that condT does not in fact depend on the
14499 we can simply do "assign(condT, mkexpr(condT1))", and the
14502 condT = newTemp(Ity_I32);
14503 assign(condT, IRExpr_Mux0X(
14521 /* Compute 'condT && notInITt' -- that is, the instruction is
14527 binop(Iop_And32, mkexpr(notInITt), mkexpr(condT)));
14534 * condT holds the guarding condition for this instruction (0 or 1),
14583 argL, argR, condT );
14599 setFlags_D1_D2_ND( ARMG_CC_OP_LOGIC, res, oldC, oldV, condT );
14614 putIRegT(rD, binop(Iop_Sub32, mkexpr(zero), mkexpr(arg)), condT);
14632 putIRegT(rD, mkexpr(res), condT);
14663 putIRegT(rD, mkexpr(res), condT);
14684 putIRegT(rD, mkexpr(res), condT);
14707 putIRegT(rD, mkexpr(res), condT);
14730 putIRegT(rD, mkexpr(res), condT);
14743 condT);
14756 condT);
14767 condT);
14780 condT);
14835 putIRegT(rD, mkexpr(res), condT);
14852 putIRegT(rD, mkexpr(res), condT);
14871 condT);
14880 condT);
14894 mk_skip_over_T16_if_cond_is_false(condT);
14895 condT = IRTemp_INVALID;
14920 mk_skip_over_T16_if_cond_is_false(condT);
14921 condT = IRTemp_INVALID;
14953 mk_skip_over_T16_if_cond_is_false( condT );
14983 putIRegT( rD, mkexpr(res), condT );
14988 mk_skip_over_T16_if_cond_is_false(condT);
14989 condT = IRTemp_INVALID;
15014 setFlags_D1_D2( ARMG_CC_OP_SUB, argL, argR, condT );
15033 putIRegT( rD, mkexpr(val), condT );
15038 mk_skip_over_T16_if_cond_is_false(condT);
15039 condT = IRTemp_INVALID;
15131 mk_skip_over_T16_if_cond_is_false(condT);
15132 condT = IRTemp_INVALID;
15183 mk_skip_over_T16_if_cond_is_false(condT);
15184 condT = IRTemp_INVALID;
15268 condT);
15289 condT );
15306 mk_skip_over_T16_if_cond_is_false(condT);
15307 condT = IRTemp_INVALID;
15333 mk_skip_over_T16_if_cond_is_false(condT);
15334 condT = IRTemp_INVALID;
15358 mk_skip_over_T16_if_cond_is_false(condT);
15359 condT = IRTemp_INVALID;
15379 mk_skip_over_T16_if_cond_is_false(condT);
15380 condT = IRTemp_INVALID;
15403 mk_skip_over_T16_if_cond_is_false(condT);
15404 condT
15443 mkexpr(argL), mkexpr(argR)), condT );
15459 condT);
15469 condT);
15483 setFlags_D1_D2( ARMG_CC_OP_SUB, argL, argR, condT );
15498 putIRegT(rD, mkexpr(res), condT);
15512 mk_skip_over_T16_if_cond_is_false(condT);
15513 condT = IRTemp_INVALID;
15538 mk_skip_over_T16_if_cond_is_false(condT);
15539 condT = IRTemp_INVALID;
15565 mk_skip_over_T16_if_cond_is_false(condT);
15566 condT = IRTemp_INVALID;
15593 mk_skip_over_T16_if_cond_is_false(condT);
15594 condT = IRTemp_INVALID;
15620 mk_skip_over_T16_if_cond_is_false(condT);
15621 condT = IRTemp_INVALID;
15644 mk_skip_over_T16_if_cond_is_false(condT);
15645 condT = IRTemp_INVALID;
15698 mk_skip_over_T16_if_cond_is_false(condT);
15699 condT = IRTemp_INVALID;
15770 putIRegT(rD, mkexpr(res), condT);
15787 mk_skip_over_T16_if_cond_is_false(condT);
15788 condT = IRTemp_INVALID;
15893 mk_skip_over_T32_if_cond_is_false(condT);
15894 condT = IRTemp_INVALID;
15974 mk_skip_over_T32_if_cond_is_false(condT);
15975 condT = IRTemp_INVALID;
16016 putIRegT(rD, mkexpr(res), condT);
16018 setFlags_D1_D2( ARMG_CC_OP_ADD, argL, argR, condT );
16046 putIRegT(rD, mkexpr(res), condT);
16068 argL, argR, condT );
16099 setFlags_D1_D2_ND( ARMG_CC_OP_LOGIC, res, oldC, oldV, condT );
16129 putIRegT(rD, mkexpr(res), condT);
16132 setFlags_D1_D2( ARMG_CC_OP_SUB, argR, argL, condT );
16134 setFlags_D1_D2( ARMG_CC_OP_SUB, argL, argR, condT );
16159 putIRegT(rD, mkexpr(res), condT);
16182 putIRegT(rD, mkexpr(res), condT);
16184 setFlags_D1_D2( ARMG_CC_OP_SUB, argL, argR, condT );
16220 putIRegT(rD, mkexpr(res), condT);
16223 argL, argR, oldC, condT );
16231 putIRegT(rD, mkexpr(res), condT);
16234 argL, argR, oldC, condT );
16281 putIRegT(rD, mkexpr(res), condT);
16290 condT );
16352 putIRegT(rD, mkexpr(res), condT);
16356 setFlags_D1_D2( ARMG_CC_OP_ADD, argL, argR, condT );
16360 setFlags_D1_D2( ARMG_CC_OP_SUB, argR, argL, condT );
16362 setFlags_D1_D2( ARMG_CC_OP_SUB, argL, argR, condT );
16414 putIRegT(rD, mkexpr(res), condT);
16417 argL, argR, oldC, condT );
16425 putIRegT(rD, mkexpr(res), condT);
16428 argL, argR, oldC, condT );
16495 putIRegT(rD, mkexpr(res), condT);
16500 condT );
16539 putIRegT(rD, mkexpr(res), condT);
16542 condT );
16575 putIRegT(rD, mkexpr(res), condT);
16579 setFlags_D1_D2_ND( ARMG_CC_OP_LOGIC, res, oldC, oldV, condT);
16622 condT );
16654 argL, argR, condT );
16676 putIRegT(rD, mkexpr(res), condT);
16685 condT );
16701 putIRegT(rD, mkU32(imm16), condT);
16720 putIRegT(rD, mkexpr(res), condT);
16797 mk_skip_over_T32_if_cond_is_false(condT);
16798 condT = IRTemp_INVALID;
16975 mk_skip_over_T32_if_cond_is_false(condT);
16976 condT = IRTemp_INVALID;
17115 mk_skip_over_T32_if_cond_is_false(condT);
17116 condT = IRTemp_INVALID;
17208 mk_skip_over_T32_if_cond_is_false(condT);
17209 condT = IRTemp_INVALID;
17333 mk_skip_over_T32_if_cond_is_false(condT);
17334 condT = IRTemp_INVALID;
17355 mk_skip_over_T32_if_cond_is_false(condT);
17356 condT = IRTemp_INVALID;
17417 putIRegT(rD, mkexpr(res), condT);
17500 putIRegT(rD, mkexpr(dstT), condT);
17515 putIRegT(rD, mkexpr(res), condT);
17534 putIRegT( rDhi, unop(Iop_64HIto32, mkexpr(res)), condT );
17535 putIRegT( rDlo, unop(Iop_64to32, mkexpr(res)), condT );
17558 putIRegT(rD, mkexpr(res), condT);
17576 condT);
17609 putIRegT( rDhi, mkexpr(resHi), condT );
17610 putIRegT( rDlo, mkexpr(resLo), condT );
17628 condT);
17664 putIRegT(rD, mkexpr(newdst), condT);
17699 putIRegT(rD, mkexpr(res), condT);
17728 putIRegT(rD, mkexpr(res), condT);
17753 putIRegT(rD, mkexpr(res), condT);
17770 putIRegT(rD, mkexpr(res), condT);
17790 putIRegT(rD, mkexpr(res), condT);
17805 desynthesise_APSR( write_nzcvq, write_ge, rNt, condT );
17818 putIRegT( rD, mkexpr(apsr), condT );
17832 mk_skip_over_T32_if_cond_is_false( condT );
17856 mk_skip_over_T32_if_cond_is_false( condT );
17890 condT);
17965 &dres, insn28, condT, ARMCondAL/*bogus*/,
17979 &dres, insn32, condT, True/*isT*/
17991 &dres, insn32, condT, ARMCondAL/*bogus*/,