Lines Matching refs:assign

39    All uses of newTemp assign to an IRTemp and not a UInt
332 static void assign ( IRTemp dst, IRExpr* e )
375 assign(dst, loaded);
958 assign(t, IRExpr_Get( OFFB_ITSTATE, Ity_I32));
971 assign(t, IRExpr_Get( OFFB_QFLAG32, Ity_I32));
988 assign(nyu, binop(Iop_Or32, mkexpr(old), e) );
1013 assign(masked, binop(Iop_Shr32, e, mkU8(lowbits_to_ignore)));
1044 assign(ge10, binop(Iop_And32, mkexpr(t32), mkU32(0x00008000)));
1045 assign(ge32, binop(Iop_And32, mkexpr(t32), mkU32(0x80000000)));
1062 assign(ge0, binop(Iop_And32, mkexpr(t32), mkU32(0x00000080)));
1063 assign(ge1, binop(Iop_And32, mkexpr(t32), mkU32(0x00008000)));
1064 assign(ge2, binop(Iop_And32, mkexpr(t32), mkU32(0x00800000)));
1065 assign(ge3, binop(Iop_And32, mkexpr(t32), mkU32(0x80000000)));
1098 assign(armEncd,
1101 assign(swapped,
1353 assign( c1, binop(Iop_CmpNE32, mkexpr(guardT), mkU32(0)) );
1385 assign( z32, mkU32(0) );
1397 assign( z32, mkU32(0) );
1408 assign( z32, mkU32(0) );
1506 assign(guards_for_next3,
1532 assign( res1, mk_armg_calculate_flags_nzcv() );
1535 assign(
1556 assign(res3,
1579 assign(immT, binop(Iop_And32, mkexpr(apsrT), mkU32(0xF0000000)) );
1583 assign(qnewT, binop(Iop_And32, mkexpr(apsrT), mkU32(ARMG_CC_MASK_Q)));
1637 assign( nd0, mkexpr(regT) );
1638 assign( nd1, mkU32(ceil) );
1639 assign( nd2, binop( Iop_CmpLT32S, mkexpr(nd1), mkexpr(nd0) ) );
1640 assign( nd3, IRExpr_ITE(mkexpr(nd2), mkexpr(nd1), mkexpr(nd0)) );
1641 assign( nd4, mkU32(floor) );
1642 assign( nd5, binop( Iop_CmpLT32S, mkexpr(nd3), mkexpr(nd4) ) );
1643 assign( nd6, IRExpr_ITE(mkexpr(nd5), mkexpr(nd4), mkexpr(nd3)) );
1644 assign( *res, mkexpr(nd6) );
1649 assign( *resQ, binop(Iop_Xor32, mkexpr(*res), mkexpr(regT)) );
1683 assign( nd0, mkexpr(regT) );
1684 assign( nd1, mkU32(ceil) );
1685 assign( nd2, binop( Iop_CmpLT32S, mkexpr(nd1), mkexpr(nd0) ) );
1686 assign( nd3, IRExpr_ITE( mkexpr(nd2), mkexpr(nd1), mkexpr(nd0) ) );
1687 assign( nd4, mkU32(floor) );
1688 assign( nd5, binop( Iop_CmpLT32S, mkexpr(nd3), mkexpr(nd4) ) );
1689 assign( nd6, IRExpr_ITE( mkexpr(nd5), mkexpr(nd4), mkexpr(nd3) ) );
1690 assign( *res, mkexpr(nd6) );
1695 assign( *resQ, binop(Iop_Xor32, mkexpr(*res), mkexpr(regT)) );
1708 assign(res, resE);
1723 assign(res, resE);
1766 assign( *newC, mk_armg_calculate_flag_c() );
1768 assign( *res, mkexpr(rMt) );
1773 assign( *newC,
1779 assign( *res,
1800 assign( amtT, binop(Iop_And32, mkexpr(rSt), mkU32(255)) );
1811 assign(oldC, mk_armg_calculate_flag_c() );
1812 assign(
1842 assign(
1872 assign( *newC,
1877 assign( *res, mkU32(0) );
1885 assign( *newC,
1891 assign( *res,
1912 assign( amtT, binop(Iop_And32, mkexpr(rSt), mkU32(255)) );
1921 assign(oldC, mk_armg_calculate_flag_c() );
1922 assign(
1952 assign(
1982 assign( *newC,
1987 assign( *res, binop(Iop_Sar32, mkexpr(rMt), mkU8(31)) );
1995 assign( *newC,
2001 assign( *res,
2022 assign( amtT, binop(Iop_And32, mkexpr(rSt), mkU32(255)) );
2031 assign(oldC, mk_armg_calculate_flag_c() );
2032 assign(
2065 assign(
2093 assign( amtT, binop(Iop_And32, mkexpr(rSt), mkU32(255)) );
2095 assign( amt5T, binop(Iop_And32, mkexpr(rSt), mkU32(31)) );
2097 assign(oldC, mk_armg_calculate_flag_c() );
2099 assign(
2122 assign(
2201 assign( *newC,
2204 assign( oldcT, mk_armg_calculate_flag_c() );
2205 assign( *res,
2216 assign( *newC,
2222 assign( *res,
2338 assign( *shco, mk_armg_calculate_flag_c() );
2340 assign( *shco, mkU32( (imm >> 31) & 1 ) );
2344 assign( *shop, mkU32(imm) );
2357 assign(rMt, getIRegA(rM));
2380 assign(rMt, getIRegA(rM));
2381 assign(rSt, getIRegA(rS));
2458 assign(rmT, getIRegA(rM));
2459 assign(cflagT, mk_armg_calculate_flag_c());
2466 assign(rmT, getIRegA(rM));
2558 assign(
2566 assign(
2578 assign(
2586 assign(nzcv, binop(Iop_Sub32, mkexpr(termL), mkexpr(termR)));
2740 assign(x1,
2749 assign(x2,
2758 assign(x3,
2767 assign(x4,
2776 assign(x5,
2794 assign(res,
2815 assign(res,
2957 assign(old_mask, mkU64(0));
2958 assign(old_res, mkU64(0));
2959 assign(old_arg, getDRegI64(mreg));
2971 assign(arg_l, getDRegI64(nreg+i));
2972 assign(new_arg, binop(Iop_Sub8x8, mkexpr(old_arg), mkU64(imm)));
2973 assign(cur_mask, binop(cmp, mkU64(imm), mkexpr(old_arg)));
2974 assign(new_mask, binop(Iop_Or64, mkexpr(old_mask), mkexpr(cur_mask)));
2975 assign(new_res, binop(Iop_Or64,
2991 assign(new_res, binop(Iop_Or64,
3031 assign(arg_m, getDRegI64(mreg));
3054 assign(res, unop(op, binop(op2, mkexpr(arg_m), mkU8(index))));
3092 assign(arg_n, getQReg(nreg));
3093 assign(arg_m, getQReg(mreg));
3098 assign(arg_n, getDRegI64(nreg));
3099 assign(arg_m, getDRegI64(mreg));
3163 assign(res,
3229 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
3230 assign(tmp, binop(op2, mkexpr(arg_n), mkexpr(arg_m)));
3294 assign(cc, binop(shift_op,
3311 assign(res, binop(add_op,
3322 assign(cc, binop(shift_op,
3333 assign(res, binop(add_op,
3353 assign(res, binop(Iop_AndV128, mkexpr(arg_n),
3356 assign(res, binop(Iop_And64, mkexpr(arg_n),
3367 assign(res, binop(Iop_AndV128,mkexpr(arg_n),
3370 assign(res, binop(Iop_And64, mkexpr(arg_n),
3382 assign(res, binop(Iop_OrV128, mkexpr(arg_n),
3385 assign(res, binop(Iop_Or64, mkexpr(arg_n),
3393 assign(res, mkexpr(arg_m));
3401 assign(res, binop(Iop_OrV128,mkexpr(arg_n),
3404 assign(res, binop(Iop_Or64, mkexpr(arg_n),
3419 assign(res, binop(Iop_XorV128, mkexpr(arg_n),
3422 assign(res, binop(Iop_Xor64, mkexpr(arg_n),
3432 assign(reg_d, getQReg(dreg));
3433 assign(res,
3443 assign(reg_d, getDRegI64(dreg));
3444 assign(res,
3460 assign(reg_d, getQReg(dreg));
3461 assign(res,
3470 assign(reg_d, getDRegI64(dreg));
3471 assign(res,
3487 assign(reg_d, getQReg(dreg));
3488 assign(res,
3497 assign(reg_d, getDRegI64(dreg));
3498 assign(res,
3578 assign(res,
3643 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
3644 assign(tmp, binop(op2, mkexpr(arg_n), mkexpr(arg_m)));
3673 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
3684 assign(res,
3732 assign(res, binop(op, mkexpr(arg_m),
3735 assign(res, binop(op, mkexpr(arg_m), mkexpr(arg_n)));
3738 assign(tmp, binop(sub_op,
3742 assign(tmp, binop(sub_op, mkU64(0), mkexpr(arg_n)));
3744 assign(res, binop(op, mkexpr(arg_m),
3747 assign(res, binop(op, mkexpr(arg_m), mkexpr(tmp)));
3829 assign(res, binop(op, mkexpr(arg_m), mkexpr(arg_n)));
3832 assign(shval, binop(op_shrn,
3840 assign(shval, binop(Q ? Iop_OrV128 : Iop_Or64,
3861 assign(mask, binop(cmp_gt, mkexpr(shval),
3864 assign(tmp, binop(op_rev, mkexpr(res),
3867 assign(tmp, binop(op_rev, mkexpr(res), mkexpr(arg_n)));
3897 assign(imm_val, Q ? mkU128(imm) : mkU64(imm));
3964 assign(shval, binop(op_shrn,
3972 assign(shval, binop(Q ? Iop_OrV128 : Iop_Or64,
3980 assign(round, binop(Q ? Iop_AndV128 : Iop_And64,
3992 assign(res, binop(op_add,
3998 assign(round, binop(Q ? Iop_AndV128 : Iop_And64,
4009 assign(res, binop(op_add,
4035 assign(imm_val, Q ? mkU128(imm) : mkU64(imm));
4114 assign(shval, binop(op_shrn,
4122 assign(shval, binop(Q ? Iop_OrV128 : Iop_Or64,
4129 assign(round, binop(Q ? Iop_AndV128 : Iop_And64,
4140 assign(res, binop(op_add,
4158 assign(mask, binop(cmp_gt, mkexpr(shval),
4161 assign(tmp, binop(op_rev, mkexpr(res),
4164 assign(tmp, binop(op_rev, mkexpr(res), mkexpr(arg_n)));
4198 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4223 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4282 assign(cond, binop(op_cmp, mkexpr(arg_n), mkexpr(arg_m)));
4283 assign(res, binop(Q ? Iop_OrV128 : Iop_Or64,
4353 assign(acc, getQReg(dreg));
4358 assign(acc, getDRegI64(dreg));
4360 assign(cond, binop(op_cmp, mkexpr(arg_n), mkexpr(arg_m)));
4361 assign(tmp, binop(Q ? Iop_OrV128 : Iop_Or64,
4371 assign(res, binop(op_add, mkexpr(acc), mkexpr(tmp)));
4406 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4418 assign(res, unop(op, binop(Q ? Iop_AndV128 : Iop_And64,
4426 assign(res, unop(Q ? Iop_NotV128 : Iop_Not64,
4481 assign(res, binop(op2,
4509 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4539 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4571 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4605 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4630 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4670 assign(res, unop(Iop_Abs32Fx4,
4676 assign(res, unop(Iop_Abs32Fx2,
4687 assign(res, binop_w_fake_RM(op, mkexpr(arg_n), mkexpr(arg_m)));
4712 assign(res, binop_w_fake_RM(
4727 assign(res, binop_w_fake_RM(op, mkexpr(arg_n), mkexpr(arg_m)));
4743 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4757 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4767 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4781 assign(res, binop(op,
4786 assign(res, binop(op,
4814 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4829 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
4837 assign(res, binop(Q ? Iop_RecipStep32Fx4
4847 assign(res, binop(Q ? Iop_RSqrtStep32Fx4
4925 assign(arg_n, getQReg(nreg));
4927 assign(arg_n, unop(cvt, getDRegI64(nreg)));
4929 assign(arg_m, unop(cvt, getDRegI64(mreg)));
4974 assign(tmp, binop(op, getQReg(nreg), getQReg(mreg)));
4977 assign(res, binop(op, mkexpr(tmp),
4980 assign(res, mkexpr(tmp));
5026 assign(arg_n, unop(cvt, getDRegI64(nreg)));
5027 assign(arg_m, unop(cvt, getDRegI64(mreg)));
5028 assign(cond, unop(cvt2, binop(cmp, getDRegI64(nreg),
5030 assign(res, binop(op2,
5084 assign(tmp, binop(op, getQReg(nreg), getQReg(mreg)));
5087 assign(res, binop(op2, mkexpr(tmp),
5090 assign(res, mkexpr(tmp));
5133 assign(arg_n, unop(cvt, getDRegI64(nreg)));
5134 assign(arg_m, unop(cvt, getDRegI64(mreg)));
5135 assign(cond, unop(cvt2, binop(cmp, getDRegI64(nreg),
5137 assign(res, binop(Iop_OrV128,
5174 assign(res, binop(op, getDRegI64(nreg),getDRegI64(mreg)));
5213 assign(res, binop(op, getDRegI64(nreg), getDRegI64(mreg)));
5214 assign(tmp, binop(op2, getQReg(dreg), mkexpr(res)));
5329 assign(arg_n, getQReg(nreg));
5349 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5354 assign(arg_n, getDRegI64(nreg));
5374 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5410 assign(res, binop_w_fake_RM(op, mkexpr(arg_n), mkexpr(arg_m)));
5433 assign(arg_n, getDRegI64(nreg));
5453 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5472 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
5492 assign(arg_n, getDRegI64(nreg));
5512 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5539 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
5540 assign(tmp, binop(op2, getQReg(dreg), mkexpr(res)));
5566 assign(arg_n, getQReg(nreg));
5586 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5591 assign(arg_n, getDRegI64(nreg));
5611 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5640 assign(res, binop_w_fake_RM(op, mkexpr(arg_n), mkexpr(arg_m)));
5661 assign(arg_n, getDRegI64(nreg));
5681 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5688 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
5705 assign(arg_n, getDRegI64(nreg));
5725 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5771 assign(arg_n, getQReg(nreg));
5791 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5796 assign(arg_n, getDRegI64(nreg));
5816 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5838 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
5869 assign(arg_n, getQReg(nreg));
5889 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5894 assign(arg_n, getDRegI64(nreg));
5914 assign(arg_m, unop(dup, binop(get, getDRegI64(mreg), mkU8(index))));
5936 assign(res, binop(op, mkexpr(arg_n), mkexpr(arg_m)));
6024 assign(reg_m, getQReg(mreg));
6049 assign(reg_m, getDRegI64(mreg));
6071 assign(res,
6084 assign(res, getQReg(mreg));
6087 assign(res, getDRegI64(mreg));
6116 assign(reg_m, getQReg(mreg));
6120 assign(reg_m, getDRegI64(mreg));
6166 assign(res, binop(op, mkexpr(reg_m), mkU8(shift_imm)));
6206 assign(mask, binop(op, binop(Iop_64HLtoV128,
6210 assign(res, binop(Iop_OrV128,
6220 assign(mask, binop(op, mkU64(0xFFFFFFFFFFFFFFFFLL),
6222 assign(res, binop(Iop_Or64,
6255 assign(mask, binop(op, binop(Iop_64HLtoV128,
6259 assign(res, binop(Iop_OrV128,
6269 assign(mask, binop(op, mkU64(0xFFFFFFFFFFFFFFFFLL),
6271 assign(res, binop(Iop_Or64,
6300 assign(res, binop(op, Q ? getQReg(mreg) : getDRegI64(mreg),
6398 assign(reg_m, getQReg(mreg));
6403 assign(reg_m, getDRegI64(mreg));
6405 assign(res, binop(op, mkexpr(reg_m), mkU8(shift_imm)));
6406 assign(tmp, binop(op_rev, mkexpr(res), mkU8(shift_imm)));
6427 assign(reg_m, getQReg(mreg));
6445 assign(res, unop(narOp,
6458 assign(reg_m, getQReg(mreg));
6488 assign(res, unop(narOp,
6583 assign(reg_m, getQReg(mreg));
6586 assign(res, binop(add,
6595 assign(res, binop(op, mkexpr(reg_m), mkU8(shift_imm)));
6629 assign(res, binop(op, unop(cvt, getDRegI64(mreg)), mkU8(shift_imm)));
6698 assign(arg_m, getQReg(mreg));
6702 assign(arg_m, getDRegI64(mreg));
6723 assign(res, unop(op, mkexpr(arg_m)));
6744 assign(res, unop(op, mkexpr(arg_m)));
6763 assign(res, unop(op, mkexpr(arg_m)));
6792 assign(res, unop(op, mkexpr(arg_m)));
6810 assign(res, unop(op, mkexpr(arg_m)));
6825 assign(res, unop(op, mkexpr(arg_m)));
6832 assign(res, unop(Q ? Iop_Cnt8x16 : Iop_Cnt8x8, mkexpr(arg_m)));
6839 assign(res, unop(Iop_NotV128, mkexpr(arg_m)));
6841 assign(res, unop(Iop_Not64, mkexpr(arg_m)));
6891 assign(arg_d, getQReg(dreg));
6894 assign(arg_d, getDRegI64(dreg));
6896 assign(res, binop(add_op, unop(op, mkexpr(arg_m)),
6940 assign(mask, binop(op_cmp, mkexpr(arg_m), zero1));
6943 assign(res, binop(Q ? Iop_OrV128 : Iop_Or64,
6951 assign(tmp, binop(Q ? Iop_OrV128 : Iop_Or64,
6991 assign(res, binop(op, zero, mkexpr(arg_m)));
7011 assign(arg_m, getQReg(mreg));
7015 assign(arg_m, getDRegI64(mreg));
7042 assign(res, binop(op, mkexpr(arg_m), zero));
7062 assign(res, binop(op, mkexpr(arg_m), zero));
7071 assign(res, unop(Q ? Iop_NotV128 : Iop_Not64,
7093 assign(res, binop(op, zero, mkexpr(arg_m)));
7102 assign(res, unop(Q ? Iop_NotV128 : Iop_Not64,
7124 assign(res, binop(op, zero, mkexpr(arg_m)));
7133 assign(res, unop(Q ? Iop_NotV128 : Iop_Not64,
7155 assign(res, binop(op, zero, mkexpr(arg_m)));
7164 assign(res, binop(op, zero, mkexpr(arg_m)));
7183 assign(res, unop(op, mkexpr(arg_m)));
7185 assign(res, unop(Q ? Iop_Abs32Fx4 : Iop_Abs32Fx2,
7203 assign(res, unop(op, mkexpr(arg_m)));
7217 assign(res, binop(op, zero, mkexpr(arg_m)));
7238 assign(arg_m, getQReg(mreg));
7243 assign(arg_m, getDRegI64(mreg));
7259 assign(old_m, getQReg(mreg));
7260 assign(old_d, getQReg(dreg));
7266 assign(old_m, getDRegI64(mreg));
7267 assign(old_d, getDRegI64(dreg));
7308 assign(new_d, binop(op_even, mkexpr(old_m), mkexpr(old_d)));
7309 assign(new_m, binop(op_odd, mkexpr(old_m), mkexpr(old_d)));
7331 assign(old_m, getQReg(mreg));
7332 assign(old_d, getQReg(dreg));
7338 assign(old_m, getDRegI64(mreg));
7339 assign(old_d, getDRegI64(dreg));
7359 assign(new_d, binop(op_even, mkexpr(old_m), mkexpr(old_d)));
7360 assign(new_m, binop(op_odd, mkexpr(old_m), mkexpr(old_d)));
7382 assign(old_m, getQReg(mreg));
7383 assign(old_d, getQReg(dreg));
7389 assign(old_m, getDRegI64(mreg));
7390 assign(old_d, getDRegI64(dreg));
7410 assign(new_d, binop(op_lo, mkexpr(old_m), mkexpr(old_d)));
7411 assign(new_m, binop(op_hi, mkexpr(old_m), mkexpr(old_d)));
7490 assign(res, unop(op, getQReg(mreg)));
7491 assign(tmp, unop(op2, getQReg(mreg)));
7513 assign(res, binop(op, unop(cvt, getDRegI64(mreg)),
7804 assign(tmp_var, getQReg(dreg));
7807 assign(tmp_var, getDRegI64(dreg));
8009 assign(*u0, binop(Iop_InterleaveLO32x2, mkexpr(i1), mkexpr(i0)));
8010 assign(*u1, binop(Iop_InterleaveHI32x2, mkexpr(i1), mkexpr(i0)));
8015 assign(*u0, binop(Iop_CatEvenLanes16x4, mkexpr(i1), mkexpr(i0)));
8016 assign(*u1, binop(Iop_CatOddLanes16x4, mkexpr(i1), mkexpr(i0)));
8021 assign(*u0, binop(Iop_CatEvenLanes8x8, mkexpr(i1), mkexpr(i0)));
8022 assign(*u1, binop(Iop_CatOddLanes8x8, mkexpr(i1), mkexpr(i0)));
8045 assign(*i0, binop(Iop_InterleaveLO32x2, mkexpr(u1), mkexpr(u0)));
8046 assign(*i1, binop(Iop_InterleaveHI32x2, mkexpr(u1), mkexpr(u0)));
8051 assign(*i0, binop(Iop_InterleaveLO16x4, mkexpr(u1), mkexpr(u0)));
8052 assign(*i1, binop(Iop_InterleaveHI16x4, mkexpr(u1), mkexpr(u0)));
8057 assign(*i0, binop(Iop_InterleaveLO8x8, mkexpr(u1), mkexpr(u0)));
8058 assign(*i1, binop(Iop_InterleaveHI8x8, mkexpr(u1), mkexpr(u0)));
8088 assign(h3, binop(Iop_InterleaveHI8x8,
8091 assign(h2, binop(Iop_InterleaveHI8x8,
8094 assign(h1, binop(Iop_InterleaveHI8x8,
8097 assign(h0, binop(Iop_InterleaveHI8x8,
8107 assign(w1, binop(Iop_InterleaveHI16x4, mkexpr(h3), mkexpr(h2)));
8108 assign(w0, binop(Iop_InterleaveHI16x4, mkexpr(h1), mkexpr(h0)));
8130 assign(*u0, IHI32x2(SHL64(i1, 0), SHL64(i0, 32)));
8131 assign(*u1, IHI32x2(SHL64(i2, 32), SHL64(i0, 0)));
8132 assign(*u2, IHI32x2(SHL64(i2, 0), SHL64(i1, 32)));
8143 assign(*u0, XXX(i2,1, i1,2, i0,3, i0,0));
8144 assign(*u1, XXX(i2,2, i1,3, i1,0, i0,1));
8145 assign(*u2, XXX(i2,3, i2,0, i1,1, i0,2));
8154 assign(*u0, math_PERM_8x8x3(de0, i0, i1, i2));
8155 assign(*u1, math_PERM_8x8x3(de1, i0, i1, i2));
8156 assign(*u2, math_PERM_8x8x3(de2, i0, i1, i2));
8185 assign(*i0, IHI32x2(SHL64(u1, 32), SHL64(u0, 32)));
8186 assign(*i1, IHI32x2(SHL64(u0, 0), SHL64(u2, 32)));
8187 assign(*i2, IHI32x2(SHL64(u2, 0), SHL64(u1, 0)));
8198 assign(*i0, XXX(u0,1, u2,0, u1,0, u0,0));
8199 assign(*i1, XXX(u1,2, u0,2, u2,1, u1,1));
8200 assign(*i2, XXX(u2,3, u1,3, u0,3, u2,2));
8209 assign(*i0, math_PERM_8x8x3(in0, u0, u1, u2));
8210 assign(*i1, math_PERM_8x8x3(in1, u0, u1, u2));
8211 assign(*i2, math_PERM_8x8x3(in2, u0, u1, u2));
8247 assign(*u0, ILO32x2(i2, i0));
8248 assign(*u1, IHI32x2(i2, i0));
8249 assign(*u2, ILO32x2(i3, i1));
8250 assign(*u3, IHI32x2(i3, i1));
8256 assign(b1b0a1a0, ILO16x4(i1, i0));
8257 assign(b3b2a3a2, ILO16x4(i3, i2));
8258 assign(d1d0c1c0, IHI16x4(i1, i0));
8259 assign(d3d2c3c2, IHI16x4(i3, i2));
8261 assign(*u0, ILO32x2(b3b2a3a2, b1b0a1a0));
8262 assign(*u1, IHI32x2(b3b2a3a2, b1b0a1a0));
8263 assign(*u2, ILO32x2(d3d2c3c2, d1d0c1c0));
8264 assign(*u3, IHI32x2(d3d2c3c2, d1d0c1c0));
8271 assign(i0x, IHI8x8(i0, SHL64(i0, 32)));
8272 assign(i1x, IHI8x8(i1, SHL64(i1, 32)));
8273 assign(i2x, IHI8x8(i2, SHL64(i2, 32)));
8274 assign(i3x, IHI8x8(i3, SHL64(i3, 32)));
8280 assign(b1b0a1a0, ILO16x4(i1x, i0x));
8281 assign(b3b2a3a2, ILO16x4(i3x, i2x));
8282 assign(d1d0c1c0, IHI16x4(i1x, i0x));
8283 assign(d3d2c3c2, IHI16x4(i3x, i2x));
8285 assign(*u0, ILO32x2(b3b2a3a2, b1b0a1a0));
8286 assign(*u1, IHI32x2(b3b2a3a2, b1b0a1a0));
8287 assign(*u2, ILO32x2(d3d2c3c2, d1d0c1c0));
8288 assign(*u3, IHI32x2(d3d2c3c2, d1d0c1c0));
8327 assign(*i0, ILO32x2(u1, u0));
8328 assign(*i1, ILO32x2(u3, u2));
8329 assign(*i2, IHI32x2(u1, u0));
8330 assign(*i3, IHI32x2(u3, u2));
8337 assign(b1b0a1a0, ILO32x2(u1, u0));
8338 assign(b3b2a3a2, IHI32x2(u1, u0));
8339 assign(d1d0c1c0, ILO32x2(u3, u2));
8340 assign(d3d2c3c2, IHI32x2(u3, u2));
8342 assign(*i0, CEV16x4(d1d0c1c0, b1b0a1a0));
8343 assign(*i1, COD16x4(d1d0c1c0, b1b0a1a0));
8344 assign(*i2, CEV16x4(d3d2c3c2, b3b2a3a2));
8345 assign(*i3, COD16x4(d3d2c3c2, b3b2a3a2));
8352 assign(b1b0a1a0, ILO32x2(u1, u0));
8353 assign(b3b2a3a2, IHI32x2(u1, u0));
8354 assign(d1d0c1c0, ILO32x2(u3, u2));
8355 assign(d3d2c3c2, IHI32x2(u3, u2));
8361 assign(i0x, CEV16x4(d1d0c1c0, b1b0a1a0));
8362 assign(i1x, COD16x4(d1d0c1c0, b1b0a1a0));
8363 assign(i2x, CEV16x4(d3d2c3c2, b3b2a3a2));
8364 assign(i3x, COD16x4(d3d2c3c2, b3b2a3a2));
8366 assign(*i0, COD8x8(i0x, SHL64(i0x, 8)));
8367 assign(*i1, COD8x8(i1x, SHL64(i1x, 8)));
8368 assign(*i2, COD8x8(i2x, SHL64(i2x, 8)));
8369 assign(*i3, COD8x8(i3x, SHL64(i3x, 8)));
8411 assign(initialRn, isT ? getIRegT(rN) : getIRegA(rN));
8414 assign(initialRm, isT ? getIRegT(rM) : getIRegA(rM));
8438 assign(addr, mkexpr(initialRn));
8488 assign(addr, mkexpr(initialRn));
8638 assign(addr, mkexpr(initialRn));
8650 assign(tmp, binop(Iop_Add32, mkexpr(addr), mkU32(8)));
8685 assign(di0, loadLE(Ity_I64, a0));
8686 assign(di1, loadLE(Ity_I64, a1));
8691 assign(du0, getDRegI64(rD + 0 * regstep));
8692 assign(du1, getDRegI64(rD + 1 * regstep));
8698 assign(tmp, binop(Iop_Add32, mkexpr(addr), mkU32(16)));
8716 assign(di0, loadLE(Ity_I64, a0));
8717 assign(di1, loadLE(Ity_I64, a1));
8718 assign(di2, loadLE(Ity_I64, a2));
8719 assign(di3, loadLE(Ity_I64, a3));
8728 assign(du0, getDRegI64(rD + 0 * regstep));
8729 assign(du1, getDRegI64(rD + 1 * regstep));
8730 assign(du2, getDRegI64(rD + 2 * regstep));
8731 assign(du3, getDRegI64(rD + 3 * regstep));
8742 assign(tmp, binop(Iop_Add32, mkexpr(addr), mkU32(32)));
8761 assign(di0, loadLE(Ity_I64, a0));
8762 assign(di1, loadLE(Ity_I64, a1));
8763 assign(di2, loadLE(Ity_I64, a2));
8769 assign(du0, getDRegI64(rD + 0 * inc));
8770 assign(du1, getDRegI64(rD + 1 * inc));
8771 assign(du2, getDRegI64(rD + 2 * inc));
8778 assign(tmp, binop(Iop_Add32, mkexpr(addr), mkU32(24)));
8799 assign(di0, loadLE(Ity_I64, a0));
8800 assign(di1, loadLE(Ity_I64, a1));
8801 assign(di2, loadLE(Ity_I64, a2));
8802 assign(di3, loadLE(Ity_I64, a3));
8810 assign(du0, getDRegI64(rD + 0 * inc));
8811 assign(du1, getDRegI64(rD + 1 * inc));
8812 assign(du2, getDRegI64(rD + 2 * inc));
8813 assign(du3, getDRegI64(rD + 3 * inc));
8822 assign(tmp, binop(Iop_Add32, mkexpr(addr), mkU32(32)));
9042 assign( srcN, binop(Iop_Sar32,
9046 assign( srcM, binop(Iop_Sar32,
9050 assign( res, binop(Iop_Mul32, mkexpr(srcN), mkexpr(srcM)) );
9096 assign( irt_prod,
9162 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
9224 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
9282 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
9338 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
9339 assign( irt_regN_lo,
9343 assign( irt_regN_hi, binop(Iop_Sar32, mkexpr(irt_regN), mkU8(16)) );
9400 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
9401 assign( irt_regN_lo, binop( Iop_Sar32,
9404 assign( irt_regN_hi, binop(Iop_Sar32, mkexpr(irt_regN), mkU8(16)) );
9458 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9459 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9461 assign(res, binop(Iop_Add16x2, mkexpr(rNt), mkexpr(rMt)));
9467 assign(reso, binop(Iop_HAdd16Ux2, mkexpr(rNt), mkexpr(rMt)));
9507 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9508 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9510 assign(res, binop(Iop_Add16x2, mkexpr(rNt), mkexpr(rMt)));
9516 assign(reso, unop(Iop_Not32,
9557 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9558 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9560 assign(res, binop(Iop_Sub16x2, mkexpr(rNt), mkexpr(rMt)));
9566 assign(reso, unop(Iop_Not32,
9607 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9608 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9610 assign(res, binop(Iop_Sub16x2, mkexpr(rNt), mkexpr(rMt)));
9616 assign(reso, unop(Iop_Not32,
9657 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9658 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9660 assign(res, binop(Iop_Add8x4, mkexpr(rNt), mkexpr(rMt)));
9666 assign(reso, binop(Iop_HAdd8Ux4, mkexpr(rNt), mkexpr(rMt)));
9706 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9707 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9709 assign(res, binop(Iop_Add8x4, mkexpr(rNt), mkexpr(rMt)));
9715 assign(reso, unop(Iop_Not32,
9756 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9757 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9759 assign(res, binop(Iop_Sub8x4, mkexpr(rNt), mkexpr(rMt)));
9765 assign(reso, unop(Iop_Not32,
9806 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9807 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9809 assign(res, binop(Iop_Sub8x4, mkexpr(rNt), mkexpr(rMt)));
9815 assign(reso, unop(Iop_Not32,
9855 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9856 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9858 assign(res_q, binop(Iop_QAdd8Sx4, mkexpr(rNt), mkexpr(rMt)));
9900 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9901 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9903 assign(res_q, binop(Iop_QSub8Sx4, mkexpr(rNt), mkexpr(rMt)));
9945 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9946 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9948 assign(res_q, binop(Iop_QAdd8Ux4, mkexpr(rNt), mkexpr(rMt)));
9990 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
9991 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
9993 assign(res_q, binop(Iop_QSub8Ux4, mkexpr(rNt), mkexpr(rMt)));
10035 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
10036 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
10038 assign(res_q, binop(Iop_HAdd8Ux4, mkexpr(rNt), mkexpr(rMt)));
10080 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
10081 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
10083 assign(res_q, binop(Iop_HAdd16Ux2, mkexpr(rNt), mkexpr(rMt)));
10125 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
10126 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
10128 assign(res_q, binop(Iop_HAdd8Sx4, mkexpr(rNt), mkexpr(rMt)));
10170 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
10171 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
10173 assign(res_q, binop(Iop_QAdd16Sx2, mkexpr(rNt), mkexpr(rMt)));
10215 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
10216 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
10218 assign(res_q, binop(Iop_QSub16Sx2, mkexpr(rNt), mkexpr(rMt)));
10265 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10266 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
10268 assign( irt_diff,
10276 assign( irt_sum,
10334 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10335 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
10337 assign( irt_diff,
10345 assign( irt_sum,
10400 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10401 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
10403 assign( irt_diff,
10410 assign( irt_sum,
10423 assign(ge10, unop(Iop_Not32, mkexpr(irt_diff)));
10428 assign(ge32, unop(Iop_Not32, mkexpr(irt_sum)));
10481 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10483 assign( tmpM, isT ? getIRegT(regM) : getIRegA(regM) );
10484 assign( irt_regM, genROR32(tmpM, (bitM & 1) ? 16 : 0) );
10486 assign( irt_prod_lo,
10494 assign( irt_prod_hi, binop(Iop_Mul32,
10564 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10565 assign( irt_regA, isT ? getIRegT(regA) : getIRegA(regA) );
10567 assign( tmpM, isT ? getIRegT(regM) : getIRegA(regM) );
10568 assign( irt_regM, genROR32(tmpM, (bitM & 1) ? 16 : 0) );
10570 assign( irt_prod_lo,
10578 assign( irt_prod_hi,
10582 assign( irt_sum, binop( isAD ? Iop_Add32 : Iop_Sub32,
10648 assign( irt_prod,
10661 assign( irt_regA, isT ? getIRegT(regA) : getIRegA(regA) );
10722 assign( irt_prod,
10735 assign( irt_regD, binop(Iop_32HLto64,
10738 assign( irt_res, binop(Iop_Add64, mkexpr(irt_regD), mkexpr(irt_prod)) );
10739 assign( irt_resHi, unop(Iop_64HIto32, mkexpr(irt_res)) );
10740 assign( irt_resLo, unop(Iop_64to32, mkexpr(irt_res)) );
10791 assign( irt_prod,
10800 assign( irt_regA, isT ? getIRegT(regA) : getIRegA(regA) );
10803 assign(prod32,
10862 assign( irt_ge_flag0, get_GEFLAG32(0) );
10863 assign( irt_ge_flag1, get_GEFLAG32(1) );
10864 assign( irt_ge_flag2, get_GEFLAG32(2) );
10865 assign( irt_ge_flag3, get_GEFLAG32(3) );
10945 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
10948 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
10951 assign( irt_rot, binop(Iop_And32,
11063 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11064 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11066 assign(res_q, binop(Iop_QAdd32S, mkexpr(rMt), mkexpr(rNt)));
11115 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11116 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11124 assign(rN_d, binop(Iop_QAdd32S, mkexpr(rNt), mkexpr(rNt)));
11125 assign(res_q, binop(Iop_QAdd32S, mkexpr(rMt), mkexpr(rN_d)));
11173 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11174 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11176 assign(res_q, binop(Iop_QSub32S, mkexpr(rMt), mkexpr(rNt)));
11225 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11226 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11234 assign(rN_d, binop(Iop_QAdd32S, mkexpr(rNt), mkexpr(rNt)));
11235 assign(res_q, binop(Iop_QSub32S, mkexpr(rMt), mkexpr(rN_d)));
11283 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11284 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11286 assign(res_q, binop(Iop_QSub16Ux2, mkexpr(rNt), mkexpr(rMt)));
11328 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11329 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11331 assign(res_q, binop(Iop_HAdd16Sx2, mkexpr(rNt), mkexpr(rMt)));
11373 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11374 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11376 assign(res_q, binop(Iop_HSub8Ux4, mkexpr(rNt), mkexpr(rMt)));
11418 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11419 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11421 assign(res_q, binop(Iop_HSub16Ux2, mkexpr(rNt), mkexpr(rMt)));
11463 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11464 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11466 assign(res_q, binop(Iop_QAdd16Ux2, mkexpr(rNt), mkexpr(rMt)));
11511 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11512 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11514 assign( irt_diff,
11522 assign( irt_sum,
11580 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11581 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11583 assign( irt_diff,
11591 assign( irt_sum,
11646 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11647 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11649 assign( irt_sum,
11656 assign( irt_diff,
11671 assign( ge10, IRExpr_ITE( binop( Iop_CmpLE32U,
11678 assign(ge32, unop(Iop_Not32, mkexpr(irt_diff)));
11724 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11725 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11727 assign( irt_diff,
11734 assign( irt_sum,
11747 assign(ge10, unop(Iop_Not32, mkexpr(irt_diff)));
11752 assign( ge32, IRExpr_ITE( binop( Iop_CmpLE32U,
11800 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11801 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11803 assign( irt_sum,
11810 assign( irt_diff,
11823 assign(ge10, unop(Iop_Not32, mkexpr(irt_sum)));
11828 assign(ge32, unop(Iop_Not32, mkexpr(irt_diff)));
11873 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11874 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11876 assign(res_q, binop(Iop_HSub8Sx4, mkexpr(rNt), mkexpr(rMt)));
11916 assign( irt_regN, isT ? getIRegT(regN) : getIRegA(regN) );
11919 assign( irt_regM, isT ? getIRegT(regM) : getIRegA(regM) );
11922 assign( irt_rot, genROR32(irt_regM, 8 * rotate) );
11995 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
11996 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
11998 assign( irt_diff,
12015 assign( irt_sum,
12031 assign( res_q,
12092 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
12093 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
12095 assign( irt_diff,
12112 assign( irt_sum,
12128 assign( res_q,
12189 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
12190 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
12192 assign( irt_sum,
12209 assign( irt_diff,
12225 assign( res_q,
12286 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
12287 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
12289 assign( irt_sum,
12306 assign( irt_diff,
12322 assign( res_q,
12381 assign( rNt, isT ? getIRegT(regN) : getIRegA(regN) );
12382 assign( rMt, isT ? getIRegT(regM) : getIRegA(regM) );
12384 assign(res_q, binop(Iop_HSub16Sx2, mkexpr(rNt), mkexpr(rMt)));
12432 assign( irt_rA, isT ? getIRegT(rA) : getIRegA(rA) );
12433 assign( irt_rN, isT ? getIRegT(rN) : getIRegA(rN) );
12434 assign( irt_rM, isT ? getIRegT(rM) : getIRegA(rM) );
12496 assign( irt_rM, isT ? getIRegT(rM) : getIRegA(rM));
12497 assign( irt_rN, isT ? getIRegT(rN) : getIRegA(rN));
12498 assign( irt_rDhi, isT ? getIRegT(rDhi) : getIRegA(rDhi));
12499 assign( irt_rDlo, isT ? getIRegT(rDlo) : getIRegA(rDlo));
12500 assign( op_2, genROR32(irt_rM, m_swap ? 16 : 0) );
12501 assign( pr_1, binop(Iop_MullS32,
12510 assign( pr_2, binop(Iop_MullS32,
12515 assign( result, binop(Iop_Add64,
12526 assign( resHi, unop(Iop_64HIto32, mkexpr(result)) );
12527 assign( resLo, unop(Iop_64to32, mkexpr(result)) );
12584 assign( irt_rM, isT ? getIRegT(rM) : getIRegA(rM) );
12585 assign( irt_rN, isT ? getIRegT(rN) : getIRegA(rN) );
12586 assign( irt_rDhi, isT ? getIRegT(rDhi) : getIRegA(rDhi) );
12587 assign( irt_rDlo, isT ? getIRegT(rDlo) : getIRegA(rDlo) );
12588 assign( op_2, genROR32(irt_rM, m_swap ? 16 : 0) );
12589 assign( pr_1, binop(Iop_MullS32,
12598 assign( pr_2, binop(Iop_MullS32,
12603 assign( result, binop(Iop_Add64,
12614 assign( resHi, unop(Iop_64HIto32, mkexpr(result)) );
12615 assign( resLo, unop(Iop_64to32, mkexpr(result)) );
12652 assign( hi64, unop(Iop_V128HIto64, mkexpr(t128)) );
12653 assign( lo64, unop(Iop_V128to64, mkexpr(t128)) );
12664 assign( *t0, unop(Iop_64to32, mkexpr(lo64)) );
12665 assign( *t1, unop(Iop_64HIto32, mkexpr(lo64)) );
12666 assign( *t2, unop(Iop_64to32, mkexpr(hi64)) );
12667 assign( *t3, unop(Iop_64HIto32, mkexpr(hi64)) );
12782 assign(op1, getQReg(regD >> 1));
12783 assign(op2, getQReg(regM >> 1));
12784 assign(src, opc == BITS2(0,0) || opc == BITS2(0,1)
12900 assign(vD, getQReg(regD >> 1));
12901 assign(vN, getQReg(regN >> 1));
12902 assign(vM, getQReg(regM >> 1));
12925 assign(n32_3, mkU32(0));
12926 assign(n32_2, mkU32(0));
12927 assign(n32_1, mkU32(0));
12928 assign(n32_0, mkexpr(n32_0_pre));
12931 assign(n32_3, mkexpr(n32_3_pre));
12932 assign(n32_2, mkexpr(n32_2_pre));
12933 assign(n32_1, mkexpr(n32_1_pre));
12934 assign(n32_0, mkexpr(n32_0_pre));
13004 assign(vD, getQReg(regD >> 1));
13005 assign(vM, getQReg(regM >> 1));
13066 assign(vM, getQReg(regM >> 1));
13127 assign(srcN, getDRegI64(regN));
13128 assign(srcM, getDRegI64(regM));
13455 assign(data,
13470 assign(resSC32,
13526 assign(guard, mk_armg_calculate_condition(cond));
13616 assign(src, (isF64 ? getDReg : getFReg)(mm));
13619 assign(rm, rToZero ? mkU32(Irrm_ZERO)
13621 assign(res, binop(isF64 ? Iop_RoundF64toInt : Iop_RoundF32toInt,
13683 assign(res, binop(isU ? Iop_F64toI32U : Iop_F64toI32S,
13766 assign(src, (isF64 ? getDReg : getFReg)(mm));
13769 assign(rm, mkexpr(mk_get_IR_rounding_mode()));
13770 assign(res, binop(isF64 ? Iop_RoundF64toInt : Iop_RoundF32toInt,
13833 assign(r0, binop(op, llGetFReg_up_to_64(nnF+0),
13835 assign(r1, binop(op, llGetFReg_up_to_64(nnF+1),
13838 assign(r2, binop(op, llGetFReg_up_to_64(nnF+2),
13840 assign(r3, binop(op, llGetFReg_up_to_64(nnF+3),
13918 assign(r0, unop(Iop_ReinterpI32asF32,
13921 assign(r1, unop(Iop_ReinterpI32asF32,
13925 assign(r2, unop(Iop_ReinterpI32asF32,
13928 assign(r3, unop(Iop_ReinterpI32asF32,
14013 assign(r0, binop(rnd, rmE, llGetFReg_up_to_64(mmF+0)));
14014 assign(r1, binop(rnd, rmE, llGetFReg_up_to_64(mmF+1)));
14016 assign(r2, binop(rnd, rmE, llGetFReg_up_to_64(mmF+2)));
14017 assign(r3, binop(rnd, rmE, llGetFReg_up_to_64(mmF+3)));
14074 assign(oldRnT, arm ? getIRegA(rN) : getIRegT(rN));
14081 /* assign(anchorT, binop(Iop_And32, mkexpr(oldRnT), mkU32(~3U))); */
14083 assign(anchorT, mkexpr(oldRnT));
14365 assign(rnT, align4if(isT ? getIRegT(rN) : getIRegA(rN),
14372 assign(rnTnew, binop(summary == 2 ? Iop_Add32 : Iop_Sub32,
14379 assign(taT, summary == 3 ? mkexpr(rnTnew) : mkexpr(rnT));
14502 assign(rnT, align4if(isT ? getIRegT(rN) : getIRegA(rN),
14509 assign(rnTnew, binop(summary == 2 ? Iop_Add32 : Iop_Sub32,
14516 assign(taT, summary == 3 ? mkexpr(rnTnew) : mkexpr(rnT));
14580 assign(nzcvT, binop(Iop_And32,
14644 assign(i64, unop(Iop_ReinterpF64asI64, getDReg(dM)));
14908 assign(ea, binop(bU ? Iop_Add32 : Iop_Sub32,
15076 assign(argL, getDReg(dD));
15077 assign(argR, bZ ? IRExpr_Const(IRConst_F64i(0)) : getDReg(dM));
15078 assign(irRes, binop(Iop_CmpF64, mkexpr(argL), mkexpr(argR)));
15100 assign(oldFPSCR, IRExpr_Get(OFFB_FPSCR, Ity_I32));
15101 assign(newFPSCR,
15196 assign(rmode, bZ ? mkU32(Irrm_ZERO)
15294 assign(rnT, align4if(isT ? getIRegT(rN) : getIRegA(rN),
15301 assign(rnTnew, binop(summary == 2 ? Iop_Add32 : Iop_Sub32,
15308 assign(taT, summary == 3 ? mkexpr(rnTnew) : mkexpr(rnT));
15413 assign(ea, binop(bU ? Iop_Add32 : Iop_Sub32,
15586 assign(argL, unop(Iop_F32toF64, getFReg(fD)));
15587 assign(argR, bZ ? IRExpr_Const(IRConst_F64i(0))
15589 assign(irRes, binop(Iop_CmpF64, mkexpr(argL), mkexpr(argR)));
15611 assign(oldFPSCR, IRExpr_Get(OFFB_FPSCR, Ity_I32));
15612 assign(newFPSCR,
15690 assign(rmode, mkexpr(mk_get_IR_rounding_mode()));
15723 assign(rmode, bZ ? mkU32(Irrm_ZERO)
15770 assign(rmode, mkexpr(mk_get_IR_rounding_mode()));
15810 assign(scale, unop(Iop_I32UtoF64, mkU32( ((UInt)1) << (frac_bits-1) )));
15818 assign(rmode, mkU32(Irrm_NEAREST)); // per the spec
15820 assign(src32, unop(Iop_ReinterpF32asI32, getFReg(d)));
15839 assign(src32, unop(Iop_64to32, getDRegI64(d)));
15855 assign(srcF64, getDReg(d));
15857 assign(scaledF64, triop(Iop_MulF64,
15862 assign(rmode, mkU32(Irrm_ZERO)); // as per the spec
15864 assign(asI32, binop(unsyned ? Iop_F64toI32U : Iop_F64toI32S,
15877 assign(srcF32, getFReg(d));
15879 assign(scaledF64, triop(Iop_MulF64,
15884 assign(rmode, mkU32(Irrm_ZERO)); // as per the spec
15886 assign(asI32, binop(unsyned ? Iop_F64toI32U : Iop_F64toI32S,
15964 assign(eaT, eaE);
16226 assign( condT, mk_armg_calculate_condition( INSN_COND ));
16280 assign(rNt, getIRegA(rN));
16292 assign(res, binop(op, mkexpr(shop), mkexpr(rNt)) );
16296 assign(res, binop(op, mkexpr(rNt),
16300 assign(res, binop(op, mkexpr(rNt), mkexpr(shop)) );
16307 assign( oldV, mk_armg_calculate_flag_v() );
16360 assign( res, isMVN ? unop(Iop_Not32, mkexpr(shop))
16365 assign( oldV, mk_armg_calculate_flag_v() );
16396 assign(rNt, getIRegA(rN));
16422 assign(rNt, getIRegA(rN));
16431 assign( res, binop(isTEQ ? Iop_Xor32 : Iop_And32,
16434 assign( oldV, mk_armg_calculate_flag_v() );
16454 assign(rNt, getIRegA(rN));
16462 assign( oldC, mk_armg_calculate_flag_c() );
16467 assign(res,
16473 assign(res,
16479 assign(res,
16620 assign(eaT, eaE);
16624 assign(rnT, getIRegA(rN));
16646 assign(rDt, getIRegA(rD));
16870 assign(eaT, eaE);
16874 assign(rnT, getIRegA(rN));
16886 assign(llOldRd, llGetIReg(rD));
17126 assign( dst, getIRegA(rM) );
17159 assign(arg, getIRegA(rM));
17160 assign(res, IRExpr_ITE(
17187 assign( argL, getIRegA(rM));
17188 assign( argR, getIRegA(rS));
17189 assign( res, binop(Iop_Mul32, mkexpr(argL), mkexpr(argR)) );
17192 assign(oldC, mk_armg_calculate_flag_c());
17194 assign(oldV, mk_armg_calculate_flag_v());
17200 assign( pair, binop(Iop_Or32,
17226 assign(argL, getIRegA(rN));
17227 assign(argR, getIRegA(rM));
17228 assign(res, binop(Iop_DivS32, mkexpr(argL), mkexpr(argR)));
17248 assign(argL, getIRegA(rN));
17249 assign(argR, getIRegA(rM));
17250 assign(res, binop(Iop_DivU32, mkexpr(argL), mkexpr(argR)));
17280 assign( argL, getIRegA(rM));
17281 assign( argR, getIRegA(rS));
17282 assign( argP, getIRegA(rN));
17283 assign( res, binop(isMLS ? Iop_Sub32 : Iop_Add32,
17289 assign(oldC, mk_armg_calculate_flag_c());
17291 assign(oldV, mk_armg_calculate_flag_v());
17297 assign( pair, binop(Iop_Or32,
17330 assign( argL, getIRegA(rM));
17331 assign( argR, getIRegA(rS));
17332 assign( res, binop(mulOp, mkexpr(argL), mkexpr(argR)) );
17333 assign( resHi, unop(Iop_64HIto32, mkexpr(res)) );
17334 assign( resLo, unop(Iop_64to32, mkexpr(res)) );
17337 assign(oldC, mk_armg_calculate_flag_c());
17339 assign(oldV, mk_armg_calculate_flag_v());
17346 assign( pair, binop(Iop_Or32,
17380 assign( argL, getIRegA(rM));
17381 assign( argR, getIRegA(rS));
17382 assign( old, binop(Iop_32HLto64, getIRegA(rDhi), getIRegA(rDlo)) );
17383 assign( res, binop(Iop_Add64,
17386 assign( resHi, unop(Iop_64HIto32, mkexpr(res)) );
17387 assign( resLo, unop(Iop_64to32, mkexpr(res)) );
17390 assign(oldC, mk_armg_calculate_flag_c());
17392 assign(oldV, mk_armg_calculate_flag_v());
17399 assign( pair, binop(Iop_Or32,
17428 assign( argN, getIRegA(rN) );
17429 assign( argM, getIRegA(rM) );
17430 assign( argDhi, getIRegA(rDhi) );
17431 assign( argDlo, getIRegA(rDlo) );
17432 assign( res,
17438 assign( resHi, unop(Iop_64HIto32, mkexpr(res)) );
17439 assign( resLo, unop(Iop_64to32, mkexpr(res)) );
17463 assign(immT, mkU32(imm));
17481 assign(rNt, getIRegA(rN));
17544 assign(tRn, getIRegA(rN));
17545 assign(tNew, getIRegA(rM));
17669 assign(data,
17683 assign(resSC32,
17742 assign(srcT, getIRegA(rM));
17743 assign(rotT, genROR32(srcT, 8 * rot)); /* 0, 8, 16 or 24 only */
17746 assign(dstT, unop(Iop_8Uto32, unop(Iop_32to8, mkexpr(rotT))));
17750 assign(dstT, unop(Iop_8Sto32, unop(Iop_32to8, mkexpr(rotT))));
17754 assign(dstT, unop(Iop_16Uto32, unop(Iop_32to16, mkexpr(rotT))));
17758 assign(dstT, unop(Iop_16Sto32, unop(Iop_32to16, mkexpr(rotT))));
17762 assign(dstT, binop(Iop_And32, mkexpr(rotT), mkU32(0x00FF00FF)));
17768 assign(lo32, binop(Iop_And32, mkexpr(rotT), mkU32(0xFF)));
17769 assign(hi32, binop(Iop_Shr32, mkexpr(rotT), mkU8(16)));
17770 assign(
17813 assign(src, rN == 15 ? mkU32(0) : getIRegA(rN));
17814 assign(olddst, getIRegA(rD));
17815 assign(newdst,
17858 assign(src, getIRegA(rN));
17859 assign(tmp, binop(Iop_And32,
17862 assign(res, binop(isU ? Iop_Shr32 : Iop_Sar32,
17989 assign(eaT, eaE);
17993 assign(rnT, getIRegA(rN));
18037 assign(oldRd0, llGetIReg(rD+0));
18038 assign(oldRd1, llGetIReg(rD+1));
18098 assign(srcR, getIRegA(rM));
18099 assign(srcL, getIRegA(rN));
18100 assign(res, binop(Iop_Add32,
18128 assign(srcR, getIRegA(rM));
18129 assign(srcL, getIRegA(rN));
18130 assign(res, binop(Iop_Add32,
18152 assign(rMt, getIRegA(rM));
18170 assign(irt_rM, getIRegA(rM));
18171 assign(irt_hi,
18177 assign(irt_low,
18183 assign(irt_res,
18198 assign(arg, getIRegA(rM));
19215 assign(z32, mkU32(0));
19228 // assign(new_itstate,
19244 // assign(condT1,
19259 // assign(condT, IRExpr_ITE(
19267 assign(condT, mkU32(1));
19275 // assign(notInITt,
19285 // assign(cond_AND_notInIT_T,
19296 assign(new_itstate,
19309 assign(condT1,
19336 we can simply do "assign(condT, mkexpr(condT1))", and the
19340 assign(condT, IRExpr_ITE(
19354 assign(notInITt,
19364 assign(cond_AND_notInIT_T,
19417 assign( argL, getIRegT(rN) );
19418 assign( argR, getIRegT(rM) );
19433 assign( oldC, mk_armg_calculate_flag_c() );
19434 assign( oldV, mk_armg_calculate_flag_v() );
19435 assign( res, binop(Iop_And32, getIRegT(rN), getIRegT(rM)) );
19449 assign(arg, getIRegT(rM));
19450 assign(zero, mkU32(0));
19466 assign( oldV, mk_armg_calculate_flag_v() );
19467 assign( oldC, mk_armg_calculate_flag_c() );
19468 assign(res, unop(Iop_Not32, getIRegT(rM)));
19496 assign( oldV, mk_armg_calculate_flag_v() );
19497 assign( oldC, mk_armg_calculate_flag_c() );
19498 assign( res, binop(anOp, getIRegT(rD), getIRegT(rM) ));
19516 assign( oldV, mk_armg_calculate_flag_v() );
19517 assign( oldC, mk_armg_calculate_flag_c() );
19518 assign( res, binop(Iop_And32, getIRegT(rD),
19538 assign(argL, getIRegT(rD));
19539 assign(argR, getIRegT(rM));
19540 assign(oldC, mk_armg_calculate_flag_c());
19541 assign(res, binop(Iop_Add32,
19561 assign(argL, getIRegT(rD));
19562 assign(argR, getIRegT(rM));
19563 assign(oldC, mk_armg_calculate_flag_c());
19564 assign(res, binop(Iop_Sub32,
19640 assign(rSt, getIRegT(rS));
19641 assign(rDt, getIRegT(rD));
19642 assign(oldV, mk_armg_calculate_flag_v());
19688 assign(arg, getIRegT(rM));
19703 assign(irt_rM, getIRegT(rM));
19704 assign(irt_hi,
19710 assign(irt_low,
19716 assign(irt_res,
19765 assign( dst, getIRegT(rM) );
19768 assign( dst, mkU32(guest_R15_curr_instr_notENC + 4) );
19791 assign( dst, getIRegT(rM) );
19848 assign( res, binop(Iop_Add32, getIRegT(rD), getIRegT(rM) ));
19878 assign( argL, getIRegT(rN) );
19879 assign( argR, getIRegT(rM) );
19898 assign( val, getIRegT(rM) );
19936 assign(t, mkU32(newITSTATE));
19956 assign( kond, binop(bOP ? Iop_CmpNE32 : Iop_CmpEQ32,
20016 assign(newSP, binop(Iop_Sub32, getIRegT(13), mkU32(4 * nRegs)));
20022 assign(base, binop(Iop_And32, mkexpr(newSP), mkU32(~3)));
20069 assign(oldSP, getIRegT(13));
20074 assign(base, binop(Iop_And32, mkexpr(oldSP), mkU32(~3)));
20080 assign(newSP, binop(Iop_Add32, mkexpr(oldSP),
20098 assign( newPC, loadLE( Ity_I32,
20136 assign( argL, getIRegT(rN) );
20137 assign( argR, mkU32(uimm3) );
20157 assign( argL, getIRegT(rN) );
20158 assign( argR, getIRegT(rM) );
20298 assign( argL, getIRegT(rN) );
20299 assign( argR, mkU32(uimm8) );
20338 assign( argL, getIRegT(rN) );
20339 assign( argR, mkU32(uimm8) );
20353 assign( oldV, mk_armg_calculate_flag_v() );
20354 assign( oldC, mk_armg_calculate_flag_c() );
20355 assign( res, mkU32(uimm8) );
20370 assign(ea, binop(Iop_Add32,
20496 assign(oldRn, getIRegT(rN));
20497 assign(base, binop(Iop_And32, mkexpr(oldRn), mkU32(~3U)));
20550 assign(oldRn, getIRegT(rN));
20551 assign(base, binop(Iop_And32, mkexpr(oldRn), mkU32(~3U)));
20588 assign(rMt, getIRegT(rM));
20589 assign(oldV, mk_armg_calculate_flag_v());
20663 assign( kondT, mk_armg_calculate_condition(cond) );
20877 assign(argL, getIRegT(rN));
20878 assign(argR, mkU32(imm32));
20879 assign(res, binop(Iop_Add32, mkexpr(argL), mkexpr(argR)));
20904 assign(argL, getIRegT(rN));
20905 assign(argR, mkU32(imm12));
20906 assign(res, binop(Iop_Add32, mkexpr(argL), mkexpr(argR)));
20926 assign(argL, getIRegT(rN));
20927 assign(argR, mkU32(imm32));
20952 assign(argL, getIRegT(rN));
20953 assign(argR, mkU32(imm32));
20954 assign(res, binop(isTST ? Iop_And32 : Iop_Xor32,
20956 assign( oldV, mk_armg_calculate_flag_v() );
20957 assign( oldC, updC
20986 assign(argL, getIRegT(rN));
20987 assign(argR, mkU32(imm32));
20988 assign(res, isRSB
21019 assign(argL, getIRegT(rN));
21020 assign(argR, mkU32(imm12));
21021 assign(res, binop(Iop_Sub32, mkexpr(argL), mkexpr(argR)));
21045 assign(argL, getIRegT(rN));
21046 assign(argR, mkU32(imm32));
21047 assign(oldC, mk_armg_calculate_flag_c() );
21052 assign(res,
21063 assign(res,
21114 assign(argL, getIRegT(rN));
21115 assign(argR, mkU32(notArgR ? ~imm32 : imm32));
21116 assign(res, binop(op, mkexpr(argL), mkexpr(argR)));
21121 assign( oldV, mk_armg_calculate_flag_v() );
21122 assign( oldC, updC
21175 assign(argL, getIRegT(rN));
21178 assign(rMt, getIRegT(rM));
21186 assign(res, swap
21230 assign(argL, getIRegT(rN));
21233 assign(rMt, getIRegT(rM));
21236 assign(oldC, mk_armg_calculate_flag_c());
21248 assign(res,
21259 assign(res,
21312 assign(rNt, getIRegT(rN));
21315 assign(rMt, getIRegT(rM));
21327 assign(res, binop(op, mkexpr(rNt),
21330 assign(res, binop(op, mkexpr(rNt), mkexpr(argR)));
21336 assign( oldV, mk_armg_calculate_flag_v() );
21368 assign(rNt, getIRegT(rN));
21369 assign(rMt, getIRegT(rM));
21375 assign(oldV, mk_armg_calculate_flag_v());
21403 assign(rNt, getIRegT(rN));
21412 assign(res, isMVN ? unop(Iop_Not32, mkexpr(oldRn))
21418 assign( oldV, mk_armg_calculate_flag_v() );
21443 assign(argL, getIRegT(rN));
21446 assign(rMt, getIRegT(rM));
21455 assign( oldV, mk_armg_calculate_flag_v() );
21458 assign(res, binop(isTST ? Iop_And32 : Iop_Xor32,
21483 assign(argL, getIRegT(rN));
21486 assign(rMt, getIRegT(rM));
21515 assign(res, mkU32(isMVN ? ~imm32 : imm32));
21520 assign( oldV, mk_armg_calculate_flag_v() );
21521 assign( oldC, updC
21556 assign(res,
21645 assign(preAddr, getIRegT(rN));
21648 assign(postAddr, binop(bU == 1 ? Iop_Add32 : Iop_Sub32,
21667 assign(oldRt, getIRegT(rT));
21696 assign(llOldRt, llGetIReg(rT));
21832 assign(transAddr,
21841 assign(oldRt, getIRegT(rT));
21864 assign(llOldRt, llGetIReg(rT));
21988 assign(rNt, binop(Iop_And32, getIRegT(15), mkU32(~3)));
21990 assign(rNt, getIRegT(rN));
21994 assign(transAddr,
21999 assign(oldRt, getIRegT(rT));
22002 assign(llOldRt, llGetIReg(rT));
22090 assign(preAddr, 15 == rN
22095 assign(postAddr, binop(bU == 1 ? Iop_Add32 : Iop_Sub32,
22119 assign(oldRt, getIRegT(rT));
22120 assign(oldRt2, getIRegT(rT2));
22130 assign(oldRt, llGetIReg(rT));
22131 assign(oldRt2, llGetIReg(rT2));
22193 assign( kondT, mk_armg_calculate_condition(cond) );
22272 assign(delta, unop(Iop_16Uto32, loadLE(Ity_I16, ea)));
22274 assign(delta, unop(Iop_8Uto32, loadLE(Ity_I8, ea)));
22316 assign(src, getIRegT(rN));
22317 assign(tmp, binop(Iop_And32,
22320 assign(res, binop(isU ? Iop_Shr32 : Iop_Sar32,
22356 assign(srcT, getIRegT(rM));
22357 assign(rotT, genROR32(srcT, 8 * rot));
22361 assign(dstT, unop(Iop_8Uto32,
22366 assign(dstT, unop(Iop_16Uto32,
22371 assign(dstT, unop(Iop_8Sto32,
22376 assign(dstT, unop(Iop_16Sto32,
22381 assign(dstT, binop(Iop_And32, mkexpr(rotT),
22388 assign(lo32, binop(Iop_And32, mkexpr(rotT), mkU32(0xFF)));
22389 assign(hi32, binop(Iop_Shr32, mkexpr(rotT), mkU8(16)));
22390 assign(
22421 assign(res, binop(Iop_Mul32, getIRegT(rN), getIRegT(rM)));
22438 assign(argL, getIRegT(rN));
22439 assign(argR, getIRegT(rM));
22440 assign(res, binop(Iop_DivS32, mkexpr(argL), mkexpr(argR)));
22457 assign(argL, getIRegT(rN));
22458 assign(argR, getIRegT(rM));
22459 assign(res, binop(Iop_DivU32, mkexpr(argL), mkexpr(argR)));
22477 assign(res, binop(isU ? Iop_MullU32 : Iop_MullS32,
22499 assign(res,
22546 assign( argL, getIRegT(rM));
22547 assign( argR, getIRegT(rN));
22548 assign( old, binop(Iop_32HLto64, getIRegT(rDhi), getIRegT(rDlo)) );
22549 assign( res, binop(Iop_Add64,
22552 assign( resHi, unop(Iop_64HIto32, mkexpr(res)) );
22553 assign( resLo, unop(Iop_64to32, mkexpr(res)) );
22577 assign( argN, getIRegT(rN) );
22578 assign( argM, getIRegT(rM) );
22579 assign( argDhi, getIRegT(rDhi) );
22580 assign( argDlo, getIRegT(rDlo) );
22581 assign( res,
22587 assign( resHi, unop(Iop_64HIto32, mkexpr(res)) );
22588 assign( resLo, unop(Iop_64to32, mkexpr(res)) );
22677 assign(src, rN == 15 ? mkU32(0) : getIRegT(rN));
22678 assign(olddst, getIRegT(rD));
22679 assign(newdst,
22717 assign(srcR, getIRegT(rM));
22718 assign(srcL, getIRegT(rN));
22719 assign(res, binop(Iop_Add32,
22746 assign(srcR, getIRegT(rM));
22747 assign(srcL, getIRegT(rN));
22748 assign(res, binop(Iop_Add32,
22770 assign(arg, getIRegT(rM1));
22771 assign(res, IRExpr_ITE(
22791 assign(arg, getIRegT(rM1));
22811 assign(arg, getIRegT(rM1));
22831 assign(irt_rM, getIRegT(rM1));
22832 assign(irt_hi,
22838 assign(irt_low,
22844 assign(irt_res,
22861 assign(rNt, getIRegT(rN));
22966 assign(resSC32,
22995 assign(resSC32,
23019 assign(data, binop(Iop_32HLto64, getIRegT(rT2), getIRegT(rT)));
23025 assign(resSC32,
23687 assign(hi32, unop(Iop_64HIto32, mkexpr(v64)) );
23688 assign(lo32, unop(Iop_64to32, mkexpr(v64)) );
23689 if (out3) assign(*out3, binop(Iop_Shr32, mkexpr(hi32), mkU8(16)));
23690 if (out2) assign(*out2, binop(Iop_And32, mkexpr(hi32), mkU32(0xFFFF)));
23691 if (out1) assign(*out1, binop(Iop_Shr32, mkexpr(lo32), mkU8(16)));
23692 if (out0) assign(*out0, binop(Iop_And32, mkexpr(lo32), mkU32(0xFFFF)));
23701 assign(hi32,
23705 assign(lo32,
23710 assign(res, binop(Iop_32HLto64, mkexpr(hi32), mkexpr(lo32)));
23782 assign(hi32, unop(Iop_64HIto32, mkexpr(v64)) );
23783 assign(lo32, unop(Iop_64to32, mkexpr(v64)) );
23785 assign(*out7, binop(Iop_And32,
23789 assign(*out6, binop(Iop_And32,
23793 assign(*out5, binop(Iop_And32,
23797 assign(*out4, binop(Iop_And32, mkexpr(hi32), mkU32(0xFF)));
23799 assign(*out3, binop(Iop_And32,
23803 assign(*out2, binop(Iop_And32,
23807 assign(*out1, binop(Iop_And32,
23811 assign(*out0, binop(Iop_And32, mkexpr(lo32), mkU32(0xFF)));
23819 assign(hi32,
23833 assign(lo32,
23848 assign(res, binop(Iop_32HLto64, mkexpr(hi32), mkexpr(lo32)));