Lines Matching refs:op2
166 binop(IROp kind, IRExpr *op1, IRExpr *op2)
168 return IRExpr_Binop(kind, op1, op2);
173 triop(IROp kind, IRExpr *op1, IRExpr *op2, IRExpr *op3)
175 return IRExpr_Triop(kind, op1, op2, op3);
180 qop(IROp kind, IRExpr *op1, IRExpr *op2, IRExpr *op3, IRExpr *op4)
182 return IRExpr_Qop(kind, op1, op2, op3, op4);
695 s390_call_calculate_icc(UInt m, UInt opc, IRTemp op1, IRTemp op2)
702 dep2 = s390_cc_widen(op2, True);
707 dep2 = s390_cc_widen(op2, False);
2180 IRTemp op2 = newTemp(Ity_I32);
2184 assign(op2, get_gpr_w1(r2));
2185 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2186 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op1, op2);
2196 IRTemp op2 = newTemp(Ity_I64);
2200 assign(op2, get_gpr_dw0(r2));
2201 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2202 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op1, op2);
2212 IRTemp op2 = newTemp(Ity_I64);
2216 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
2217 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2218 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op1, op2);
2227 IRTemp op2 = newTemp(Ity_I32);
2231 assign(op2, get_gpr_w1(r2));
2233 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2234 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op2, op3);
2243 IRTemp op2 = newTemp(Ity_I64);
2247 assign(op2, get_gpr_dw0(r2));
2249 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
2250 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op2, op3);
2260 IRTemp op2 = newTemp(Ity_I32);
2264 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2265 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2266 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op1, op2);
2276 IRTemp op2 = newTemp(Ity_I32);
2280 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2281 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2282 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op1, op2);
2292 IRTemp op2 = newTemp(Ity_I64);
2296 assign(op2, load(Ity_I64, mkexpr(op2addr)));
2297 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2298 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op1, op2);
2308 IRTemp op2 = newTemp(Ity_I64);
2312 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
2313 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2314 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op1, op2);
2324 Int op2;
2328 op2 = (Int)i2;
2329 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2331 mkU32((UInt)op2)));
2341 Long op2;
2345 op2 = (Long)(Int)i2;
2346 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2348 mkU64((ULong)op2)));
2357 Int op2;
2361 op2 = (Int)(Short)i2;
2363 assign(result, binop(Iop_Add32, mkU32((UInt)op2), mkexpr(op3)));
2365 op2)), op3);
2374 Long op2;
2378 op2 = (Long)(Short)i2;
2380 assign(result, binop(Iop_Add64, mkU64((ULong)op2), mkexpr(op3)));
2382 op2)), op3);
2392 Int op2;
2396 op2 = (Int)(Char)i2;
2397 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2400 mkU32((UInt)op2)));
2409 Long op2;
2413 op2 = (Long)(Char)i2;
2414 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2417 mkU64((ULong)op2)));
2426 IRTemp op2 = newTemp(Ity_I32);
2430 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
2431 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2432 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op1, op2);
2442 IRTemp op2 = newTemp(Ity_I32);
2446 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
2447 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2448 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op1, op2);
2458 Int op2;
2462 op2 = (Int)(Short)i2;
2463 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2465 mkU32((UInt)op2)));
2475 Long op2;
2479 op2 = (Long)(Short)i2;
2480 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64((ULong)op2)));
2482 mkU64((ULong)op2)));
2491 IRTemp op2 = newTemp(Ity_I32);
2495 assign(op2, get_gpr_w0(r2));
2497 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2498 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op2, op3);
2507 IRTemp op2 = newTemp(Ity_I32);
2511 assign(op2, get_gpr_w0(r2));
2513 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2514 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op2, op3);
2524 Int op2;
2528 op2 = (Int)i2;
2529 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32((UInt)op2)));
2531 mkU32((UInt)op2)));
2541 IRTemp op2 = newTemp(Ity_I32);
2545 assign(op2, get_gpr_w1(r2));
2546 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2547 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op1, op2);
2557 IRTemp op2 = newTemp(Ity_I64);
2561 assign(op2, get_gpr_dw0(r2));
2562 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2563 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op1, op2);
2573 IRTemp op2 = newTemp(Ity_I64);
2577 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
2578 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2579 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op1, op2);
2588 IRTemp op2 = newTemp(Ity_I32);
2592 assign(op2, get_gpr_w1(r2));
2594 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2595 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op2, op3);
2604 IRTemp op2 = newTemp(Ity_I64);
2608 assign(op2, get_gpr_dw0(r2));
2610 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
2611 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op2, op3);
2621 IRTemp op2 = newTemp(Ity_I32);
2625 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2626 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2627 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op1, op2);
2637 IRTemp op2 = newTemp(Ity_I32);
2641 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2642 assign(result, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)));
2643 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op1, op2);
2653 IRTemp op2 = newTemp(Ity_I64);
2657 assign(op2, load(Ity_I64, mkexpr(op2addr)));
2658 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2659 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op1, op2);
2669 IRTemp op2 = newTemp(Ity_I64);
2673 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
2674 assign(result, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)));
2675 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op1, op2);
2685 UInt op2;
2689 op2 = i2;
2690 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
2692 mkU32(op2)));
2702 ULong op2;
2706 op2 = (ULong)i2;
2707 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64(op2)));
2709 mkU64(op2)));
2718 IRTemp op2 = newTemp(Ity_I32);
2722 assign(op2, get_gpr_w0(r2));
2724 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2725 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op2, op3);
2734 IRTemp op2 = newTemp(Ity_I32);
2738 assign(op2, get_gpr_w0(r2));
2740 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
2741 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op2, op3);
2751 IRTemp op2 = newTemp(Ity_I32);
2756 assign(op2, get_gpr_w1(r2));
2758 assign(result, binop(Iop_Add32, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)),
2760 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_ADDC_32, op1, op2, carry_in);
2770 IRTemp op2 = newTemp(Ity_I64);
2775 assign(op2, get_gpr_dw0(r2));
2778 assign(result, binop(Iop_Add64, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)),
2780 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_ADDC_64, op1, op2, carry_in);
2790 IRTemp op2 = newTemp(Ity_I32);
2795 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2797 assign(result, binop(Iop_Add32, binop(Iop_Add32, mkexpr(op1), mkexpr(op2)),
2799 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_ADDC_32, op1, op2, carry_in);
2809 IRTemp op2 = newTemp(Ity_I64);
2814 assign(op2, load(Ity_I64, mkexpr(op2addr)));
2817 assign(result, binop(Iop_Add64, binop(Iop_Add64, mkexpr(op1), mkexpr(op2)),
2819 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_ADDC_64, op1, op2, carry_in);
2829 UInt op2;
2833 op2 = (UInt)(Int)(Char)i2;
2834 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
2836 mkU32(op2)));
2846 ULong op2;
2850 op2 = (ULong)(Long)(Char)i2;
2851 assign(result, binop(Iop_Add64, mkexpr(op1), mkU64(op2)));
2853 mkU64(op2)));
2862 UInt op2;
2866 op2 = (UInt)(Int)(Short)i2;
2868 assign(result, binop(Iop_Add32, mkU32(op2), mkexpr(op3)));
2869 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, mktemp(Ity_I32, mkU32(op2)),
2879 ULong op2;
2883 op2 = (ULong)(Long)(Short)i2;
2885 assign(result, binop(Iop_Add64, mkU64(op2), mkexpr(op3)));
2886 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, mktemp(Ity_I64, mkU64(op2)),
2897 UInt op2;
2901 op2 = i2;
2902 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
2904 mkU32(op2)));
2914 UInt op2;
2918 op2 = i2;
2919 assign(result, binop(Iop_Add32, mkexpr(op1), mkU32(op2)));
2929 IRTemp op2 = newTemp(Ity_I32);
2933 assign(op2, get_gpr_w1(r2));
2934 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
2945 IRTemp op2 = newTemp(Ity_I64);
2949 assign(op2, get_gpr_dw0(r2));
2950 assign(result, binop(Iop_And64, mkexpr(op1), mkexpr(op2)));
2960 IRTemp op2 = newTemp(Ity_I32);
2964 assign(op2, get_gpr_w1(r2));
2966 assign(result, binop(Iop_And32, mkexpr(op2), mkexpr(op3)));
2976 IRTemp op2 = newTemp(Ity_I64);
2980 assign(op2, get_gpr_dw0(r2));
2982 assign(result, binop(Iop_And64, mkexpr(op2), mkexpr(op3)));
2993 IRTemp op2 = newTemp(Ity_I32);
2997 assign(op2, load(Ity_I32, mkexpr(op2addr)));
2998 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
3009 IRTemp op2 = newTemp(Ity_I32);
3013 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3014 assign(result, binop(Iop_And32, mkexpr(op1), mkexpr(op2)));
3025 IRTemp op2 = newTemp(Ity_I64);
3029 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3030 assign(result, binop(Iop_And64, mkexpr(op1), mkexpr(op2)));
3041 UChar op2;
3045 op2 = i2;
3046 assign(result, binop(Iop_And8, mkexpr(op1), mkU8(op2)));
3057 UChar op2;
3061 op2 = i2;
3062 assign(result, binop(Iop_And8, mkexpr(op1), mkU8(op2)));
3073 UInt op2;
3077 op2 = i2;
3078 assign(result, binop(Iop_And32, mkexpr(op1), mkU32(op2)));
3089 UShort op2;
3093 op2 = i2;
3094 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3105 UShort op2;
3109 op2 = i2;
3110 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3121 UInt op2;
3125 op2 = i2;
3126 assign(result, binop(Iop_And32, mkexpr(op1), mkU32(op2)));
3137 UShort op2;
3141 op2 = i2;
3142 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3153 UShort op2;
3157 op2 = i2;
3158 assign(result, binop(Iop_And16, mkexpr(op1), mkU16(op2)));
3478 IRTemp op2 = newTemp(Ity_I32);
3481 assign(op2, get_gpr_w1(r2));
3482 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3491 IRTemp op2 = newTemp(Ity_I64);
3494 assign(op2, get_gpr_dw0(r2));
3495 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3504 IRTemp op2 = newTemp(Ity_I64);
3507 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
3508 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3517 IRTemp op2 = newTemp(Ity_I32);
3520 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3521 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3530 IRTemp op2 = newTemp(Ity_I32);
3533 assign(op2, load(Ity_I32, mkexpr(op2addr)));
3534 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3543 IRTemp op2 = newTemp(Ity_I64);
3546 assign(op2, load(Ity_I64, mkexpr(op2addr)));
3547 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3556 IRTemp op2 = newTemp(Ity_I64);
3559 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
3560 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3569 Int op2;
3572 op2 = (Int)i2;
3574 mkU32((UInt)op2)));
3583 Long op2;
3586 op2 = (Long)(Int)i2;
3588 mkU64((ULong)op2)));
3597 IRTemp op2 = newTemp(Ity_I32);
3600 assign(op2, load(Ity_I32, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
3602 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3611 IRTemp op2 = newTemp(Ity_I64);
3614 assign(op2, load(Ity_I64, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
3616 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3625 IRTemp op2 = newTemp(Ity_I64);
3628 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkU64(guest_IA_curr_instr +
3630 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3639 IRTemp op2 = newTemp(Ity_I32);
3648 assign(op2, get_gpr_w1(r2));
3650 op1, op2));
3663 IRTemp op2 = newTemp(Ity_I64);
3672 assign(op2, get_gpr_dw0(r2));
3674 op1, op2));
3687 IRTemp op2 = newTemp(Ity_I32);
3697 assign(op2, get_gpr_w1(r2));
3699 op1, op2));
3713 IRTemp op2 = newTemp(Ity_I64);
3723 assign(op2, get_gpr_dw0(r2));
3725 op1, op2));
3739 Int op2;
3748 op2 = (Int)(Char)i2;
3750 mktemp(Ity_I32, mkU32((UInt)op2))));
3763 Long op2;
3772 op2 = (Long)(Char)i2;
3774 mktemp(Ity_I64, mkU64((ULong)op2))));
3787 Int op2;
3796 op2 = (Int)(Char)i2;
3798 mktemp(Ity_I32, mkU32((UInt)op2))));
3812 Long op2;
3821 op2 = (Long)(Char)i2;
3823 mktemp(Ity_I64, mkU64((ULong)op2))));
3837 IRTemp op2 = newTemp(Ity_I32);
3840 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
3841 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3850 IRTemp op2 = newTemp(Ity_I32);
3853 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
3854 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3863 IRTemp op2 = newTemp(Ity_I64);
3866 assign(op2, unop(Iop_16Sto64, load(Ity_I16, mkexpr(op2addr))));
3867 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3876 Int op2;
3879 op2 = (Int)(Short)i2;
3881 mkU32((UInt)op2)));
3890 Long op2;
3893 op2 = (Long)(Short)i2;
3895 mkU64((ULong)op2)));
3904 Short op2;
3907 op2 = (Short)i2;
3909 mkU16((UShort)op2)));
3918 Int op2;
3921 op2 = (Int)(Short)i2;
3923 mkU32((UInt)op2)));
3932 Long op2;
3935 op2 = (Long)(Short)i2;
3937 mkU64((ULong)op2)));
3946 IRTemp op2 = newTemp(Ity_I32);
3949 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkU64(guest_IA_curr_instr +
3951 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3960 IRTemp op2 = newTemp(Ity_I64);
3963 assign(op2, unop(Iop_16Sto64, load(Ity_I16, mkU64(guest_IA_curr_instr +
3965 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3974 IRTemp op2 = newTemp(Ity_I32);
3977 assign(op2, get_gpr_w0(r2));
3978 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
3987 IRTemp op2 = newTemp(Ity_I32);
3990 assign(op2, get_gpr_w1(r2));
3991 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
4000 IRTemp op2 = newTemp(Ity_I32);
4003 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4004 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_COMPARE, op1, op2);
4013 Int op2;
4016 op2 = (Int)i2;
4018 mkU32((UInt)op2)));
4027 IRTemp op2 = newTemp(Ity_I32);
4030 assign(op2, get_gpr_w1(r2));
4031 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4040 IRTemp op2 = newTemp(Ity_I64);
4043 assign(op2, get_gpr_dw0(r2));
4044 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4053 IRTemp op2 = newTemp(Ity_I64);
4056 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
4057 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4066 IRTemp op2 = newTemp(Ity_I32);
4069 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4070 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4079 IRTemp op2 = newTemp(Ity_I32);
4082 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4083 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4092 IRTemp op2 = newTemp(Ity_I64);
4095 assign(op2, load(Ity_I64, mkexpr(op2addr)));
4096 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4105 IRTemp op2 = newTemp(Ity_I64);
4108 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
4109 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4118 UInt op2;
4121 op2 = i2;
4123 mkU32(op2)));
4132 ULong op2;
4135 op2 = (ULong)i2;
4137 mkU64(op2)));
4146 UChar op2;
4149 op2 = i2;
4151 mkU8(op2)));
4160 UChar op2;
4163 op2 = i2;
4165 mkU8(op2)));
4174 UInt op2;
4177 op2 = (UInt)i2;
4179 mkU32(op2)));
4188 ULong op2;
4191 op2 = (ULong)i2;
4193 mkU64(op2)));
4202 UShort op2;
4205 op2 = i2;
4207 mkU16(op2)));
4216 IRTemp op2 = newTemp(Ity_I32);
4219 assign(op2, load(Ity_I32, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4221 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4230 IRTemp op2 = newTemp(Ity_I64);
4233 assign(op2, load(Ity_I64, mkU64(guest_IA_curr_instr + ((ULong)(Long)(Int)
4235 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4244 IRTemp op2 = newTemp(Ity_I64);
4247 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkU64(guest_IA_curr_instr +
4249 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4258 IRTemp op2 = newTemp(Ity_I32);
4261 assign(op2, unop(Iop_16Uto32, load(Ity_I16, mkU64(guest_IA_curr_instr +
4263 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4272 IRTemp op2 = newTemp(Ity_I64);
4275 assign(op2, unop(Iop_16Uto64, load(Ity_I16, mkU64(guest_IA_curr_instr +
4277 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4286 IRTemp op2 = newTemp(Ity_I32);
4295 assign(op2, get_gpr_w1(r2));
4297 op1, op2));
4310 IRTemp op2 = newTemp(Ity_I64);
4319 assign(op2, get_gpr_dw0(r2));
4321 op1, op2));
4334 IRTemp op2 = newTemp(Ity_I32);
4343 assign(op2, get_gpr_w1(r2));
4345 op1, op2));
4359 IRTemp op2 = newTemp(Ity_I64);
4368 assign(op2, get_gpr_dw0(r2));
4370 op1, op2));
4384 UInt op2;
4393 op2 = (UInt)i2;
4395 mktemp(Ity_I32, mkU32(op2))));
4408 ULong op2;
4417 op2 = (ULong)i2;
4419 mktemp(Ity_I64, mkU64(op2))));
4432 UInt op2;
4441 op2 = (UInt)i2;
4443 mktemp(Ity_I32, mkU32(op2))));
4457 ULong op2;
4466 op2 = (ULong)i2;
4468 mktemp(Ity_I64, mkU64(op2))));
4482 IRTemp op2 = newTemp(Ity_I32);
4532 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
4535 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4544 IRTemp op2 = newTemp(Ity_I32);
4594 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
4597 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4606 IRTemp op2 = newTemp(Ity_I32);
4656 assign(op2, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Shl32,
4659 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4668 IRTemp op2 = newTemp(Ity_I32);
4671 assign(op2, get_gpr_w0(r2));
4672 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4681 IRTemp op2 = newTemp(Ity_I32);
4684 assign(op2, get_gpr_w1(r2));
4685 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4694 IRTemp op2 = newTemp(Ity_I32);
4697 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4698 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_COMPARE, op1, op2);
4707 UInt op2;
4710 op2 = i2;
4712 mkU32(op2)));
4731 IRTemp op2 = newTemp(Ity_I32);
4738 assign(op2, get_gpr_w1(r2));
4739 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
4751 IRTemp op2 = newTemp(Ity_I64);
4758 assign(op2, get_gpr_dw0(r2));
4759 assign(result, binop(Iop_Xor64, mkexpr(op1), mkexpr(op2)));
4770 IRTemp op2 = newTemp(Ity_I32);
4774 assign(op2, get_gpr_w1(r2));
4776 assign(result, binop(Iop_Xor32, mkexpr(op2), mkexpr(op3)));
4786 IRTemp op2 = newTemp(Ity_I64);
4790 assign(op2, get_gpr_dw0(r2));
4792 assign(result, binop(Iop_Xor64, mkexpr(op2), mkexpr(op3)));
4803 IRTemp op2 = newTemp(Ity_I32);
4807 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4808 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
4819 IRTemp op2 = newTemp(Ity_I32);
4823 assign(op2, load(Ity_I32, mkexpr(op2addr)));
4824 assign(result, binop(Iop_Xor32, mkexpr(op1), mkexpr(op2)));
4835 IRTemp op2 = newTemp(Ity_I64);
4839 assign(op2, load(Ity_I64, mkexpr(op2addr)));
4840 assign(result, binop(Iop_Xor64, mkexpr(op1), mkexpr(op2)));
4851 UChar op2;
4855 op2 = i2;
4856 assign(result, binop(Iop_Xor8, mkexpr(op1), mkU8(op2)));
4867 UChar op2;
4871 op2 = i2;
4872 assign(result, binop(Iop_Xor8, mkexpr(op1), mkU8(op2)));
4883 UInt op2;
4887 op2 = i2;
4888 assign(result, binop(Iop_Xor32, mkexpr(op1), mkU32(op2)));
4899 UInt op2;
4903 op2 = i2;
4904 assign(result, binop(Iop_Xor32, mkexpr(op1), mkU32(op2)));
5224 IRTemp op2 = newTemp(Ity_I32);
5228 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5230 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
5231 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_32, op2, op3);
5233 put_gpr_w1(r1, mkexpr(op2));
5241 IRTemp op2 = newTemp(Ity_I64);
5245 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5247 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
5248 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_ADD_64, op2, op3);
5250 put_gpr_dw0(r1, mkexpr(op2));
5258 IRTemp op2 = newTemp(Ity_I32);
5262 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5264 assign(result, binop(Iop_Add32, mkexpr(op2), mkexpr(op3)));
5265 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_32, op2, op3);
5267 put_gpr_w1(r1, mkexpr(op2));
5275 IRTemp op2 = newTemp(Ity_I64);
5279 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5281 assign(result, binop(Iop_Add64, mkexpr(op2), mkexpr(op3)));
5282 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_ADD_64, op2, op3);
5284 put_gpr_dw0(r1, mkexpr(op2));
5292 IRTemp op2 = newTemp(Ity_I32);
5296 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5298 assign(result, binop(Iop_And32, mkexpr(op2), mkexpr(op3)));
5301 put_gpr_w1(r1, mkexpr(op2));
5309 IRTemp op2 = newTemp(Ity_I64);
5313 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5315 assign(result, binop(Iop_And64, mkexpr(op2), mkexpr(op3)));
5318 put_gpr_dw0(r1, mkexpr(op2));
5326 IRTemp op2 = newTemp(Ity_I32);
5330 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5332 assign(result, binop(Iop_Xor32, mkexpr(op2), mkexpr(op3)));
5335 put_gpr_w1(r1, mkexpr(op2));
5343 IRTemp op2 = newTemp(Ity_I64);
5347 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5349 assign(result, binop(Iop_Xor64, mkexpr(op2), mkexpr(op3)));
5352 put_gpr_dw0(r1, mkexpr(op2));
5360 IRTemp op2 = newTemp(Ity_I32);
5364 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5366 assign(result, binop(Iop_Or32, mkexpr(op2), mkexpr(op3)));
5369 put_gpr_w1(r1, mkexpr(op2));
5377 IRTemp op2 = newTemp(Ity_I64);
5381 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5383 assign(result, binop(Iop_Or64, mkexpr(op2), mkexpr(op3)));
5386 put_gpr_dw0(r1, mkexpr(op2));
5394 IRTemp op2 = newTemp(Ity_I32);
5396 assign(op2, get_gpr_w1(r2));
5397 put_gpr_w1(r1, mkexpr(op2));
5398 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5406 IRTemp op2 = newTemp(Ity_I64);
5408 assign(op2, get_gpr_dw0(r2));
5409 put_gpr_dw0(r1, mkexpr(op2));
5410 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5418 IRTemp op2 = newTemp(Ity_I64);
5420 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
5421 put_gpr_dw0(r1, mkexpr(op2));
5422 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5430 IRTemp op2 = newTemp(Ity_I32);
5432 assign(op2, load(Ity_I32, mkexpr(op2addr)));
5433 put_gpr_w1(r1, mkexpr(op2));
5434 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5442 IRTemp op2 = newTemp(Ity_I64);
5444 assign(op2, load(Ity_I64, mkexpr(op2addr)));
5445 put_gpr_dw0(r1, mkexpr(op2));
5446 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5454 IRTemp op2 = newTemp(Ity_I64);
5456 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
5457 put_gpr_dw0(r1, mkexpr(op2));
5458 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
5507 IRTemp op2 = newTemp(Ity_I32);
5511 assign(op2, get_gpr_w1(r2));
5512 assign(result, binop(Iop_Sub32, mkU32((UInt)op1), mkexpr(op2)));
5515 op1)), op2);
5524 IRTemp op2 = newTemp(Ity_I64);
5528 assign(op2, get_gpr_dw0(r2));
5529 assign(result, binop(Iop_Sub64, mkU64((ULong)op1), mkexpr(op2)));
5532 op1)), op2);
5541 IRTemp op2 = newTemp(Ity_I64);
5545 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
5546 assign(result, binop(Iop_Sub64, mkU64((ULong)op1), mkexpr(op2)));
5549 op1)), op2);
5836 IRTemp op2 = newTemp(Ity_I32);
5839 assign(op2, get_gpr_w1(r2));
5840 assign(result, mkite(binop(Iop_CmpLE32S, mkexpr(op2), mkU32(0)), mkexpr(op2),
5841 binop(Iop_Sub32, mkU32(0), mkexpr(op2))));
5851 IRTemp op2 = newTemp(Ity_I64);
5854 assign(op2, get_gpr_dw0(r2));
5855 assign(result, mkite(binop(Iop_CmpLE64S, mkexpr(op2), mkU64(0)), mkexpr(op2),
5856 binop(Iop_Sub64, mkU64(0), mkexpr(op2))));
5866 IRTemp op2 = newTemp(Ity_I64);
5869 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r1)));
5870 assign(result, mkite(binop(Iop_CmpLE64S, mkexpr(op2), mkU64(0)), mkexpr(op2),
5871 binop(Iop_Sub64, mkU64(0), mkexpr(op2))));
5927 IRTemp op2 = newTemp(Ity_I32);
5930 assign(op2, get_gpr_w1(r2));
5931 assign(result, mkite(binop(Iop_CmpLT32S, mkexpr(op2), mkU32(0)),
5932 binop(Iop_Sub32, mkU32(0), mkexpr(op2)), mkexpr(op2)));
5934 s390_cc_thunk_putS(S390_CC_OP_LOAD_POSITIVE_32, op2);
5942 IRTemp op2 = newTemp(Ity_I64);
5945 assign(op2, get_gpr_dw0(r2));
5946 assign(result, mkite(binop(Iop_CmpLT64S, mkexpr(op2), mkU64(0)),
5947 binop(Iop_Sub64, mkU64(0), mkexpr(op2)), mkexpr(op2)));
5949 s390_cc_thunk_putS(S390_CC_OP_LOAD_POSITIVE_64, op2);
5957 IRTemp op2 = newTemp(Ity_I64);
5960 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
5961 assign(result, mkite(binop(Iop_CmpLT64S, mkexpr(op2), mkU64(0)),
5962 binop(Iop_Sub64, mkU64(0), mkexpr(op2)), mkexpr(op2)));
5964 s390_cc_thunk_putS(S390_CC_OP_LOAD_POSITIVE_64, op2);
6024 IRTemp op2 = newTemp(Ity_I16);
6026 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6027 put_gpr_b6(r1, unop(Iop_16to8, mkexpr(op2)));
6028 put_gpr_b7(r1, unop(Iop_16HIto8, mkexpr(op2)));
6036 IRTemp op2 = newTemp(Ity_I32);
6038 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6039 put_gpr_b4(r1, unop(Iop_32to8, binop(Iop_And32, mkexpr(op2), mkU32(255))));
6040 put_gpr_b5(r1, unop(Iop_32to8, binop(Iop_And32, binop(Iop_Shr32, mkexpr(op2),
6042 put_gpr_b6(r1, unop(Iop_32to8, binop(Iop_And32, binop(Iop_Shr32, mkexpr(op2),
6044 put_gpr_b7(r1, unop(Iop_32to8, binop(Iop_And32, binop(Iop_Shr32, mkexpr(op2),
6053 IRTemp op2 = newTemp(Ity_I64);
6055 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6056 put_gpr_b0(r1, unop(Iop_64to8, binop(Iop_And64, mkexpr(op2), mkU64(255))));
6057 put_gpr_b1(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6059 put_gpr_b2(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6061 put_gpr_b3(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6063 put_gpr_b4(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6065 put_gpr_b5(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6067 put_gpr_b6(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6069 put_gpr_b7(r1, unop(Iop_64to8, binop(Iop_And64, binop(Iop_Shr64, mkexpr(op2),
6119 IRTemp op2 = newTemp(Ity_I32);
6123 assign(op2, get_gpr_w1(r2));
6124 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6135 IRTemp op2 = newTemp(Ity_I32);
6139 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6140 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6151 IRTemp op2 = newTemp(Ity_I32);
6155 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6156 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6167 IRTemp op2 = newTemp(Ity_I16);
6171 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6172 assign(result, binop(Iop_MullS32, mkexpr(op1), unop(Iop_16Sto32, mkexpr(op2))
6183 IRTemp op2 = newTemp(Ity_I16);
6187 assign(op2, load(Ity_I16, mkexpr(op2addr)));
6188 assign(result, binop(Iop_MullS32, mkexpr(op1), unop(Iop_16Sto32, mkexpr(op2))
6199 Short op2;
6203 op2 = (Short)i2;
6205 mkU16((UShort)op2))));
6215 Short op2;
6219 op2 = (Short)i2;
6221 mkU16((UShort)op2))));
6231 IRTemp op2 = newTemp(Ity_I32);
6235 assign(op2, get_gpr_w1(r2));
6236 assign(result, binop(Iop_MullU32, mkexpr(op1), mkexpr(op2)));
6247 IRTemp op2 = newTemp(Ity_I64);
6251 assign(op2, get_gpr_dw0(r2));
6252 assign(result, binop(Iop_MullU64, mkexpr(op1), mkexpr(op2)));
6263 IRTemp op2 = newTemp(Ity_I32);
6267 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6268 assign(result, binop(Iop_MullU32, mkexpr(op1), mkexpr(op2)));
6279 IRTemp op2 = newTemp(Ity_I64);
6283 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6284 assign(result, binop(Iop_MullU64, mkexpr(op1), mkexpr(op2)));
6295 IRTemp op2 = newTemp(Ity_I32);
6299 assign(op2, get_gpr_w1(r2));
6300 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6310 IRTemp op2 = newTemp(Ity_I64);
6314 assign(op2, get_gpr_dw0(r2));
6315 assign(result, binop(Iop_MullS64, mkexpr(op1), mkexpr(op2)));
6325 IRTemp op2 = newTemp(Ity_I32);
6329 assign(op2, get_gpr_w1(r2));
6330 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_32Sto64, mkexpr(op2))
6341 IRTemp op2 = newTemp(Ity_I32);
6345 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6346 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6356 IRTemp op2 = newTemp(Ity_I32);
6360 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6361 assign(result, binop(Iop_MullS32, mkexpr(op1), mkexpr(op2)));
6371 IRTemp op2 = newTemp(Ity_I64);
6375 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6376 assign(result, binop(Iop_MullS64, mkexpr(op1), mkexpr(op2)));
6386 IRTemp op2 = newTemp(Ity_I32);
6390 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6391 assign(result, binop(Iop_MullS64, mkexpr(op1), unop(Iop_32Sto64, mkexpr(op2))
6402 Int op2;
6406 op2 = (Int)i2;
6407 assign(result, binop(Iop_MullS32, mkexpr(op1), mkU32((UInt)op2)));
6417 Int op2;
6421 op2 = (Int)i2;
6423 op2))));
6433 IRTemp op2 = newTemp(Ity_I32);
6437 op2, get_gpr_w1(r2));
6438 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6449 IRTemp op2 = newTemp(Ity_I64);
6453 assign(op2, get_gpr_dw0(r2));
6454 assign(result, binop(Iop_Or64, mkexpr(op1), mkexpr(op2)));
6464 IRTemp op2 = newTemp(Ity_I32);
6468 assign(op2, get_gpr_w1(r2));
6470 assign(result, binop(Iop_Or32, mkexpr(op2), mkexpr(op3)));
6480 IRTemp op2 = newTemp(Ity_I64);
6484 assign(op2, get_gpr_dw0(r2));
6486 assign(result, binop(Iop_Or64, mkexpr(op2), mkexpr(op3)));
6497 IRTemp op2 = newTemp(Ity_I32);
6501 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6502 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6513 IRTemp op2 = newTemp(Ity_I32);
6517 assign(op2, load(Ity_I32, mkexpr(op2addr)));
6518 assign(result, binop(Iop_Or32, mkexpr(op1), mkexpr(op2)));
6529 IRTemp op2 = newTemp(Ity_I64);
6533 assign(op2, load(Ity_I64, mkexpr(op2addr)));
6534 assign(result, binop(Iop_Or64, mkexpr(op1), mkexpr(op2)));
6545 UChar op2;
6549 op2 = i2;
6550 assign(result, binop(Iop_Or8, mkexpr(op1), mkU8(op2)));
6561 UChar op2;
6565 op2 = i2;
6566 assign(result, binop(Iop_Or8, mkexpr(op1), mkU8(op2)));
6577 UInt op2;
6581 op2 = i2;
6582 assign(result, binop(Iop_Or32, mkexpr(op1), mkU32(op2)));
6593 UShort op2;
6597 op2 = i2;
6598 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
6609 UShort op2;
6613 op2 = i2;
6614 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
6625 UInt op2;
6629 op2 = i2;
6630 assign(result, binop(Iop_Or32, mkexpr(op1), mkU32(op2)));
6641 UShort op2;
6645 op2 = i2;
6646 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
6657 UShort op2;
6661 op2 = i2;
6662 assign(result, binop(Iop_Or16, mkexpr(op1), mkU16(op2)));
6723 IRTemp op2 = newTemp(Ity_I64);
6729 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
6741 assign(result, binop(Iop_And64, binop(Iop_And64, get_gpr_dw0(r1), mkexpr(op2)
6762 IRTemp op2 = newTemp(Ity_I64);
6768 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
6780 assign(result, binop(Iop_And64, binop(Iop_Xor64, get_gpr_dw0(r1), mkexpr(op2)
6801 IRTemp op2 = newTemp(Ity_I64);
6807 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
6819 assign(result, binop(Iop_And64, binop(Iop_Or64, get_gpr_dw0(r1), mkexpr(op2)
6839 IRTemp op2 = newTemp(Ity_I64);
6846 assign(op2, rot == 0 ? get_gpr_dw0(r2) : binop(Iop_Or64, binop(Iop_Shl64,
6860 mkU64(maskc)), binop(Iop_And64, mkexpr(op2), mkU64(mask))));
6862 put_gpr_dw0(r1, binop(Iop_And64, mkexpr(op2), mkU64(mask)));
6865 s390_cc_thunk_putS(S390_CC_OP_LOAD_AND_TEST, op2);
7389 IRTemp op2 = newTemp(Ity_I32);
7393 assign(op2, get_gpr_w1(r2));
7394 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7395 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op1, op2);
7405 IRTemp op2 = newTemp(Ity_I64);
7409 assign(op2, get_gpr_dw0(r2));
7410 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7411 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_64, op1, op2);
7421 IRTemp op2 = newTemp(Ity_I64);
7425 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
7426 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7427 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_64, op1, op2);
7436 IRTemp op2 = newTemp(Ity_I32);
7440 assign(op2, get_gpr_w1(r2));
7442 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7443 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op2, op3);
7452 IRTemp op2 = newTemp(Ity_I64);
7456 assign(op2, get_gpr_dw0(r2));
7458 assign(result, binop(Iop_Sub64, mkexpr(op2), mkexpr(op3)));
7459 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_64, op2, op3);
7469 IRTemp op2 = newTemp(Ity_I32);
7473 assign(op2, load(Ity_I32, mkexpr(op2addr)));
7474 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7475 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op1, op2);
7485 IRTemp op2 = newTemp(Ity_I32);
7489 assign(op2, load(Ity_I32, mkexpr(op2addr)));
7490 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7491 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op1, op2);
7501 IRTemp op2 = newTemp(Ity_I64);
7505 assign(op2, load(Ity_I64, mkexpr(op2addr)));
7506 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7507 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_64, op1, op2);
7517 IRTemp op2 = newTemp(Ity_I64);
7521 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
7522 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7523 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_64, op1, op2);
7533 IRTemp op2 = newTemp(Ity_I32);
7537 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
7538 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7539 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op1, op2);
7549 IRTemp op2 = newTemp(Ity_I32);
7553 assign(op2, unop(Iop_16Sto32, load(Ity_I16, mkexpr(op2addr))));
7554 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7555 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op1, op2);
7564 IRTemp op2 = newTemp(Ity_I32);
7568 assign(op2, get_gpr_w0(r1));
7570 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7571 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op2, op3);
7580 IRTemp op2 = newTemp(Ity_I32);
7584 assign(op2, get_gpr_w0(r1));
7586 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7587 s390_cc_thunk_putSS(S390_CC_OP_SIGNED_SUB_32, op2, op3);
7597 IRTemp op2 = newTemp(Ity_I32);
7601 assign(op2, get_gpr_w1(r2));
7602 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7603 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op1, op2);
7613 IRTemp op2 = newTemp(Ity_I64);
7617 assign(op2, get_gpr_dw0(r2));
7618 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7619 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_64, op1, op2);
7629 IRTemp op2 = newTemp(Ity_I64);
7633 assign(op2, unop(Iop_32Uto64, get_gpr_w1(r2)));
7634 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7635 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_64, op1, op2);
7644 IRTemp op2 = newTemp(Ity_I32);
7648 assign(op2, get_gpr_w1(r2));
7650 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7651 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op2, op3);
7660 IRTemp op2 = newTemp(Ity_I64);
7664 assign(op2, get_gpr_dw0(r2));
7666 assign(result, binop(Iop_Sub64, mkexpr(op2), mkexpr(op3)));
7667 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_64, op2, op3);
7677 IRTemp op2 = newTemp(Ity_I32);
7681 assign(op2, load(Ity_I32, mkexpr(op2addr)));
7682 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7683 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op1, op2);
7693 IRTemp op2 = newTemp(Ity_I32);
7697 assign(op2, load(Ity_I32, mkexpr(op2addr)));
7698 assign(result, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)));
7699 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op1, op2);
7709 IRTemp op2 = newTemp(Ity_I64);
7713 assign(op2, load(Ity_I64, mkexpr(op2addr)));
7714 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7715 op2);
7725 IRTemp op2 = newTemp(Ity_I64);
7729 assign(op2, unop(Iop_32Uto64, load(Ity_I32, mkexpr(op2addr))));
7730 assign(result, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)));
7731 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_64, op1, op2);
7741 UInt op2;
7745 op2 = i2;
7746 assign(result, binop(Iop_Sub32, mkexpr(op1), mkU32(op2)));
7748 mkU32(op2)));
7758 ULong op2;
7762 op2 = (ULong)i2;
7763 assign(result, binop(Iop_Sub64, mkexpr(op1), mkU64(op2)));
7765 mkU64(op2)));
7774 IRTemp op2 = newTemp(Ity_I32);
7778 assign(op2, get_gpr_w0(r1));
7780 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7781 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op2, op3);
7790 IRTemp op2 = newTemp(Ity_I32);
7794 assign(op2, get_gpr_w0(r1));
7796 assign(result, binop(Iop_Sub32, mkexpr(op2), mkexpr(op3)));
7797 s390_cc_thunk_putZZ(S390_CC_OP_UNSIGNED_SUB_32, op2, op3);
7807 IRTemp op2 = newTemp(Ity_I32);
7812 assign(op2, get_gpr_w1(r2));
7815 assign(result, binop(Iop_Sub32, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)),
7817 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_SUBB_32, op1, op2, borrow_in);
7827 IRTemp op2 = newTemp(Ity_I64);
7832 assign(op2, get_gpr_dw0(r2));
7835 assign(result, binop(Iop_Sub64, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)),
7837 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_SUBB_64, op1, op2, borrow_in);
7847 IRTemp op2 = newTemp(Ity_I32);
7852 assign(op2, load(Ity_I32, mkexpr(op2addr)));
7855 assign(result, binop(Iop_Sub32, binop(Iop_Sub32, mkexpr(op1), mkexpr(op2)),
7857 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_SUBB_32, op1, op2, borrow_in);
7867 IRTemp op2 = newTemp(Ity_I64);
7872 assign(op2, load(Ity_I64, mkexpr(op2addr)));
7875 assign(result, binop(Iop_Sub64, binop(Iop_Sub64, mkexpr(op1), mkexpr(op2)),
7877 s390_cc_thunk_putZZZ(S390_CC_OP_UNSIGNED_SUBB_64, op1, op2, borrow_in);
8145 IRTemp op2 = newTemp(Ity_F32);
8149 assign(op2, get_fpr_w0(r2));
8151 mkexpr(op2)));
8162 IRTemp op2 = newTemp(Ity_F64);
8166 assign(op2, get_fpr_dw0(r2));
8168 mkexpr(op2)));
8179 IRTemp op2 = newTemp(Ity_F32);
8183 assign(op2, load(Ity_F32, mkexpr(op2addr)));
8185 mkexpr(op2)));
8196 IRTemp op2 = newTemp(Ity_F64);
8200 assign(op2, load(Ity_F64, mkexpr(op2addr)));
8202 mkexpr(op2)));
8212 IRTemp op2 = newTemp(Ity_I32);
8214 assign(op2, get_gpr_w1(r2));
8215 put_fpr_w0(r1, binop(Iop_I32StoF32, mkU32(Irrm_NEAREST), mkexpr(op2)));
8223 IRTemp op2 = newTemp(Ity_I32);
8225 assign(op2, get_gpr_w1(r2));
8226 put_fpr_dw0(r1, unop(Iop_I32StoF64, mkexpr(op2)));
8234 IRTemp op2 = newTemp(Ity_I64);
8236 assign(op2, get_gpr_dw0(r2));
8237 put_fpr_w0(r1, binop(Iop_I64StoF32, mkU32(Irrm_NEAREST), mkexpr(op2)));
8245 IRTemp op2 = newTemp(Ity_I64);
8247 assign(op2, get_gpr_dw0(r2));
8248 put_fpr_dw0(r1, binop(Iop_I64StoF64, mkU32(Irrm_NEAREST), mkexpr(op2)));
8317 IRTemp op2 = newTemp(Ity_F32);
8321 assign(op2, get_fpr_w0(r2));
8323 mkexpr(op2)));
8333 IRTemp op2 = newTemp(Ity_F64);
8337 assign(op2, get_fpr_dw0(r2));
8339 mkexpr(op2)));
8349 IRTemp op2 = newTemp(Ity_F32);
8353 assign(op2, load(Ity_F32, mkexpr(op2addr)));
8355 mkexpr(op2)));
8365 IRTemp op2 = newTemp(Ity_F64);
8369 assign(op2, load(Ity_F64, mkexpr(op2addr)));
8371 mkexpr(op2)));
8462 IRTemp op2 = newTemp(Ity_F32);
8466 assign(op2, get_fpr_w0(r2));
8468 mkexpr(op2)));
8478 IRTemp op2 = newTemp(Ity_F64);
8482 assign(op2, get_fpr_dw0(r2));
8484 mkexpr(op2)));
8494 IRTemp op2 = newTemp(Ity_F32);
8498 assign(op2, load(Ity_F32, mkexpr(op2addr)));
8500 mkexpr(op2)));
8510 IRTemp op2 = newTemp(Ity_F64);
8514 assign(op2, load(Ity_F64, mkexpr(op2addr)));
8516 mkexpr(op2)));
8526 IRTemp op2 = newTemp(Ity_F32);
8530 assign(op2, get_fpr_w0(r2));
8532 mkexpr(op2)));
8543 IRTemp op2 = newTemp(Ity_F64);
8547 assign(op2, get_fpr_dw0(r2));
8549 mkexpr(op2)));
8560 IRTemp op2 = newTemp(Ity_F32);
8564 assign(op2, load(Ity_F32, mkexpr(op2addr)));
8566 mkexpr(op2)));
8577 IRTemp op2 = newTemp(Ity_F64);
8581 assign(op2, load(Ity_F64, mkexpr(op2addr)));
8583 mkexpr(op2)));
9561 s390_irgen_divide_64to32(IROp op, UChar r1, IRTemp op2)
9569 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
9575 s390_irgen_divide_128to64(IROp op, UChar r1, IRTemp op2)
9583 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
9589 s390_irgen_divide_64to64(IROp op, UChar r1, IRTemp op2)
9595 assign(result, binop(op, mkexpr(op1), mkexpr(op2)));
9603 IRTemp op2 = newTemp(Ity_I32);
9605 assign(op2, get_gpr_w1(r2));
9607 s390_irgen_divide_64to32(Iop_DivModS64to32, r1, op2);
9615 IRTemp op2 = newTemp(Ity_I32);
9617 assign(op2, load(Ity_I32, mkexpr(op2addr)));
9619 s390_irgen_divide_64to32(Iop_DivModS64to32, r1, op2);
9627 IRTemp op2 = newTemp(Ity_I32);
9629 assign(op2, get_gpr_w1(r2));
9631 s390_irgen_divide_64to32(Iop_DivModU64to32, r1, op2);
9639 IRTemp op2 = newTemp(Ity_I32);
9641 assign(op2, load(Ity_I32, mkexpr(op2addr)));
9643 s390_irgen_divide_64to32(Iop_DivModU64to32, r1, op2);
9651 IRTemp op2 = newTemp(Ity_I64);
9653 assign(op2, load(Ity_I64, mkexpr(op2addr)));
9655 s390_irgen_divide_128to64(Iop_DivModU128to64, r1, op2);
9663 IRTemp op2 = newTemp(Ity_I64);
9665 assign(op2, get_gpr_dw0(r2));
9667 s390_irgen_divide_128to64(Iop_DivModU128to64, r1, op2);
9675 IRTemp op2 = newTemp(Ity_I64);
9677 assign(op2, get_gpr_dw0(r2));
9679 s390_irgen_divide_64to64(Iop_DivModS64to64, r1, op2);
9687 IRTemp op2 = newTemp(Ity_I64);
9689 assign(op2, load(Ity_I64, mkexpr(op2addr)));
9691 s390_irgen_divide_64to64(Iop_DivModS64to64, r1, op2);
9699 IRTemp op2 = newTemp(Ity_I64);
9701 assign(op2, unop(Iop_32Sto64, get_gpr_w1(r2)));
9703 s390_irgen_divide_64to64(Iop_DivModS64to64, r1, op2);
9711 IRTemp op2 = newTemp(Ity_I64);
9713 assign(op2, unop(Iop_32Sto64, load(Ity_I32, mkexpr(op2addr))));
9715 s390_irgen_divide_64to64(Iop_DivModS64to64, r1, op2);
9988 IRTemp op2 = newTemp(Ity_F128);
9992 assign(op2, get_fpr_pair(r2));
9994 mkexpr(op2)));
10051 IRTemp op2 = newTemp(Ity_F32);
10056 assign(op2, get_fpr_w0(r2));
10057 assign(cc_vex, binop(Iop_CmpF32, mkexpr(op1), mkexpr(op2)));
10069 IRTemp op2 = newTemp(Ity_F64);
10074 assign(op2, get_fpr_dw0(r2));
10075 assign(cc_vex, binop(Iop_CmpF64, mkexpr(op1), mkexpr(op2)));
10087 IRTemp op2 = newTemp(Ity_F128);
10092 assign(op2, get_fpr_pair(r2));
10093 assign(cc_vex, binop(Iop_CmpF128, mkexpr(op1), mkexpr(op2)));
10105 IRTemp op2 = newTemp(Ity_F32);
10110 assign(op2, load(Ity_F32, mkexpr(op2addr)));
10111 assign(cc_vex, binop(Iop_CmpF32, mkexpr(op1), mkexpr(op2)));
10123 IRTemp op2 = newTemp(Ity_F64);
10128 assign(op2, load(Ity_F64, mkexpr(op2addr)));
10129 assign(cc_vex, binop(Iop_CmpF64, mkexpr(op1), mkexpr(op2)));
10140 op2 = newTemp(Ity_I32);
10142 assign(op2, get_gpr_w1(r2));
10143 put_fpr_pair(r1, unop(Iop_I32StoF128, mkexpr(op2)));
10151 IRTemp op2 = newTemp(Ity_I64);
10153 assign(op2, get_gpr_dw0(r2));
10154 put_fpr_pair(r1, unop(Iop_I64StoF128, mkexpr(op2)));
10193 IRTemp op2 = newTemp(Ity_F128);
10197 assign(op2, get_fpr_pair(r2));
10199 mkexpr(op2)));
10371 IRTemp op2 = newTemp(Ity_F128);
10375 assign(op2, get_fpr_pair(r2));
10377 mkexpr(op2)));
10404 IRExpr *op2 = load(Ity_F32, mkexpr(op2addr));
10407 get_fpr_w0(r1), op2, get_fpr_w0(r3)));
10415 IRExpr *op2 = load(Ity_F64, mkexpr(op2addr));
10418 get_fpr_dw0(r1), op2, get_fpr_dw0(r3)));
10444 IRExpr *op2 = load(Ity_F32, mkexpr(op2addr));
10447 get_fpr_w0(r1), op2, get_fpr_w0(r3)));
10455 IRExpr *op2 = load(Ity_F64, mkexpr(op2addr));
10458 get_fpr_dw0(r1), op2, get_fpr_dw0(r3)));
10522 IRTemp op2 = newTemp(Ity_F128);
10526 assign(op2, get_fpr_pair(r2));
10528 mkexpr(op2)));
11941 unsigned int op2 : 4;
12858 unsigned int op2 : 8;
12867 unsigned int op2 : 8;
12876 unsigned int op2 : 8;
12885 unsigned int op2 : 8;
12893 unsigned int op2 : 8;
12898 unsigned int op2 : 4;
12908 unsigned int op2 : 8;
12918 unsigned int op2 : 8;
12927 unsigned int op2 : 8;
12936 unsigned int op2 : 8;
12945 unsigned int op2 : 8;
12955 unsigned int op2 : 8;
12964 unsigned int op2 : 8;
12972 unsigned int op2 : 8;
13010 unsigned int op2 : 4;