Lines Matching refs:assign
138 assign(IRTemp dst, IRExpr *expr)
150 /* Create a temporary of the given type and assign the expression to it */
156 assign(temp, expr);
1532 assign(fpc_bits, binop(Iop_And32, get_fpc_w0(), mkU32(7)));
1602 assign(fpc_bits, binop(Iop_Shr32,
1689 assign(b0, binop(Iop_And32, mkexpr(vex_cc), mkU32(1)));
1690 assign(b2, binop(Iop_And32, binop(Iop_Shr32, mkexpr(vex_cc), mkU8(2)),
1692 assign(b6, binop(Iop_And32, binop(Iop_Shr32, mkexpr(vex_cc), mkU8(6)),
1695 assign(cc0, mkexpr(b0));
1696 assign(cc1, binop(Iop_Or32, mkexpr(b2),
1902 assign(op4addr, binop(Iop_Add64, mkU64(d4), b4 != 0 ? get_gpr_dw0(b4) :
1920 assign(op4addr, binop(Iop_Add64, mkU64(d4), b4 != 0 ? get_gpr_dw0(b4) :
2166 assign(op4addr, binop(Iop_Add64, mkU64(d4), b4 != 0 ? get_gpr_dw0(b4) :
2183 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2199 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2215 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2231 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2258 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2259 assign(op2addr, binop(Iop_Add64, mkexpr(d2), b2 != 0 ? get_gpr_dw0(b2) :
2276 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2277 assign(op2addr, binop(Iop_Add64, mkexpr(d2), b2 != 0 ? get_gpr_dw0(b2) :
2294 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2295 assign(op2addr, binop(Iop_Add64, mkexpr(d2), b2 != 0 ? get_gpr_dw0(b2) :
2314 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2315 assign(op2addr, binop(Iop_Add64, mkexpr(d2), b2 != 0 ? get_gpr_dw0(b2) :
2333 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkU64(d2),
2347 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkU64(d2),
2364 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkU64(d2),
2381 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkU64(d2),
2398 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkU64(d2),
2416 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2417 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkexpr(d2),
2435 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2436 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkexpr(d2),
2454 assign(d2, mkU64(((ULong)(Long)(Char)dh2 << 12) | ((ULong)dl2)));
2455 assign(op2addr, binop(Iop_Add64, binop(Iop_Add64, mkexpr(d2),
2472 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2488 assign(op1addr, binop(Iop_Add64, mkU64(d1), b1 != 0 ? get_gpr_dw0(b1) :
2505 assign(d1, mkU64(((ULong)(Long)(Char)dh1 << 12) | ((ULong)dl1)));
2506 assign(op1addr, binop(Iop_Add64, mkexpr(d1), b1 != 0 ? get_gpr_dw0(b1) :
2523 assign(d1, mkU64(((ULong)(Long)(Char)dh1 << 12) | ((ULong)dl1)));
2524 assign(op1addr, binop(Iop_Add64, mkexpr(d1), b1 != 0 ? get_gpr_dw0(b1) :
2541 assign(op1addr, binop(Iop_Add64, mkU64(d1), b1 != 0 ? get_gpr_dw0(b1) :
2543 assign(op2addr, binop(Iop_Add64, mkU64(d2), b2 != 0 ? get_gpr_dw0(b2) :
2559 assign(op1addr, binop(Iop_Add64, mkU64(d1), b1 != 0 ? get_gpr_dw0(b1) :
2575 assign(op1addr, binop(Iop_Add64, mkU64(d1), b1 != 0 ? get_gpr_dw0(b1) :
2597 assign(op1, get_gpr_w1(r1));
2598 assign(op2, get_gpr_w1(r2));
2599 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2613 assign(op1, get_gpr_dw0(r1));
2614 assign(op2, get_gpr_dw0(r2));
2615 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2629 assign(op1, get_gpr_dw0(r1));
2630 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
2631 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2645 assign(op2, get_gpr_w1(r2));
2646 assign(op3, get_gpr_w1(r3));
2647 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2661 assign(op2, get_gpr_dw0(r2));
2662 assign(op3, get_gpr_dw0(r3));
2663 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
2677 assign(op1, get_gpr_w1(r1));
2678 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2679 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2693 assign(op1, get_gpr_w1(r1));
2694 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2695 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2709 assign(op1, get_gpr_dw0(r1));
2710 assign(op2, load(Ity_I64, mkexpr(op2addr)));
2711 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2725 assign(op1, get_gpr_dw0(r1));
2726 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
2727 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2741 assign(op1, get_gpr_w1(r1));
2743 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2758 assign(op1, get_gpr_dw0(r1));
2760 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2776 assign(op3, get_gpr_w1(r3));
2777 assign(result, binop(Iop_Add32, mkU32((UInt)op2), mkexpr(op3)));
2793 assign(op3, get_gpr_dw0(r3));
2794 assign(result, binop(Iop_Add64, mkU64((ULong)op2), mkexpr(op3)));
2809 assign(op1, load(Ity_I32, mkexpr(op1addr)));
2811 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2826 assign(op1, load(Ity_I64, mkexpr(op1addr)));
2828 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2843 assign(op1, get_gpr_w1(r1));
2844 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
2845 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2859 assign(op1, get_gpr_w1(r1));
2860 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
2861 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2875 assign(op1, get_gpr_w1(r1));
2877 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2892 assign(op1, get_gpr_dw0(r1));
2894 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2909 assign(op2, get_gpr_w0(r2));
2910 assign(op3, get_gpr_w0(r3));
2911 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2925 assign(op2, get_gpr_w0(r2));
2926 assign(op3, get_gpr_w1(r3));
2927 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2941 assign(op1, get_gpr_w0(r1));
2943 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2958 assign(op1, get_gpr_w1(r1));
2959 assign(op2, get_gpr_w1(r2));
2960 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2974 assign(op1, get_gpr_dw0(r1));
2975 assign(op2, get_gpr_dw0(r2));
2976 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2990 assign(op1, get_gpr_dw0(r1));
2991 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
2992 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
3006 assign(op2, get_gpr_w1(r2));
3007 assign(op3, get_gpr_w1(r3));
3008 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
3022 assign(op2, get_gpr_dw0(r2));
3023 assign(op3, get_gpr_dw0(r3));
3024 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
3038 assign(op1, get_gpr_w1(r1));
3039 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3040 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
3054 assign(op1, get_gpr_w1(r1));
3055 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3056 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
3070 assign(op1, get_gpr_dw0(r1));
3071 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3072 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
3086 assign(op1, get_gpr_dw0(r1));
3087 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
3088 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
3102 assign(op1, get_gpr_w1(r1));
3104 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
3119 assign(op1, get_gpr_dw0(r1));
3121 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64(op2)));
3136 assign(op2, get_gpr_w0(r2));
3137 assign(op3, get_gpr_w0(r3));
3138 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
3152 assign(op2, get_gpr_w0(r2));
3153 assign(op3, get_gpr_w1(r3));
3154 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
3169 assign(op1, get_gpr_w1(r1));
3170 assign(op2, get_gpr_w1(r2));
3171 assign(carry_in, binop(Iop_Shr32, s390_call_calculate_cc(), mkU8(1)));
3172 assign(result, binop(Iop_Add32, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)),
3188 assign(op1, get_gpr_dw0(r1));
3189 assign(op2, get_gpr_dw0(r2));
3190 assign(carry_in, unop(Iop_32Uto64, binop(Iop_Shr32, s390_call_calculate_cc(),
3192 assign(result, binop(Iop_Add64, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)),
3208 assign(op1, get_gpr_w1(r1));
3209 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3210 assign(carry_in, binop(Iop_Shr32, s390_call_calculate_cc(), mkU8(1)));
3211 assign(result, binop(Iop_Add32, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)),
3227 assign(op1, get_gpr_dw0(r1));
3228 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3229 assign(carry_in, unop(Iop_32Uto64, binop(Iop_Shr32, s390_call_calculate_cc(),
3231 assign(result, binop(Iop_Add64, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)),
3246 assign(op1, load(Ity_I32, mkexpr(op1addr)));
3248 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
3263 assign(op1, load(Ity_I64, mkexpr(op1addr)));
3265 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64(op2)));
3281 assign(op3, get_gpr_w1(r3));
3282 assign(result, binop(Iop_Add32, mkU32(op2), mkexpr(op3)));
3298 assign(op3, get_gpr_dw0(r3));
3299 assign(result, binop(Iop_Add64, mkU64(op2), mkexpr(op3)));
3314 assign(op1, get_gpr_w0(r1));
3316 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
3331 assign(op1, get_gpr_w0(r1));
3333 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
3346 assign(op1, get_gpr_w1(r1));
3347 assign(op2, get_gpr_w1(r2));
3348 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
3362 assign(op1, get_gpr_dw0(r1));
3363 assign(op2, get_gpr_dw0(r2));
3364 assign(result, binop(Iop_And64, mkexpr(op1), mkexpr(op2)));
3378 assign(op2, get_gpr_w1(r2));
3379 assign(op3, get_gpr_w1(r3));
3380 assign(result, binop(Iop_And32, mkexpr(op2), mkexpr(op3)));
3394 assign(op2, get_gpr_dw0(r2));
3395 assign(op3, get_gpr_dw0(r3));
3396 assign(result, binop(Iop_And64, mkexpr(op2), mkexpr(op3)));
3410 assign(op1, get_gpr_w1(r1));
3411 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3412 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
3426 assign(op1, get_gpr_w1(r1));
3427 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3428 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
3442 assign(op1, get_gpr_dw0(r1));
3443 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3444 assign(result, binop(Iop_And64, mkexpr(op1), mkexpr(op2)));
3458 assign(op1, load(Ity_I8, mkexpr(op1addr)));
3460 assign(result, binop(Iop_And8, mkexpr(op1), mkU8(op2)));
3474 assign(op1, load(Ity_I8, mkexpr(op1addr)));
3476 assign(result, binop(Iop_And8, mkexpr(op1), mkU8(op2)));
3490 assign(op1, get_gpr_w0(r1));
3492 assign(result, binop(Iop_And32, mkexpr(op1), mkU32(op2)));
3506 assign(op1, get_gpr_hw0(r1));
3508 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3522 assign(op1, get_gpr_hw1(r1));
3524 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3538 assign(op1, get_gpr_w1(r1));
3540 assign(result, binop(Iop_And32, mkexpr(op1), mkU32(op2)));
3554 assign(op1, get_gpr_hw2(r1));
3556 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3570 assign(op1, get_gpr_hw3(r1));
3572 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3591 assign(target, get_gpr_dw0(r2));
3606 assign(target, mkexpr(op2addr));
3626 assign(cond, s390_call_calculate_cond(r1));
3647 assign(cond, s390_call_calculate_cond(r1));
3707 assign(value, get_gpr_w1(r3 | 1));
3720 assign(value, get_gpr_dw0(r3 | 1));
3733 assign(value, get_gpr_w1(r3 | 1));
3746 assign(value, get_gpr_dw0(r3 | 1));
3783 assign(cond, s390_call_calculate_cond(r1));
3805 assign(cond, s390_call_calculate_cond(r1));
3841 assign(value, get_gpr_w1(r3 | 1));
3854 assign(value, get_gpr_dw0(r3 | 1));
3867 assign(value, get_gpr_w1(r3 | 1));
3880 assign(value, get_gpr_dw0(r3 | 1));
3894 assign(op1, get_gpr_w1(r1));
3895 assign(op2, get_gpr_w1(r2));
3907 assign(op1, get_gpr_dw0(r1));
3908 assign(op2, get_gpr_dw0(r2));
3920 assign(op1, get_gpr_dw0(r1));
3921 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
3933 assign(op1, get_gpr_w1(r1));
3934 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3946 assign(op1, get_gpr_w1(r1));
3947 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3959 assign(op1, get_gpr_dw0(r1));
3960 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3972 assign(op1, get_gpr_dw0(r1));
3973 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
3985 assign(op1, get_gpr_w1(r1));
3999 assign(op1, get_gpr_dw0(r1));
4013 assign(op1, get_gpr_w1(r1));
4014 assign(op2, load(Ity_I32, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4027 assign(op1, get_gpr_dw0(r1));
4028 assign(op2, load(Ity_I64, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4041 assign(op1, get_gpr_dw0(r1));
4042 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkU64(guest_IA_curr_instr +
4061 assign(op1, get_gpr_w1(r1));
4062 assign(op2, get_gpr_w1(r2));
4063 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE,
4085 assign(op1, get_gpr_dw0(r1));
4086 assign(op2, get_gpr_dw0(r2));
4087 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE,
4110 assign(op1, get_gpr_w1(r1));
4111 assign(op2, get_gpr_w1(r2));
4112 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE,
4136 assign(op1, get_gpr_dw0(r1));
4137 assign(op2, get_gpr_dw0(r2));
4138 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE,
4161 assign(op1, get_gpr_w1(r1));
4163 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE, op1,
4185 assign(op1, get_gpr_dw0(r1));
4187 assign
4209 assign(op1, get_gpr_w1(r1));
4211 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE, op1,
4234 assign(op1, get_gpr_dw0(r1));
4236 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_SIGNED_COMPARE, op1,
4253 assign(op1, get_gpr_w1(r1));
4254 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
4266 assign(op1, get_gpr_w1(r1));
4267 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
4279 assign(op1, get_gpr_dw0(r1));
4280 assign(op2, unop(Iop_16Sto64, load(Ity_I16, mkexpr(op2addr))));
4292 assign(op1, get_gpr_w1(r1));
4306 assign(op1, get_gpr_dw0(r1));
4320 assign(op1, load(Ity_I16, mkexpr(op1addr)));
4334 assign(op1, load(Ity_I32, mkexpr(op1addr)));
4348 assign(op1, load(Ity_I64, mkexpr(op1addr)));
4362 assign(op1, get_gpr_w1(r1));
4363 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkU64(guest_IA_curr_instr +
4376 assign(op1, get_gpr_dw0(r1));
4377 assign(op2, unop(Iop_16Sto64, load(Ity_I16, mkU64(guest_IA_curr_instr +
4390 assign(op1, get_gpr_w0(r1));
4391 assign(op2, get_gpr_w0(r2));
4403 assign(op1, get_gpr_w0(r1));
4404 assign(op2, get_gpr_w1(r2));
4416 assign(op1, get_gpr_w0(r1));
4417 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4429 assign(op1, get_gpr_w0(r1));
4443 assign(op1, get_gpr_w1(r1));
4444 assign(op2, get_gpr_w1(r2));
4456 assign(op1, get_gpr_dw0(r1));
4457 assign(op2, get_gpr_dw0(r2));
4469 assign(op1, get_gpr_dw0(r1));
4470 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
4482 assign(op1, get_gpr_w1(r1));
4483 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4495 assign(op1, get_gpr_w1(r1));
4496 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4508 assign(op1, get_gpr_dw0(r1));
4509 assign(op2, load(Ity_I64, mkexpr(op2addr)));
4521 assign(op1, get_gpr_dw0(r1));
4522 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
4534 assign(op1, get_gpr_w1(r1));
4548 assign(op1, get_gpr_dw0(r1));
4562 assign(op1, load(Ity_I8, mkexpr(op1addr)));
4576 assign(op1, load(Ity_I8, mkexpr(op1addr)));
4590 assign(op1, load(Ity_I32, mkexpr(op1addr)));
4604 assign(op1, load(Ity_I64, mkexpr(op1addr)));
4618 assign(op1, load(Ity_I16, mkexpr(op1addr)));
4632 assign(op1, get_gpr_w1(r1));
4633 assign(op2, load(Ity_I32, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4646 assign(op1, get_gpr_dw0(r1));
4647 assign(op2, load(Ity_I64, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4660 assign(op1, get_gpr_dw0(r1));
4661 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkU64(guest_IA_curr_instr +
4674 assign(op1, get_gpr_w1(r1));
4675 assign(op2, unop(Iop_16Uto32, load(Ity_I16, mkU64(guest_IA_curr_instr +
4688 assign(op1, get_gpr_dw0(r1));
4689 assign(op2, unop(Iop_16Uto64, load(Ity_I16, mkU64(guest_IA_curr_instr +
4708 assign(op1, get_gpr_w1(r1));
4709 assign(op2, get_gpr_w1(r2));
4710 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE,
4732 assign(op1, get_gpr_dw0(r1));
4733 assign(op2, get_gpr_dw0(r2));
4734 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE,
4756 assign(op1, get_gpr_w1(r1));
4757 assign(op2, get_gpr_w1(r2));
4758 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE,
4781 assign(op1, get_gpr_dw0(r1));
4782 assign(op2, get_gpr_dw0(r2));
4783 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE,
4806 assign(op1, get_gpr_w1(r1));
4808 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE, op1,
4830 assign(op1, get_gpr_dw0(r1));
4832 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE, op1,
4854 assign(op1, get_gpr_w1(r1));
4856 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE, op1,
4879 assign(op1, get_gpr_dw0(r1));
4881 assign(cond, s390_call_calculate_icc(m3, S390_CC_OP_UNSIGNED_COMPARE, op1,
4909 assign(b0, unop(Iop_8Uto32, get_gpr_b4(r1)));
4910 assign(c0, unop(Iop_8Uto32, load(Ity_I8, mkexpr(op2addr))));
4913 assign(b0, mkU32(0));
4914 assign(c0, mkU32(0));
4917 assign(b1, unop(Iop_8Uto32, get_gpr_b5(r1)));
4918 assign(c1, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
4922 assign(b1, mkU32(0));
4923 assign(c1, mkU32(0));
4926 assign(b2, unop(Iop_8Uto32, get_gpr_b6(r1)));
4927 assign(c2, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
4931 assign(b2, mkU32(0));
4932 assign(c2, mkU32(0));
4935 assign(b3, unop(Iop_8Uto32, get_gpr_b7(r1)));
4936 assign(c3, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
4940 assign(b3, mkU32(0));
4941 assign(c3, mkU32(0));
4943 assign(op1, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
4946 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
4971 assign(b0, unop(Iop_8Uto32, get_gpr_b4(r1)));
4972 assign(c0, unop(Iop_8Uto32, load(Ity_I8, mkexpr(op2addr))));
4975 assign(b0, mkU32(0));
4976 assign(c0, mkU32(0));
4979 assign(b1, unop(Iop_8Uto32, get_gpr_b5(r1)));
4980 assign(c1, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
4984 assign(b1, mkU32(0));
4985 assign(c1, mkU32(0));
4988 assign(b2, unop(Iop_8Uto32, get_gpr_b6(r1)));
4989 assign(c2, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
4993 assign(b2, mkU32(0));
4994 assign(c2, mkU32(0));
4997 assign(b3, unop(Iop_8Uto32, get_gpr_b7(r1)));
4998 assign(c3, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
5002 assign(b3, mkU32(0));
5003 assign(c3, mkU32(0));
5005 assign(op1, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
5008 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
5033 assign(b0, unop(Iop_8Uto32, get_gpr_b0(r1)));
5034 assign(c0, unop(Iop_8Uto32, load(Ity_I8, mkexpr(op2addr))));
5037 assign(b0, mkU32(0));
5038 assign(c0, mkU32(0));
5041 assign(b1, unop(Iop_8Uto32, get_gpr_b1(r1)));
5042 assign(c1, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
5046 assign(b1, mkU32(0));
5047 assign(c1, mkU32(0));
5050 assign(b2, unop(Iop_8Uto32, get_gpr_b2(r1)));
5051 assign(c2, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
5055 assign(b2, mkU32(0));
5056 assign(c2, mkU32(0));
5059 assign(b3, unop(Iop_8Uto32, get_gpr_b3(r1)));
5060 assign(c3, unop(Iop_8Uto32, load(Ity_I8, binop(Iop_Add64, mkexpr(op2addr),
5064 assign(b3, mkU32(0));
5065 assign(c3, mkU32(0));
5067 assign(op1, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
5070 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
5084 assign(op1, get_gpr_w0(r1));
5085 assign(op2, get_gpr_w0(r2));
5097 assign(op1, get_gpr_w0(r1));
5098 assign(op2, get_gpr_w1(r2));
5110 assign(op1, get_gpr_w0(r1));
5111 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5123 assign(op1, get_gpr_w0(r1));
5149 assign(result, mkU32(0));
5151 assign(op1, get_gpr_w1(r1));
5152 assign(op2, get_gpr_w1(r2));
5153 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
5169 assign(result, mkU64(0));
5171 assign(op1, get_gpr_dw0(r1));
5172 assign(op2, get_gpr_dw0(r2));
5173 assign(result, binop(Iop_Xor64, mkexpr(op1), mkexpr(op2)));
5188 assign(op2, get_gpr_w1(r2));
5189 assign(op3, get_gpr_w1(r3));
5190 assign(result, binop(Iop_Xor32, mkexpr(op2), mkexpr(op3)));
5204 assign(op2, get_gpr_dw0(r2));
5205 assign(op3, get_gpr_dw0(r3));
5206 assign(result, binop(Iop_Xor64, mkexpr(op2), mkexpr(op3)));
5220 assign(op1, get_gpr_w1(r1));
5221 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5222 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
5236 assign(op1, get_gpr_w1(r1));
5237 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5238 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
5252 assign(op1, get_gpr_dw0(r1));
5253 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5254 assign(result, binop(Iop_Xor64, mkexpr(op1), mkexpr(op2)));
5268 assign(op1, load(Ity_I8, mkexpr(op1addr)));
5270 assign(result, binop(Iop_Xor8, mkexpr(op1), mkU8(op2)));
5284 assign(op1, load(Ity_I8, mkexpr(op1addr)));
5286 assign(result, binop(Iop_Xor8, mkexpr(op1), mkU8(op2)));
5300 assign(op1, get_gpr_w0(r1));
5302 assign(result, binop(Iop_Xor32, mkexpr(op1), mkU32(op2)));
5316 assign(op1, get_gpr_w1(r1));
5318 assign(result, binop(Iop_Xor32, mkexpr(op1), mkU32(op2)));
5379 assign(result, get_gpr_w1(r1));
5414 assign(result, get_gpr_w1(r1));
5449 assign(result, get_gpr_w0(r1));
5649 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5650 assign(op3, get_gpr_w1(r3));
5651 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
5683 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5684 assign(op3, get_gpr_dw0(r3));
5685 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
5717 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5718 assign(op3, get_gpr_w1(r3));
5719 assign(result, binop(op, mkexpr(op2), mkexpr(op3)));
5747 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5748 assign(op3, get_gpr_dw0(r3));
5749 assign(result, binop(op, mkexpr(op2), mkexpr(op3)));
5853 assign(op2, get_gpr_w1(r2));
5865 assign(op2, get_gpr_dw0(r2));
5877 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
5889 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5901 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5913 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
5968 assign(op2, get_gpr_w1(r2));
5969 assign(result, binop(Iop_Sub32, mkU32((UInt)op1), mkexpr(op2)));
5985 assign(op2, get_gpr_dw0(r2));
5986 assign(result, binop(Iop_Sub64, mkU64((ULong)op1), mkexpr(op2)));
6002 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
6003 assign(result, binop(Iop_Sub64, mkU64((ULong)op1), mkexpr(op2)));
6296 assign(op2, get_gpr_w1(r2));
6297 assign(result, mkite(binop(Iop_CmpLE32S, mkexpr(op2), mkU32(0)), mkexpr(op2),
6311 assign(op2, get_gpr_dw0(r2));
6312 assign(result, mkite(binop(Iop_CmpLE64S, mkexpr(op2), mkU64(0)), mkexpr(op2),
6326 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r1)));
6327 assign(result, mkite(binop(Iop_CmpLE64S, mkexpr(op2), mkU64(0)), mkexpr(op2),
6387 assign(op2, get_gpr_w1(r2));
6388 assign(result, mkite(binop(Iop_CmpLT32S, mkexpr(op2), mkU32(0)),
6402 assign(op2, get_gpr_dw0(r2));
6403 assign(result, mkite(binop(Iop_CmpLT64S, mkexpr(op2), mkU64(0)),
6417 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
6418 assign(result, mkite(binop(Iop_CmpLT64S, mkexpr(op2), mkU64(0)),
6434 assign(b3, get_gpr_b7(r2));
6435 assign(b2, get_gpr_b6(r2));
6436 assign(b1, get_gpr_b5(r2));
6437 assign(b0, get_gpr_b4(r2));
6458 assign(b7, get_gpr_b7(r2));
6459 assign(b6, get_gpr_b6(r2));
6460 assign(b5, get_gpr_b5(r2));
6461 assign(b4, get_gpr_b4(r2));
6462 assign(b3, get_gpr_b3(r2));
6463 assign(b2, get_gpr_b2(r2));
6464 assign(b1, get_gpr_b1(r2));
6465 assign(b0, get_gpr_b0(r2));
6483 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6495 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6512 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6579 assign(op1, get_gpr_w1(r1 + 1));
6580 assign(op2, get_gpr_w1(r2));
6581 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6595 assign(op1, get_gpr_w1(r1 + 1));
6596 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6597 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6611 assign(op1, get_gpr_w1(r1 + 1));
6612 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6613 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6627 assign(op1, get_gpr_w1(r1));
6628 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6629 assign(result, binop(Iop_MullS32, mkexpr(op1), unop(Iop_16Sto32, mkexpr(op2))
6643 assign(op1, get_gpr_w1(r1));
6644 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6645 assign(result, binop(Iop_MullS32, mkexpr(op1), unop(Iop_16Sto32, mkexpr(op2))
6659 assign(op1, get_gpr_w1(r1));
6661 assign(result, binop(Iop_MullS32, mkexpr(op1), unop(Iop_16Sto32,
6675 assign(op1, get_gpr_dw0(r1));
6677 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_16Sto64,
6691 assign(op1, get_gpr_w1(r1 + 1));
6692 assign(op2, get_gpr_w1(r2));
6693 assign(result, binop(Iop_MullU32, mkexpr(op1), mkexpr(op2)));
6707 assign(op1, get_gpr_dw0(r1 + 1));
6708 assign(op2, get_gpr_dw0(r2));
6709 assign(result, binop(Iop_MullU64, mkexpr(op1), mkexpr(op2)));
6723 assign(op1, get_gpr_w1(r1 + 1));
6724 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6725 assign(result, binop(Iop_MullU32, mkexpr(op1), mkexpr(op2)));
6739 assign(op1, get_gpr_dw0(r1 + 1));
6740 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6741 assign(result, binop(Iop_MullU64, mkexpr(op1), mkexpr(op2)));
6755 assign(op1, get_gpr_w1(r1));
6756 assign(op2, get_gpr_w1(r2));
6757 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6770 assign(op1, get_gpr_dw0(r1));
6771 assign(op2, get_gpr_dw0(r2));
6772 assign(result, binop(Iop_MullS64, mkexpr(op1), mkexpr(op2)));
6785 assign(op1, get_gpr_dw0(r1));
6786 assign(op2, get_gpr_w1(r2));
6787 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_32Sto64, mkexpr(op2))
6801 assign(op1, get_gpr_w1(r1));
6802 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6803 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6816 assign(op1, get_gpr_w1(r1));
6817 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6818 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6831 assign(op1, get_gpr_dw0(r1));
6832 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6833 assign(result, binop(Iop_MullS64, mkexpr(op1), mkexpr(op2)));
6846 assign(op1, get_gpr_dw0(r1));
6847 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6848 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_32Sto64, mkexpr(op2))
6862 assign(op1, get_gpr_w1(r1));
6864 assign(result, binop(Iop_MullS32, mkexpr(op1), mkU32((UInt)op2)));
6877 assign(op1, get_gpr_dw0(r1));
6879 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_32Sto64, mkU32((UInt)
6893 assign(op1, get_gpr_w1(r1));
6894 assign(op2, get_gpr_w1(r2));
6895 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6909 assign(op1, get_gpr_dw0(r1));
6910 assign(op2, get_gpr_dw0(r2));
6911 assign(result, binop(Iop_Or64, mkexpr(op1), mkexpr(op2)));
6925 assign(op2, get_gpr_w1(r2));
6926 assign(op3, get_gpr_w1(r3));
6927 assign(result, binop(Iop_Or32, mkexpr(op2), mkexpr(op3)));
6941 assign(op2, get_gpr_dw0(r2));
6942 assign(op3, get_gpr_dw0(r3));
6943 assign(result, binop(Iop_Or64, mkexpr(op2), mkexpr(op3)));
6957 assign(op1, get_gpr_w1(r1));
6958 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6959 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6973 assign(op1, get_gpr_w1(r1));
6974 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6975 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6989 assign(op1, get_gpr_dw0(r1));
6990 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6991 assign(result, binop(Iop_Or64, mkexpr(op1), mkexpr(op2)));
7005 assign(op1, load(Ity_I8, mkexpr(op1addr)));
7007 assign(result, binop(Iop_Or8, mkexpr(op1), mkU8(op2)));
7021 assign(op1, load(Ity_I8, mkexpr(op1addr)));
7023 assign(result, binop(Iop_Or8, mkexpr(op1), mkU8(op2)));
7037 assign(op1, get_gpr_w0(r1));
7039 assign(result, binop(Iop_Or32, mkexpr(op1), mkU32(op2)));
7053 assign(op1, get_gpr_hw0(r1));
7055 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
7069 assign(op1, get_gpr_hw1(r1));
7071 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
7085 assign(op1, get_gpr_w1(r1));
7087 assign(result, binop(Iop_Or32, mkexpr(op1), mkU32(op2)));
7101 assign(op1, get_gpr_hw2(r1));
7103 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
7117 assign(op1, get_gpr_hw3(r1));
7119 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
7150 assign(rm_bits, binop(Iop_And32, get_gpr_w1(0), mkU32(0xf)));
7243 assign(gr0, get_gpr_w1(0));
7245 assign(fn, binop(Iop_And32, binop(Iop_Shr32, mkexpr(gr0), mkU8(8)),
7248 assign(test_bit, binop(Iop_And32, binop(Iop_Shr32, mkexpr(gr0), mkU8(31)),
7253 assign(src1, get_fpr_w0(4)); /* get source from FPR 4,6 */
7264 assign(ef, s390_call_pfpo_helper(unop(Iop_32Uto64, mkexpr(gr0))));
7283 assign(dst1, binop(Iop_F32toD32, irrm, mkexpr(src1)));
7290 assign(src2, get_fpr_w0(4)); /* get source from FPR 4,6 */
7291 assign(dst2, binop(Iop_F32toD64, irrm, mkexpr(src2)));
7298 assign(src3, get_fpr_w0(4)); /* get source from FPR 4,6 */
7299 assign(dst3, binop(Iop_F32toD128, irrm, mkexpr(src3)));
7306 assign(src4, get_fpr_dw0(4)); /* get source from FPR 4,6 */
7307 assign(dst4, binop(Iop_F64toD32, irrm, mkexpr(src4)));
7314 assign(src5, get_fpr_dw0(4)); /* get source from FPR 4,6 */
7315 assign(dst5, binop(Iop_F64toD64, irrm, mkexpr(src5)));
7322 assign(src6, get_fpr_dw0(4)); /* get source from FPR 4,6 */
7323 assign(dst6, binop(Iop_F64toD128, irrm, mkexpr(src6)));
7330 assign(src7, get_fpr_pair(4)); /* get source from FPR 4,6 */
7331 assign(dst7, binop(Iop_F128toD32, irrm, mkexpr(src7)));
7338 assign(src8, get_fpr_pair(4)); /* get source from FPR 4,6 */
7339 assign(dst8, binop(Iop_F128toD64, irrm, mkexpr(src8)));
7346 assign(src9, get_fpr_pair(4)); /* get source from FPR 4,6 */
7347 assign(dst9, binop(Iop_F128toD128, irrm, mkexpr(src9)));
7354 assign(src10, get_dpr_w0(4)); /* get source from FPR 4,6 */
7355 assign(dst10, binop(Iop_D32toF32, irrm, mkexpr(src10)));
7362 assign(src11, get_dpr_w0(4)); /* get source from FPR 4,6 */
7363 assign(dst11, binop(Iop_D32toF64, irrm, mkexpr(src11)));
7370 assign(src12, get_dpr_w0(4)); /* get source from FPR 4,6 */
7371 assign(dst12, binop(Iop_D32toF128, irrm, mkexpr(src12)));
7378 assign(src13, get_dpr_dw0(4)); /* get source from FPR 4,6 */
7379 assign(dst13, binop(Iop_D64toF32, irrm, mkexpr(src13)));
7386 assign(src14, get_dpr_dw0(4)); /* get source from FPR 4,6 */
7387 assign(dst14, binop(Iop_D64toF64, irrm, mkexpr(src14)));
7394 assign(src15, get_dpr_dw0(4)); /* get source from FPR 4,6 */
7395 assign(dst15, binop(Iop_D64toF128, irrm, mkexpr(src15)));
7402 assign(src16, get_dpr_pair(4)); /* get source from FPR 4,6 */
7403 assign(dst16, binop(Iop_D128toF32, irrm, mkexpr(src16)));
7410 assign(src17, get_dpr_pair(4)); /* get source from FPR 4,6 */
7411 assign(dst17, binop(Iop_D128toF64, irrm, mkexpr(src17)));
7418 assign(src18, get_dpr_pair(4)); /* get source from FPR 4,6 */
7419 assign(dst18, binop(Iop_D128toF128, irrm, mkexpr(src18)));
7434 assign(amount, binop(Iop_And64, mkexpr(op2addr), mkU64(31)));
7435 assign(op, get_gpr_w1(r3));
7449 assign(amount, binop(Iop_And64, mkexpr(op2addr), mkU64(63)));
7450 assign(op, get_gpr_dw0(r3));
7474 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
7486 assign(result, binop(Iop_And64, binop(Iop_And64, get_gpr_dw0(r1), mkexpr(op2)
7513 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
7525 assign(result, binop(Iop_And64, binop(Iop_Xor64, get_gpr_dw0(r1), mkexpr(op2)
7552 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
7564 assign(result, binop(Iop_And64, binop(Iop_Or64, get_gpr_dw0(r1), mkexpr(op2)
7591 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
7609 assign(result, get_gpr_dw0(r1));
7635 assign(p1, unop(Iop_32Uto64, get_gpr_w1(r1)));
7636 assign(p2, unop(Iop_32Uto64, get_gpr_w1(r1 + 1)));
7637 assign(op, binop(Iop_Or64, binop(Iop_Shl64, mkexpr(p1), mkU8(32)), mkexpr(p2)
7640 assign(shift_amount, binop(Iop_And64, mkexpr(op2addr), mkU64(63)));
7641 assign(result, binop(Iop_Or64, binop(Iop_And64, binop(Iop_Shl64, mkexpr(op),
7658 assign(p1, unop(Iop_32Uto64, get_gpr_w1(r1)));
7659 assign(p2, unop(Iop_32Uto64, get_gpr_w1(r1 + 1)));
7660 assign(result, binop(Iop_Shl64, binop(Iop_Or64, binop(Iop_Shl64, mkexpr(p1),
7678 assign(op, get_gpr_w1(r1));
7679 assign(uop, get_gpr_w1(r1));
7681 assign(shift_amount, binop(Iop_And64, mkexpr(op2addr), mkU64(63)));
7682 assign(result, binop(Iop_Or32, binop(Iop_And32, binop(Iop_Shl32, mkexpr(uop),
7700 assign(op, get_gpr_w1(r3));
7701 assign(uop, get_gpr_w1(r3));
7703 assign(shift_amount, binop(Iop_And64, mkexpr(op2addr), mkU64(63)));
7704 assign(result, binop(Iop_Or32, binop(Iop_And32, binop(Iop_Shl32, mkexpr(uop),
7722 assign(op, get_gpr_dw0(r3));
7723 assign(uop, get_gpr_dw0(r3));
7725 assign(shift_amount, binop(Iop_And64, mkexpr(op2addr), mkU64(63)));
7726 assign(result, binop(Iop_Or64, binop(Iop_And64, binop(Iop_Shl64, mkexpr(uop),
7769 assign(p1, unop(Iop_32Uto64, get_gpr_w1(r1)));
7770 assign(p2, unop(Iop_32Uto64, get_gpr_w1(r1 + 1)));
7771 assign(result, binop(Iop_Sar64, binop(Iop_Or64, binop(Iop_Shl64, mkexpr(p1),
7788 assign(p1, unop(Iop_32Uto64, get_gpr_w1(r1)));
7789 assign(p2, unop(Iop_32Uto64, get_gpr_w1(r1 + 1)));
7790 assign(result, binop(Iop_Shr64, binop(Iop_Or64, binop(Iop_Shl64, mkexpr(p1),
7805 assign(op, get_gpr_w1(r1));
7806 assign(result, binop(Iop_Sar32, mkexpr(op), unop(Iop_64to8, binop(Iop_And64,
7820 assign(op, get_gpr_w1(r3));
7821 assign(result, binop(Iop_Sar32, mkexpr(op), unop(Iop_64to8, binop(Iop_And64,
7835 assign(op, get_gpr_dw0(r3));
7836 assign(result, binop(Iop_Sar64, mkexpr(op), unop(Iop_64to8, binop(Iop_And64,
7849 assign(op, get_gpr_w1(r1));
7861 assign(op, get_gpr_w1(r3));
7873 assign(op, get_gpr_dw0(r3));
8137 assign(op1, get_gpr_w1(r1));
8138 assign(op2, get_gpr_w1(r2));
8139 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8153 assign(op1, get_gpr_dw0(r1));
8154 assign(op2, get_gpr_dw0(r2));
8155 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8169 assign(op1, get_gpr_dw0(r1));
8170 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
8171 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8185 assign(op2, get_gpr_w1(r2));
8186 assign(op3, get_gpr_w1(r3));
8187 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8201 assign(op2, get_gpr_dw0(r2));
8202 assign(op3, get_gpr_dw0(r3));
8203 assign(result, binop(Iop_Sub64, mkexpr(op2), mkexpr(op3)));
8217 assign(op1, get_gpr_w1(r1));
8218 assign(op2, load(Ity_I32, mkexpr(op2addr)));
8219 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8233 assign(op1, get_gpr_w1(r1));
8234 assign(op2, load(Ity_I32, mkexpr(op2addr)));
8235 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8249 assign(op1, get_gpr_dw0(r1));
8250 assign(op2, load(Ity_I64, mkexpr(op2addr)));
8251 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8265 assign(op1, get_gpr_dw0(r1));
8266 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
8267 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8281 assign(op1, get_gpr_w1(r1));
8282 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
8283 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8297 assign(op1, get_gpr_w1(r1));
8298 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
8299 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8313 assign(op2, get_gpr_w0(r1));
8314 assign(op3, get_gpr_w0(r2));
8315 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8329 assign(op2, get_gpr_w0(r1));
8330 assign(op3, get_gpr_w1(r2));
8331 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8345 assign(op1, get_gpr_w1(r1));
8346 assign(op2, get_gpr_w1(r2));
8347 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8361 assign(op1, get_gpr_dw0(r1));
8362 assign(op2, get_gpr_dw0(r2));
8363 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8377 assign(op1, get_gpr_dw0(r1));
8378 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
8379 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8393 assign(op2, get_gpr_w1(r2));
8394 assign(op3, get_gpr_w1(r3));
8395 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8409 assign(op2, get_gpr_dw0(r2));
8410 assign(op3, get_gpr_dw0(r3));
8411 assign(result, binop(Iop_Sub64, mkexpr(op2), mkexpr(op3)));
8425 assign(op1, get_gpr_w1(r1));
8426 assign(op2, load(Ity_I32, mkexpr(op2addr)));
8427 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8441 assign(op1, get_gpr_w1(r1));
8442 assign(op2, load(Ity_I32, mkexpr(op2addr)));
8443 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
8457 assign(op1, get_gpr_dw0(r1));
8458 assign(op2, load(Ity_I64, mkexpr(op2addr)));
8459 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8473 assign(op1, get_gpr_dw0(r1));
8474 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
8475 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
8489 assign(op1, get_gpr_w1(r1));
8491 assign(result, binop(Iop_Sub32, mkexpr(op1), mkU32(op2)));
8506 assign(op1, get_gpr_dw0(r1));
8508 assign(result, binop(Iop_Sub64, mkexpr(op1), mkU64(op2)));
8523 assign(op2, get_gpr_w0(r1));
8524 assign(op3, get_gpr_w0(r2));
8525 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8539 assign(op2, get_gpr_w0(r1));
8540 assign(op3, get_gpr_w1(r2));
8541 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
8556 assign(op1, get_gpr_w1(r1));
8557 assign(op2, get_gpr_w1(r2));
8558 assign(borrow_in, binop(Iop_Sub32, mkU32(1), binop(Iop_Shr32,
8560 assign(result, binop(Iop_Sub32, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)),
8576 assign(op1, get_gpr_dw0(r1));
8577 assign(op2, get_gpr_dw0(r2));
8578 assign(borrow_in, unop(Iop_32Uto64, binop(Iop_Sub32, mkU32(1),
8580 assign(result, binop(Iop_Sub64, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)),
8596 assign(op1, get_gpr_w1(r1));
8597 assign(op2, load(Ity_I32, mkexpr(op2addr)));
8598 assign(borrow_in, binop(Iop_Sub32, mkU32(1), binop(Iop_Shr32,
8600 assign(result, binop(Iop_Sub32, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)),
8616 assign(op1, get_gpr_dw0(r1));
8617 assign(op2, load(Ity_I64, mkexpr(op2addr)));
8618 assign(borrow_in, unop(Iop_32Uto64, binop(Iop_Sub32, mkU32(1),
8620 assign(result, binop(Iop_Sub64, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)),
8634 assign(sysno, mkU64(i));
8636 assign(sysno, unop(Iop_32Uto64, get_gpr_w1(1)));
8650 assign(value, load(Ity_I8, mkexpr(op1addr)));
8664 assign(value, load(Ity_I8, mkexpr(op1addr)));
8678 assign(value, get_gpr_hw0(r1));
8692 assign(value, get_gpr_hw1(r1));
8706 assign(value, get_gpr_hw2(r1));
8720 assign(value, get_gpr_hw3(r1));
8948 assign(op1, get_fpr_w0(r1));
8949 assign(op2, get_fpr_w0(r2));
8950 assign(result, triop(Iop_AddF32, mkexpr(rounding_mode), mkexpr(op1),
8966 assign(op1, get_fpr_dw0(r1));
8967 assign(op2, get_fpr_dw0(r2));
8968 assign(result, triop(Iop_AddF64, mkexpr(rounding_mode), mkexpr(op1),
8984 assign(op1, get_fpr_w0(r1));
8985 assign(op2, load(Ity_F32, mkexpr(op2addr)));
8986 assign(result, triop(Iop_AddF32, mkexpr(rounding_mode), mkexpr(op1),
9002 assign(op1, get_fpr_dw0(r1));
9003 assign(op2, load(Ity_F64, mkexpr(op2addr)));
9004 assign(result, triop(Iop_AddF64, mkexpr(rounding_mode), mkexpr(op1),
9022 assign(op2, get_gpr_w1(r2));
9035 assign(op2, get_gpr_w1(r2));
9051 assign(op2, get_gpr_dw0(r2));
9068 assign(op2, get_gpr_dw0(r2));
9084 assign(op2, get_gpr_w1(r2));
9100 assign(op2, get_gpr_w1(r2));
9115 assign(op2, get_gpr_dw0(r2));
9131 assign(op2, get_gpr_dw0(r2));
9150 assign(op, get_fpr_w0(r2));
9151 assign(result, binop(Iop_F32toI32U, mkexpr(rounding_mode),
9170 assign(op, get_fpr_dw0(r2));
9171 assign(result, binop(Iop_F64toI32U, mkexpr(rounding_mode),
9190 assign(op, get_fpr_w0(r2));
9191 assign(result, binop(Iop_F32toI64U, mkexpr(rounding_mode),
9210 assign(op, get_fpr_dw0(r2));
9211 assign(result, binop(Iop_F64toI64U, mkexpr(rounding_mode),
9227 assign(op, get_fpr_w0(r2));
9228 assign(result, binop(Iop_F32toI32S, mkexpr(rounding_mode),
9244 assign(op, get_fpr_dw0(r2));
9245 assign(result, binop(Iop_F64toI32S, mkexpr(rounding_mode),
9261 assign(op, get_fpr_w0(r2));
9262 assign(result, binop(Iop_F32toI64S, mkexpr(rounding_mode),
9278 assign(op, get_fpr_dw0(r2));
9279 assign(result, binop(Iop_F64toI64S, mkexpr(rounding_mode),
9295 assign(op1, get_fpr_w0(r1));
9296 assign(op2, get_fpr_w0(r2));
9297 assign(result, triop(Iop_DivF32, mkexpr(rounding_mode), mkexpr(op1),
9312 assign(op1, get_fpr_dw0(r1));
9313 assign(op2, get_fpr_dw0(r2));
9314 assign(result, triop(Iop_DivF64, mkexpr(rounding_mode), mkexpr(op1),
9329 assign(op1, get_fpr_w0(r1));
9330 assign(op2, load(Ity_F32, mkexpr(op2addr)));
9331 assign(result, triop(Iop_DivF32, mkexpr(rounding_mode), mkexpr(op1),
9346 assign(op1, get_fpr_dw0(r1));
9347 assign(op2, load(Ity_F64, mkexpr(op2addr)));
9348 assign(result, triop(Iop_DivF64, mkexpr(rounding_mode), mkexpr(op1),
9360 assign(result, get_fpr_w0(r2));
9372 assign(result, get_fpr_dw0(r2));
9384 assign(result, unop(Iop_NegF32, get_fpr_w0(r2)));
9396 assign(result, unop(Iop_NegF64, get_fpr_dw0(r2)));
9408 assign(op, get_fpr_w0(r2));
9419 assign(op, load(Ity_F32, mkexpr(op2addr)));
9435 assign(op, get_fpr_dw0(r2));
9451 assign(op1, get_fpr_w0(r1));
9452 assign(op2, get_fpr_w0(r2));
9453 assign(result, triop(Iop_MulF32, mkexpr(rounding_mode), mkexpr(op1),
9468 assign(op1, get_fpr_dw0(r1));
9469 assign(op2, get_fpr_dw0(r2));
9470 assign(result, triop(Iop_MulF64, mkexpr(rounding_mode), mkexpr(op1),
9485 assign(op1, get_fpr_w0(r1));
9486 assign(op2, load(Ity_F32, mkexpr(op2addr)));
9487 assign(result, triop(Iop_MulF32, mkexpr(rounding_mode), mkexpr(op1),
9502 assign(op1, get_fpr_dw0(r1));
9503 assign(op2, load(Ity_F64, mkexpr(op2addr)));
9504 assign(result, triop(Iop_MulF64, mkexpr(rounding_mode), mkexpr(op1),
9519 assign(op1, get_fpr_w0(r1));
9520 assign(op2, get_fpr_w0(r2));
9521 assign(result, triop(Iop_SubF32, mkexpr(rounding_mode), mkexpr(op1),
9537 assign(op1, get_fpr_dw0(r1));
9538 assign(op2, get_fpr_dw0(r2));
9539 assign(result, triop(Iop_SubF64, mkexpr(rounding_mode), mkexpr(op1),
9555 assign(op1, get_fpr_w0(r1));
9556 assign(op2, load(Ity_F32, mkexpr(op2addr)));
9557 assign(result, triop(Iop_SubF32, mkexpr(rounding_mode), mkexpr(op1),
9573 assign(op1, get_fpr_dw0(r1));
9574 assign(op2, load(Ity_F64, mkexpr(op2addr)));
9575 assign(result, triop(Iop_SubF64, mkexpr(rounding_mode), mkexpr(op1),
9599 assign(op1, get_dpr_dw0(r2));
9600 assign(op2, get_dpr_dw0(r3));
9601 assign(result, triop(Iop_AddD64, mkexpr(rounding_mode), mkexpr(op1),
9625 assign(op1, get_dpr_pair(r2));
9626 assign(op2, get_dpr_pair(r3));
9627 assign(result, triop(Iop_AddD128, mkexpr(rounding_mode), mkexpr(op1),
9644 assign(op1, get_dpr_dw0(r1));
9645 assign(op2, get_dpr_dw0(r2));
9646 assign(cc_vex, binop(Iop_CmpD64, mkexpr(op1), mkexpr(op2)));
9648 assign(cc_s390, convert_vex_dfpcc_to_s390(cc_vex));
9662 assign(op1, get_dpr_pair(r1));
9663 assign(op2, get_dpr_pair(r2));
9664 assign(cc_vex, binop(Iop_CmpD128, mkexpr(op1), mkexpr(op2)));
9666 assign(cc_s390, convert_vex_dfpcc_to_s390(cc_vex));
9683 assign(op2, get_gpr_w1(r2));
9700 assign(op2, get_gpr_w1(r2));
9718 assign(op2, get_gpr_dw0(r2));
9736 assign(op2, get_gpr_dw0(r2));
9753 assign(op2, get_gpr_w1(r2));
9770 assign(op2, get_gpr_w1(r2));
9787 assign(op2, get_gpr_dw0(r2));
9806 assign(op2, get_gpr_dw0(r2));
9825 assign(op, get_dpr_dw0(r2));
9826 assign(result, binop(Iop_D64toI32S, mkexpr(rounding_mode),
9847 assign(op, get_dpr_pair(r2));
9848 assign(result, binop(Iop_D128toI32S, mkexpr(rounding_mode),
9872 assign(op, get_dpr_dw0(r2));
9894 assign(op, get_dpr_pair(r2));
9910 assign(op1, get_dpr_dw0(r1));
9911 assign(op2, get_dpr_dw0(r2));
9912 assign(cc_vex, binop(Iop_CmpExpD64, mkexpr(op1), mkexpr(op2)));
9914 assign(cc_s390, convert_vex_dfpcc_to_s390(cc_vex));
9929 assign(op1, get_dpr_pair(r1));
9930 assign(op2, get_dpr_pair(r2));
9931 assign(cc_vex, binop(Iop_CmpExpD128, mkexpr(op1), mkexpr(op2)));
9933 assign(cc_s390, convert_vex_dfpcc_to_s390(cc_vex));
9952 assign(op, get_dpr_dw0(r2));
9953 assign(result, binop(Iop_D64toI32U, mkexpr(rounding_mode),
9974 assign(op, get_dpr_pair(r2));
9975 assign(result, binop(Iop_D128toI32U, mkexpr(rounding_mode),
9996 assign(op, get_dpr_dw0(r2));
9997 assign(result, binop(Iop_D64toI64U, mkexpr(rounding_mode),
10018 assign(op, get_dpr_pair(r2));
10019 assign(result, binop(Iop_D128toI64U, mkexpr(rounding_mode),
10044 assign(op1, get_dpr_dw0(r2));
10045 assign(op2, get_dpr_dw0(r3));
10046 assign(result, triop(Iop_DivD64, mkexpr(rounding_mode), mkexpr(op1),
10069 assign(op1, get_dpr_pair(r2));
10070 assign(op2, get_dpr_pair(r3));
10071 assign(result, triop(Iop_DivD128, mkexpr(rounding_mode), mkexpr(op1),
10121 assign(op1, get_gpr_dw0(r2));
10122 assign(op2, get_dpr_dw0(r3));
10123 assign(result, binop(Iop_InsertExpD64, mkexpr(op1), mkexpr(op2)));
10138 assign(op1, get_gpr_dw0(r2));
10139 assign(op2, get_dpr_pair(r3));
10140 assign(result, binop(Iop_InsertExpD128, mkexpr(op1), mkexpr(op2)));
10153 assign(op, get_dpr_w0(r2));
10164 assign(op, get_dpr_dw0(r2));
10184 assign(result, binop(Iop_D128toD64, mkexpr(encode_dfp_rounding_mode(m3)),
10205 assign(op, get_dpr_dw0(r2));
10217 assign(result, get_dpr_dw0(r2));
10229 assign(result, get_dpr_pair(r2));
10252 assign(op1, get_dpr_dw0(r2));
10253 assign(op2, get_dpr_dw0(r3));
10254 assign(result, triop(Iop_MulD64, mkexpr(rounding_mode), mkexpr(op1),
10277 assign(op1, get_dpr_pair(r2));
10278 assign(op2, get_dpr_pair(r3));
10279 assign(result, triop(Iop_MulD128, mkexpr(rounding_mode), mkexpr(op1),
10303 assign(op1, get_dpr_dw0(r2));
10304 assign(op2, get_dpr_dw0(r3));
10305 assign(result, triop(Iop_QuantizeD64, mkexpr(rounding_mode), mkexpr(op1),
10329 assign(op1, get_dpr_pair(r2));
10330 assign(op2, get_dpr_pair(r3));
10331 assign(result, triop(Iop_QuantizeD128, mkexpr(rounding_mode), mkexpr(op1),
10355 assign(op1, get_gpr_b7(r2));
10356 assign(op2, get_dpr_dw0(r3));
10357 assign(result, triop(Iop_SignificanceRoundD64, mkexpr(rounding_mode),
10381 assign(op1, get_gpr_b7(r2));
10382 assign(op2, get_dpr_pair(r3));
10383 assign(result, triop(Iop_SignificanceRoundD128, mkexpr(rounding_mode),
10406 assign(op1, get_dpr_dw0(r2));
10407 assign(op2, get_dpr_dw0(r3));
10408 assign(result, triop(Iop_SubD64, mkexpr(rounding_mode), mkexpr(op1),
10432 assign(op1, get_dpr_pair(r2));
10433 assign(op2, get_dpr_pair(r3));
10434 assign(result, triop(Iop_SubD128, mkexpr(rounding_mode), mkexpr(op1),
10450 assign(op, get_dpr_dw0(r3));
10464 assign(op, get_dpr_pair(r3));
10478 assign(op, get_dpr_dw0(r3));
10492 assign(op, get_dpr_pair(r3));
10505 assign(value, get_dpr_w0(r1));
10518 assign(value, get_dpr_dw0(r1));
10531 assign(value, get_dpr_pair(r1));
10544 assign(value, get_dpr_w0(r1));
10557 assign(value, get_dpr_dw0(r1));
10570 assign(value, get_dpr_pair(r1));
10582 assign(len, mkU64(length));
10603 assign(addr1, get_gpr_dw0(r1));
10604 assign(r1p1, get_gpr_w1(r1 + 1));
10605 assign(len1, binop(Iop_And32, mkexpr(r1p1), mkU32(0x00ffffff)));
10606 assign(addr2, get_gpr_dw0(r2));
10607 assign(r2p1, get_gpr_w1(r2 + 1));
10608 assign(len2, binop(Iop_And32, mkexpr(r2p1), mkU32(0x00ffffff)));
10609 assign(pad, get_gpr_b4(r2 + 1));
10621 assign(addr1_load,
10624 assign(single1,
10628 assign(addr2_load,
10631 assign(single2,
10682 assign(addr1, get_gpr_dw0(r1));
10683 assign(len1, get_gpr_dw0(r1 + 1));
10684 assign(addr3, get_gpr_dw0(r3));
10685 assign(len3, get_gpr_dw0(r3 + 1));
10695 assign(addr1_load,
10700 assign(addr3_load,
10704 assign(single1,
10709 assign(single3,
10771 assign(counter, get_counter_dw0());
10774 assign(current1, load(Ity_I8, binop(Iop_Add64, mkexpr(start1),
10776 assign(current2, load(Ity_I8, binop(Iop_Add64, mkexpr(start2),
10795 assign(counter, get_counter_dw0());
10814 assign(counter, get_counter_dw0());
10816 assign(op, load(Ity_I8, binop(Iop_Add64, mkexpr(start1), mkexpr(counter))));
10818 assign(result, binop(Iop_Add64, unop(Iop_8Uto64, mkexpr(op)), mkexpr(start2)));
10820 assign(op1, load(Ity_I8, mkexpr(result)));
10856 assign(torun, load(Ity_I64, mkexpr(addr2)));
10858 assign(cond, binop(Iop_CmpNE64, mkexpr(torun), mkU64(last_execute_target)));
10872 assign(start1, binop(Iop_Add64, mkU64(ss.dec.d1),
10874 assign(start2, binop(Iop_Add64, mkU64(ss.dec.d2),
10876 assign(len, unop(lensize == 64 ? Iop_8Uto64 : Iop_8Uto32, binop(Iop_Or8,
10954 assign(orperand, mkU64(0));
10956 assign(orperand, unop(Iop_8Uto64,get_gpr_b7(r1)));
10958 assign(torun, binop(Iop_Or64, load(Ity_I64, mkexpr(addr2)),
10962 assign(cond, binop(Iop_CmpNE64, mkexpr(torun),
10996 assign(addr, mkU64(guest_IA_curr_instr + offset * 2UL));
11021 assign(address, get_gpr_dw0(r2));
11022 assign(next, get_gpr_dw0(r1));
11024 assign(counter, get_counter_dw0());
11032 assign(byte, load(Ity_I8, mkexpr(address)));
11033 assign(delim, get_gpr_b7(0));
11060 assign(address1, get_gpr_dw0(r1));
11061 assign(address2, get_gpr_dw0(r2));
11062 assign(end, get_gpr_b7(0));
11063 assign(counter, get_counter_dw0());
11065 assign(byte1, load(Ity_I8, mkexpr(address1)));
11066 assign(byte2, load(Ity_I8, mkexpr(address2)));
11114 assign(addr, mkexpr(op2addr));
11122 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11149 assign(addr, mkexpr(op2addr));
11157 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11170 assign(addr, mkexpr(op2addr));
11178 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(8)));
11191 assign(addr, mkexpr(op2addr));
11199 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11226 assign(addr, mkexpr(op2addr));
11234 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11247 assign(addr, mkexpr(op2addr));
11255 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(8)));
11271 assign(counter, get_counter_w0());
11273 assign(addr1, binop(Iop_Add64, mkexpr(start1),
11276 assign(old1, load(Ity_I8, mkexpr(addr1)));
11277 assign(old2, load(Ity_I8, binop(Iop_Add64, mkexpr(start2),
11279 assign(new1, binop(op, mkexpr(old1), mkexpr(old2)));
11304 assign(len, mkU32(length));
11317 assign(start,
11327 assign(counter, get_counter_w0());
11329 assign(addr, binop(Iop_Add64, mkexpr(start),
11353 assign(len, mkU32(length));
11364 assign(len, mkU32(length));
11376 assign(len, mkU64(length));
11395 assign(addr1, get_gpr_dw0(r1));
11396 assign(r1p1, get_gpr_w1(r1 + 1));
11397 assign(len1, binop(Iop_And32, mkexpr(r1p1), mkU32(0x00ffffff)));
11398 assign(addr2, get_gpr_dw0(r2));
11399 assign(r2p1, get_gpr_w1(r2 + 1));
11400 assign(len2, binop(Iop_And32, mkexpr(r2p1), mkU32(0x00ffffff)));
11401 assign(pad, get_gpr_b4(r2 + 1));
11411 assign(cond1, unop(Iop_1Uto32,
11414 assign(cond2, unop(Iop_1Uto32,
11419 assign(cond3, unop(Iop_1Uto32,
11433 assign(addr2_load,
11436 assign(single,
11477 assign(addr1, get_gpr_dw0(r1));
11478 assign(len1, get_gpr_dw0(r1 + 1));
11479 assign(addr3, get_gpr_dw0(r3));
11480 assign(len3, get_gpr_dw0(r3 + 1));
11489 assign(addr3_load,
11493 assign(single,
11527 assign(addr1, get_gpr_dw0(r1));
11528 assign(addr2, get_gpr_dw0(r2));
11529 assign(counter, get_counter_dw0());
11530 assign(end, get_gpr_b7(0));
11531 assign(byte, load(Ity_I8, binop(Iop_Add64, mkexpr(addr2),mkexpr(counter))));
11552 assign(op1, binop(Iop_32HLto64,
11555 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
11566 assign(op1, binop(Iop_64HLto128,
11569 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
11580 assign(op1, get_gpr_dw0(r1 + 1));
11581 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
11591 assign(op2, get_gpr_w1(r2));
11603 assign(op2, load(Ity_I32, mkexpr(op2addr)));
11615 assign(op2, get_gpr_w1(r2));
11627 assign(op2, load(Ity_I32, mkexpr(op2addr)));
11639 assign(op2, load(Ity_I64, mkexpr(op2addr)));
11651 assign(op2, get_gpr_dw0(r2));
11663 assign(op2, get_gpr_dw0(r2));
11675 assign(op2, load(Ity_I64, mkexpr(op2addr)));
11687 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
11699 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
11712 assign(addr, mkexpr(op2addr));
11720 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11747 assign(addr, mkexpr(op2addr));
11755 assign(addr, binop(Iop_Add64, mkexpr(old), mkU64(4)));
11788 assign(op1, get_gpr_w1(r1));
11789 assign(op3, get_gpr_w1(r3));
11800 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(old_mem)));
11805 assign(nequal, binop(Iop_CmpNE32, s390_call_calculate_cc(), mkU32(0)));
11836 assign(op1, get_gpr_dw0(r1));
11837 assign(op3, get_gpr_dw0(r3));
11848 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(old_mem)));
11853 assign(nequal, binop(Iop_CmpNE32, s390_call_calculate_cc(), mkU32(0)));
11874 assign(op1_high, get_gpr_w1(r1));
11875 assign(op1_low, get_gpr_w1(r1+1));
11876 assign(op3_high, get_gpr_w1(r3));
11877 assign(op3_low, get_gpr_w1(r3+1));
11888 assign(result, unop(Iop_1Uto32,
11899 assign(nequal, binop(Iop_CmpNE32, s390_call_calculate_cc(), mkU32(0)));
11934 assign(op1_high, get_gpr_dw0(r1));
11935 assign(op1_low, get_gpr_dw0(r1+1));
11936 assign(op3_high, get_gpr_dw0(r3));
11937 assign(op3_low, get_gpr_dw0(r3+1));
11948 assign(result, unop(Iop_1Uto64,
11959 assign(nequal, binop(Iop_CmpNE32, s390_call_calculate_cc(), mkU32(0)));
11978 assign(op1, get_fpr_pair(r1));
11979 assign(op2, get_fpr_pair(r2));
11980 assign(result, triop(Iop_AddF128, mkexpr(rounding_mode), mkexpr(op1),
11997 assign(op1, get_fpr_w0(r1));
11998 assign(op2, get_fpr_w0(r2));
11999 assign(cc_vex, binop(Iop_CmpF32, mkexpr(op1), mkexpr(op2)));
12001 assign(cc_s390, convert_vex_bfpcc_to_s390(cc_vex));
12015 assign(op1, get_fpr_dw0(r1));
12016 assign(op2, get_fpr_dw0(r2));
12017 assign(cc_vex, binop(Iop_CmpF64, mkexpr(op1), mkexpr(op2)));
12019 assign(cc_s390, convert_vex_bfpcc_to_s390(cc_vex));
12033 assign(op1, get_fpr_pair(r1));
12034 assign(op2, get_fpr_pair(r2));
12035 assign(cc_vex, binop(Iop_CmpF128, mkexpr(op1), mkexpr(op2)));
12037 assign(cc_s390, convert_vex_bfpcc_to_s390(cc_vex));
12051 assign(op1, get_fpr_w0(r1));
12052 assign(op2, load(Ity_F32, mkexpr(op2addr)));
12053 assign(cc_vex, binop(Iop_CmpF32, mkexpr(op1), mkexpr(op2)));
12055 assign(cc_s390, convert_vex_bfpcc_to_s390(cc_vex));
12069 assign(op1, get_fpr_dw0(r1));
12070 assign(op2, load(Ity_F64, mkexpr(op2addr)));
12071 assign(cc_vex, binop(Iop_CmpF64, mkexpr(op1), mkexpr(op2)));
12073 assign(cc_s390, convert_vex_bfpcc_to_s390(cc_vex));
12085 assign(op2, get_gpr_w1(r2));
12100 assign(op2, get_gpr_w1(r2));
12113 assign(op2, get_gpr_dw0(r2));
12128 assign(op2, get_gpr_dw0(r2));
12142 assign(op, get_fpr_pair(r2));
12143 assign(result, binop(Iop_F128toI32S, mkexpr(rounding_mode),
12162 assign(op, get_fpr_pair(r2));
12163 assign(result, binop(Iop_F128toI32U, mkexpr(rounding_mode),
12180 assign(op, get_fpr_pair(r2));
12181 assign(result, binop(Iop_F128toI64S, mkexpr(rounding_mode),
12200 assign(op, get_fpr_pair(r2));
12201 assign(result, binop(Iop_F128toI64U, mkexpr(rounding_mode),
12218 assign(op1, get_fpr_pair(r1));
12219 assign(op2, get_fpr_pair(r2));
12220 assign(result, triop(Iop_DivF128, mkexpr(rounding_mode), mkexpr(op1),
12232 assign(result, get_fpr_pair(r2));
12244 assign(result, unop(Iop_NegF128, get_fpr_pair(r2)));
12256 assign(op, get_fpr_dw0(r2));
12267 assign(op, get_fpr_w0(r2));
12278 assign(op, load(Ity_F64, mkexpr(op2addr)));
12289 assign(op, load(Ity_F32, mkexpr(op2addr)));
12300 assign(result, unop(Iop_NegF32, unop(Iop_AbsF32, get_fpr_w0(r2))));
12312 assign(result, unop(Iop_NegF64, unop(Iop_AbsF64, get_fpr_dw0(r2))));
12324 assign(result, unop(Iop_NegF128, unop(Iop_AbsF128, get_fpr_pair(r2))));
12336 assign(result, unop(Iop_AbsF32, get_fpr_w0(r2)));
12348 assign(result, unop(Iop_AbsF64, get_fpr_dw0(r2)));
12360 assign(result, unop(Iop_AbsF128, get_fpr_pair(r2)));
12377 assign(result, binop(Iop_F128toF64, mkexpr(encode_bfp_rounding_mode(m3)),
12394 assign(result, binop(Iop_F128toF32, mkexpr(encode_bfp_rounding_mode(m3)),
12409 assign(op1, get_fpr_pair(r1));
12410 assign(op2, get_fpr_pair(r2));
12411 assign(result, triop(Iop_MulF128, mkexpr(rounding_mode), mkexpr(op1),
12516 assign(result, binop(Iop_SqrtF32, mkexpr(rounding_mode), get_fpr_w0(r2)));
12528 assign(result, binop(Iop_SqrtF64, mkexpr(rounding_mode), get_fpr_dw0(r2)));
12540 assign(result, binop(Iop_SqrtF128, mkexpr(rounding_mode),
12553 assign(op, load(Ity_F32, mkexpr(op2addr)));
12565 assign(op, load(Ity_F64, mkexpr(op2addr)));
12579 assign(op1, get_fpr_pair(r1));
12580 assign(op2, get_fpr_pair(r2));
12581 assign(result, triop(Iop_SubF128, mkexpr(rounding_mode), mkexpr(op1),
12594 assign(value, get_fpr_w0(r1));
12606 assign(value, get_fpr_dw0(r1));
12618 assign(value, get_fpr_pair(r1));
12630 assign(result, unop(Iop_NegF64, get_fpr_dw0(r2)));
12641 assign(result, unop(Iop_NegF64, unop(Iop_AbsF64, get_fpr_dw0(r2))));
12652 assign(result, unop(Iop_AbsF64, get_fpr_dw0(r2)));
12681 assign(sign, binop(Iop_And64, unop(Iop_ReinterpF64asI64, get_fpr_dw0(r3)),
12683 assign(value, binop(Iop_And64, unop(Iop_ReinterpF64asI64, get_fpr_dw0(r2)),
12771 assign(input, get_gpr_dw0(r2));
12772 assign(not_zero, binop(Iop_Or64, mkexpr(input), mkU64(1)));
12773 assign(tmpnum, unop(Iop_Clz64, mkexpr(not_zero)));
12776 assign(num, mkite(binop(Iop_CmpEQ64, mkexpr(input), mkU64(0)),
12791 assign(shift_amount, unop(Iop_64to8, binop(Iop_Add64, mkexpr(num),
12915 assign(oldval, get_gpr_w1(r1));
12916 assign(addr, get_gpr_dw0(r2));
12917 assign(len, get_gpr_dw0(r2+1));
12927 assign(inc, mkite(binop(Iop_CmpLT64U, mkexpr(len), mkU64(4)),
12935 assign(mask, mkite(binop(Iop_CmpLT64U, mkexpr(len), mkU64(4)),
12948 assign(op, load(Ity_I32, mkexpr(addr)));
12949 assign(newop, binop(Iop_And32, mkexpr(op), mkexpr(mask)));
12950 assign(result, binop(Iop_Add32, mkexpr(newop), mkexpr(oldval)));
12953 assign(result1, mkite(binop(Iop_CmpLT32U, mkexpr(result), mkexpr(newop)),
12976 assign(src_addr, get_gpr_dw0(r2));
12977 assign(des_addr, get_gpr_dw0(r1));
12978 assign(tab_addr, get_gpr_dw0(1));
12979 assign(src_len, get_gpr_dw0(r1+1));
12980 assign(test_byte, get_gpr_b7(0));
12992 assign(op, load(Ity_I8, mkexpr(src_addr)));
12994 assign(result, binop(Iop_Add64, unop(Iop_8Uto64, mkexpr(op)),
12996 assign(op1, load(Ity_I8, mkexpr(result)));
13023 assign(src_addr, get_gpr_dw0(r2));
13024 assign(des_addr, get_gpr_dw0(r1));
13025 assign(tab_addr, get_gpr_dw0(1));
13026 assign(src_len, get_gpr_dw0(r1+1));
13027 assign(test_byte, get_gpr_b7(0));
13039 assign(op, load(Ity_I16, mkexpr(src_addr)));
13041 assign(result, binop(Iop_Add64, unop(Iop_16Uto64, mkexpr(op)),
13044 assign(op1, load(Ity_I8, mkexpr(result)));
13071 assign(src_addr, get_gpr_dw0(r2));
13072 assign(des_addr, get_gpr_dw0(r1));
13073 assign(tab_addr, get_gpr_dw0(1));
13074 assign(src_len, get_gpr_dw0(r1+1));
13075 assign(test_byte, get_gpr_hw3(0));
13087 assign(op, binop(Iop_Shl8, load(Ity_I8, mkexpr(src_addr)), mkU8(1)));
13089 assign(result, binop(Iop_Add64, unop(Iop_8Uto64, mkexpr(op)),
13091 assign(op1, load(Ity_I16, mkexpr(result)));
13118 assign(src_addr, get_gpr_dw0(r2));
13119 assign(des_addr, get_gpr_dw0(r1));
13120 assign(tab_addr, get_gpr_dw0(1));
13121 assign(src_len, get_gpr_dw0(r1+1));
13122 assign(test_byte, get_gpr_hw3(0));
13134 assign(op, binop(Iop_Shl16, load(Ity_I16, mkexpr(src_addr)), mkU8(1)));
13136 assign(result, binop(Iop_Add64, unop(Iop_16Uto64, mkexpr(op)),
13138 assign(op1, load(Ity_I16, mkexpr(result)));
13161 assign(len, mkU64(length));
13176 assign(src_addr, get_gpr_dw0(r1));
13177 assign(src_len, get_gpr_dw0(r1+1));
13178 assign(tab_addr, get_gpr_dw0(r2));
13179 assign(test_byte, get_gpr_b7(0));
13190 assign(op, load(Ity_I8, mkexpr(src_addr)));
13195 assign(result, binop(Iop_Add64, unop(Iop_8Uto64, mkexpr(op)),
13198 assign(op1, load(Ity_I8, mkexpr(result)));
13231 assign(addr1, get_gpr_dw0(r1));
13232 assign(addr2, get_gpr_dw0(r2));
13233 assign(len1, get_gpr_dw0(r1 + 1));
13234 assign(len2, get_gpr_dw0(r2 + 1));
13244 assign(srcval, unop(Iop_16Uto32, load(Ity_I16, mkexpr(addr2))));
13253 assign(is_high_surrogate, binop(Iop_And32, flag1, flag2));
13269 assign(low_surrogate,
13276 assign(retval, s390_call_cu21(unop(Iop_32Uto64, mkexpr(srcval)),
13291 assign(num_bytes, binop(Iop_And64,
13299 assign(data, binop(Iop_Shr64, mkexpr(retval), mkU8(16)));
13321 assign(num_src_bytes,
13358 assign(addr1, get_gpr_dw0(r1));
13359 assign(addr2, get_gpr_dw0(r2));
13360 assign(len1, get_gpr_dw0(r1 + 1));
13361 assign(len2, get_gpr_dw0(r2 + 1));
13371 assign(srcval, unop(Iop_16Uto32, load(Ity_I16, mkexpr(addr2))));
13380 assign(is_high_surrogate, binop(Iop_And32, flag1, flag2));
13397 assign(low_surrogate,
13404 assign(retval, s390_call_cu24(unop(Iop_32Uto64, mkexpr(srcval)),
13428 assign(num_src_bytes,
13465 assign(addr1, get_gpr_dw0(r1));
13466 assign(addr2, get_gpr_dw0(r2));
13467 assign(len1, get_gpr_dw0(r1 + 1));
13468 assign(len2, get_gpr_dw0(r2 + 1));
13478 assign(srcval, load(Ity_I32, mkexpr(addr2)));
13482 assign(retval, s390_call_cu42(unop(Iop_32Uto64, mkexpr(srcval))));
13493 assign(num_bytes, binop(Iop_And64,
13501 assign(data, binop(Iop_Shr64, mkexpr(retval), mkU8(16)));
13559 assign(addr1, get_gpr_dw0(r1));
13560 assign(addr2, get_gpr_dw0(r2));
13561 assign(len1, get_gpr_dw0(r1 + 1));
13562 assign(len2, get_gpr_dw0(r2 + 1));
13572 assign(srcval, load(Ity_I32, mkexpr(addr2)));
13576 assign(retval, s390_call_cu41(unop(Iop_32Uto64, mkexpr(srcval))));
13587 assign(num_bytes, binop(Iop_And64,
13595 assign(data, binop(Iop_Shr64, mkexpr(retval), mkU8(16)));
13680 assign(addr1, get_gpr_dw0(r1));
13681 assign(addr2, get_gpr_dw0(r2));
13682 assign(len1, get_gpr_dw0(r1 + 1));
13683 assign(len2, get_gpr_dw0(r2 + 1));
13695 assign(byte1, unop(Iop_8Uto64, load(Ity_I8, mkexpr(addr2))));
13699 assign(retval1, s390_call_cu12_cu14_helper1(mkexpr(byte1),
13709 assign(num_src_bytes, binop(Iop_Shr64, mkexpr(retval1), mkU8(8)));
13737 assign(retval2, s390_call_cu12_helper2(mkexpr(byte1), byte2, byte3,
13740 assign(retval2, s390_call_cu14_helper2(mkexpr(byte1), byte2, byte3,
13751 assign(num_bytes, binop(Iop_And64,
13759 assign(data, binop(Iop_Shr64, mkexpr(retval2), mkU8(16)));