Lines Matching defs:binop
466 assign(t1, binop(Iop_Add32, getIReg(rs), \
469 assign(t1, binop(Iop_Add64, getIReg(rs), \
475 assign(t1, binop(Iop_Add32, getIReg(regRs), getIReg(regRt))); \
477 assign(t1, binop(Iop_Add64, getIReg(regRs), getIReg(regRt)));
481 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL))); \
483 assign(t4, mkNarrowTo32( ty, binop(Iop_And64, \
488 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFF8ULL))); \
490 assign(t4, binop(Iop_And64, mkexpr(t1), mkU64(0x7)));
494 assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFC))); \
496 assign(t4, binop(Iop_And32, mkexpr(t1), mkU32(0x00000003)))
499 putIReg(rd, binop(op, \
502 binop(Iop_And32, \
511 putIReg(rd, mkWidenFrom32(ty, binop(op, \
514 binop(Iop_And32, \
523 putIReg(rd, binop(op, getIReg(rt), mkU8(sa)));
526 putIReg(rd, binop(op, getIReg(rs), getIReg(rt)));
529 putIReg(rt, binop(op, getIReg(rs), mkU32(imm)));
532 putIReg(rt, binop(op, getIReg(rs), mkU64(imm)));
535 putIReg(rd, mkWidenFrom32(ty, binop(op, \
541 assign(t3, binop(Iop_And32, \
542 IRExpr_ITE( binop(Iop_CmpEQ32, mkU32(cc), mkU32(0)), \
543 binop(Iop_Shr32, getFCSR(), mkU8(23)), \
544 binop(Iop_Shr32, getFCSR(), mkU8(24+cc))), \
878 static IRExpr *binop(IROp op, IRExpr * a1, IRExpr * a2)
938 return binop(Iop_Or32, binop(Iop_Shl32, src, mkU8(32 - rot)),
939 binop(Iop_Shr32, src, mkU8(rot)));
947 assign(t0, unop(Iop_32to8, binop(Iop_And32, rs, mkU32(0x0000001F))));
948 assign(t1, binop(Iop_Sub8, mkU8(32), mkexpr(t0)));
949 return binop(Iop_Or32, binop(Iop_Shl32, src, mkexpr(t1)),
950 binop(Iop_Shr32, src, mkexpr(t0)));
1089 return unop(Iop_64to8, binop(Iop_And64,
1090 binop(Iop_Shr64, getIReg(reg), mkU8(pos)),
1093 return unop(Iop_32to8, binop(Iop_And32,
1094 binop(Iop_Shr32, getIReg(reg), mkU8(pos)),
1230 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1248 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1330 assign(t1, binop(Iop_32HLto64, mkU32(0x0), mkexpr(t0)));
1431 assign(t5, binop(Iop_32HLto64, mkexpr(t4), mkexpr(t3)));
1472 putFCSR(binop(Iop_And32, getFCSR(), mkU32(0xFF7FFFFF)));
1473 putFCSR(binop(Iop_Or32, getFCSR(), binop(Iop_Shl32, e, mkU8(23))));
1475 putFCSR(binop(Iop_And32, getFCSR(), unop(Iop_Not32,
1476 binop(Iop_Shl32, mkU32(0x01000000), mkU8(cc)))));
1477 putFCSR(binop(Iop_Or32, getFCSR(), binop(Iop_Shl32, e, mkU8(24 + cc))));
1495 assign(rm_MIPS, binop(Iop_And32, IRExpr_Get(offsetof(VexGuestMIPS64State,
1498 assign(rm_MIPS, binop(Iop_And32, IRExpr_Get(offsetof(VexGuestMIPS32State,
1503 return binop(Iop_Xor32, mkexpr(rm_MIPS), binop(Iop_And32,
1504 binop(Iop_Shl32, mkexpr(rm_MIPS), mkU8(1)), mkU32(2)));
1552 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa)));
1560 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa)));
1561 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(63 - uImmsa)));
1562 assign(tmpL, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
1563 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpL), mkexpr(tmpR)));
1573 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1582 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1583 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt),
1585 assign(tmpL, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
1586 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpL), mkexpr(tmpR)));
1598 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkU64(63)));
1600 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1614 assign(tmp64, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1615 assign(tmp, binop(Iop_Sub64, mkU64(63), mkexpr(tmp64)));
1620 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1621 assign(tmpL, binop(Iop_Shl64, mkexpr(tmpRt), mkexpr(tmpLs8)));
1622 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpL), mkU8(1)));
1623 assign(tmpOr, binop(Iop_Or64, mkexpr(tmpRd), mkexpr(tmpR)));
1633 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa)));
1639 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1647 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1649 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1656 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa)));
1663 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1671 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1673 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1757 assign(ccIR, binop(Iop_CmpF64, mkexpr(tmp5), mkexpr(tmp6)));
1770 assign(ccMIPS, binop(Iop_Shl32, mkU32(1), unop(Iop_32to8,
1771 binop(Iop_Or32, binop(Iop_And32, unop(Iop_Not32,
1772 binop(Iop_Shr32, mkexpr(ccIR),mkU8(5))),mkU32(2)),
1773 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1774 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1780 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1782 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1785 assign(t2, binop(Iop_And32, unop(Iop_Not32, binop(Iop_Shr32,
1788 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1801 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1808 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1812 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1828 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1835 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1839 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1856 assign(ccIR, binop(Iop_CmpF64, unop(Iop_F32toF64, getFReg(fs)),
1868 assign(ccMIPS, binop(Iop_Shl32, mkU32(1), unop(Iop_32to8,
1869 binop(Iop_Or32, binop(Iop_And32, unop(Iop_Not32,
1870 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))),
1871 mkU32(2)), binop(Iop_And32,
1872 binop(Iop_Xor32, mkexpr(ccIR),
1873 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1876 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1878 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1881 assign(t2, binop(Iop_And32, unop(Iop_Not32, binop(Iop_Shr32,
1884 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1898 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1905 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1909 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1925 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1932 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1936 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1956 assign(ccIR, binop(Iop_CmpF64, getDReg(fs), getDReg(ft)));
1967 assign(ccMIPS, binop(Iop_Shl32, mkU32(1), unop(Iop_32to8,
1968 binop(Iop_Or32, binop(Iop_And32, unop(Iop_Not32,
1969 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))), mkU32(2)),
1970 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1971 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1975 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1977 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1980 assign(t2, binop(Iop_And32, unop(Iop_Not32, binop(Iop_Shr32,
1983 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1997 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2004 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2008 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2024 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2031 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2035 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2091 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpReg0), mkexpr(tmpReg0));
2101 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2105 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpLt),
2117 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2120 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2132 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), eConst0));
2136 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2151 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2154 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpRes),
2197 assign(t0, binop(Iop_MullU64, getIReg(regRs), getIReg(regRt)));
2204 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2206 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2213 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2215 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2226 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
2227 putIReg(regRt, binop(Iop_Sar64, mkexpr(tmp), mkU8(rsAmt)));
2232 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2234 assign ( tmpRt, binop(Iop_Sar64, mkexpr(tmp),
2242 putIReg(regRd, unop(Iop_1Uto64, binop(Iop_CmpNE64,
2246 putIReg(regRd,unop(Iop_1Uto32, binop(Iop_CmpNE32,
2255 binop(Iop_CmpEQ64, getIReg(regRs),
2259 binop(Iop_CmpEQ32, getIReg(regRs),
2267 binop(Iop_CmpEQ64, getIReg(regRs),
2271 binop(Iop_CmpEQ32, getIReg(regRs),
2279 binop(Iop_CmpNE64,
2284 binop(Iop_CmpNE32,
2405 putAcc(ac, binop(Iop_32HLto64, getIReg(rs), mkexpr(t1)));
2419 putAcc(ac, binop(Iop_32HLto64, mkexpr(t1), getIReg(rs)));
2426 assign(t1, binop(Iop_MullS32, mkNarrowTo32(Ity_I32, getIReg(rs)),
2435 assign(t1, binop(Iop_MullU32, mkNarrowTo32(Ity_I32, getIReg(rs)),
2453 assign(t2, binop(Iop_MullS32, getIReg(rs), getIReg(rt)));
2454 assign(t3, binop(Iop_Add64, mkexpr(t1), mkexpr(t2)));
2466 assign(t2, binop(Iop_MullU32, getIReg(rs), getIReg(rt)));
2467 assign(t3, binop(Iop_Add64, mkexpr(t2), mkexpr(t1)));
2479 assign(t2, binop(Iop_MullS32, getIReg(rs), getIReg(rt)));
2480 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2492 assign(t2, binop(Iop_MullU32, getIReg(rs), getIReg(rt)));
2493 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2531 assign(t1, binop(Iop_CmpEQ32,
2536 binop(Iop_Shr32,
2537 binop(Iop_And32,
2545 binop(Iop_Add8,
2556 assign(t5, binop(Iop_CmpEQ32,
2561 binop(Iop_Shr32,
2562 binop(Iop_And32,
2570 binop(Iop_Add8,
2581 assign(t9, binop(Iop_CmpEQ32,
2586 binop(Iop_Shr32,
2587 binop(Iop_And32,
2595 binop(Iop_Add8,
2606 assign(t13, binop(Iop_CmpEQ32,
2611 binop(Iop_Shr32,
2612 binop(Iop_And32,
2620 binop(Iop_Add8,
2629 binop(Iop_Or32,
2630 binop(Iop_Or32,
2631 binop(Iop_Or32,
2637 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
2641 binop(Iop_Or32,
2647 binop(Iop_16HLto32,
2648 binop(Iop_8HLto16, mkexpr(t15), mkexpr(t11)),
2649 binop(Iop_8HLto16, mkexpr(t7), mkexpr(t3))));
2668 binop(Iop_And32, getIReg(rt), mkU32(0xff))));
2670 binop(Iop_16HLto32,
2671 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0)),
2672 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0))));
2679 putIReg(rd, binop(Iop_Or32,
2680 binop(Iop_Shr32,
2681 binop(Iop_And32,
2685 binop(Iop_Shr32,
2686 binop(Iop_And32,
2696 putIReg(rd, binop(Iop_Or32,
2697 binop(Iop_Shl32,
2698 binop(Iop_And32,
2702 binop(Iop_Shl32,
2703 binop(Iop_And32,
2713 putIReg(rd, binop(Iop_Or32,
2714 binop(Iop_Shr32,
2715 binop(Iop_And32,
2719 binop(Iop_Shr32,
2720 binop(Iop_And32,
2730 putIReg(rd, binop(Iop_Or32,
2731 binop(Iop_Shl32,
2732 binop(Iop_And32,
2736 binop(Iop_Shl32,
2737 binop(Iop_And32,
2760 assign(t1, binop(Iop_CmpEQ32,
2765 binop(Iop_Shr32,
2766 binop(Iop_And32,
2774 binop(Iop_Add16,
2783 assign(t5, binop(Iop_CmpEQ32,
2788 binop(Iop_Shr32,
2789 binop(Iop_And32,
2797 binop(Iop_Add16,
2804 assign(t8, binop(Iop_Or32,
2808 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
2812 binop(Iop_Or32,
2817 assign(t9, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
2834 putIReg(rd, binop(Iop_16HLto32,
2842 putIReg(rd, binop(Iop_And32,
2850 putIReg(rd, binop(Iop_16HLto32,
2863 binop(Iop_CmpEQ32, getIReg(rt), mkU32(0x80000000)));
2866 binop(Iop_Or32,
2871 assign(t1, binop(Iop_CmpLT32S, getIReg(rt), mkU32(0x0)));
2876 binop(Iop_Add32,
2896 assign(t1, binop(Iop_Or32,
2897 binop(Iop_Shr32,
2898 binop(Iop_And32,
2902 binop(Iop_Shl32,
2903 binop(Iop_And32,
2907 assign(t2, binop(Iop_Or32,
2908 binop(Iop_Shr32,
2909 binop(Iop_And32,
2913 binop(Iop_Shl32,
2914 binop(Iop_And32,
2918 assign(t3, binop(Iop_Or32,
2919 binop(Iop_Shr32,
2920 binop(Iop_And32,
2924 binop(Iop_Shl32,
2925 binop(Iop_And32,
2929 assign(t4, binop(Iop_Or32,
2930 binop(Iop_Shr32,
2931 binop(Iop_And32,
2935 binop(Iop_Shl32,
2936 binop(Iop_And32,
2940 assign(t5, binop(Iop_Or32,
2941 binop(Iop_Shr32,
2944 binop(Iop_Shl32,
2947 putIReg(rd, binop(Iop_Shr32,
2956 putIReg(rd, binop(Iop_Or32,
2957 binop(Iop_Shr32,
2958 binop(Iop_And32,
2962 binop(Iop_Shr32,
2963 binop(Iop_And32,
2973 putIReg(rd, binop(Iop_Or32,
2974 binop(Iop_Shr32,
2975 binop(Iop_And32,
2979 binop(Iop_Shr32,
2980 binop(Iop_And32,
2990 putIReg(rd, binop(Iop_Or32,
2991 binop(Iop_Shl32,
2992 binop(Iop_And32,
2996 binop(Iop_And32,
3005 putIReg(rd, binop(Iop_Or32,
3006 binop(Iop_And32,
3009 binop(Iop_And32,
3044 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
3047 assign(t3, binop(Iop_CmpNE32,
3051 assign(t4, binop(Iop_CmpNE32,
3052 binop(Iop_And32,
3059 assign(t5, binop(Iop_CmpNE32,
3063 assign(t6, binop(Iop_CmpNE32,
3064 binop(Iop_And32,
3071 assign(t7, binop(Iop_And32,
3072 binop(Iop_Or32,
3075 binop(Iop_Or32,
3078 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3081 binop(Iop_Or32,
3094 assign(t8, binop(Iop_And64,
3095 binop(Iop_Shr64,
3100 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3103 assign(t10, binop(Iop_CmpNE32,
3107 assign(t11, binop(Iop_CmpNE32,
3108 binop(Iop_And32,
3114 assign(t12, binop(Iop_CmpNE32,
3118 assign(t13, binop(Iop_CmpNE32,
3119 binop(Iop_And32,
3125 assign(t14, binop(Iop_And32,
3126 binop(Iop_Or32,
3129 binop(Iop_Or32,
3132 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3135 binop(Iop_Or32,
3167 binop(Iop_And32,
3171 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3172 putIReg(rt, IRExpr_ITE(binop(Iop_CmpEQ32,
3180 assign(t3, binop(Iop_CmpNE32,
3184 assign(t4, binop(Iop_CmpNE32,
3185 binop(Iop_And32,
3192 assign(t5, binop(Iop_CmpNE32,
3196 assign(t6, binop(Iop_CmpNE32,
3197 binop(Iop_And32,
3204 assign(t7, binop(Iop_And32,
3205 binop(Iop_Or32,
3208 binop(Iop_Or32,
3211 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3214 binop(Iop_Or32,
3225 IRExpr_ITE(binop(Iop_CmpEQ32,
3230 binop(Iop_And64,
3231 binop(Iop_Shr64,
3234 binop(Iop_Sub32,
3240 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3243 assign(t10, binop(Iop_CmpNE32,
3247 assign(t11, binop(Iop_CmpNE32,
3248 binop(Iop_And32,
3254 assign(t12, binop(Iop_CmpNE32,
3258 assign(t13, binop(Iop_CmpNE32,
3259 binop(Iop_And32,
3265 assign(t14, binop(Iop_And32,
3266 binop(Iop_Or32,
3269 binop(Iop_Or32,
3272 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3275 binop(Iop_Or32,
3295 assign(t1, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
3303 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
3306 binop(Iop_Or32,
3307 binop(Iop_And32,
3311 binop(Iop_And32,
3320 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3325 binop(Iop_Sub32,
3328 binop(Iop_Sub32,
3332 binop(Iop_Shr64,
3334 binop(Iop_Shl64,
3341 binop(Iop_Shl64,
3345 binop(Iop_Shr64,
3351 binop(Iop_And64,
3354 binop(Iop_Shr32,
3356 binop(Iop_And64,
3377 assign(t8, binop(Iop_And32, getIReg(rs), mkU32(0x1f)));
3380 assign(t1, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
3388 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
3391 binop(Iop_Or32,
3392 binop(Iop_And32,
3396 binop(Iop_And32,
3406 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3411 binop(Iop_Sub32,
3414 binop(Iop_Sub32,
3418 binop(Iop_Shr64,
3420 binop(Iop_Shl64,
3427 binop(Iop_Shl64,
3430 binop(Iop_Add32,
3434 binop(Iop_Shr64,
3437 binop(Iop_Add32,
3443 binop(Iop_And64,
3446 binop(Iop_Shr32,
3448 binop(Iop_And64,
3452 binop(Iop_Sub32,
3481 assign(t16, binop(Iop_CmpEQ32,
3486 binop(Iop_Sar64,
3494 assign(t15, binop(Iop_Shr64,
3497 binop(Iop_Sub32,
3498 binop(Iop_And32,
3506 binop(Iop_And64,
3509 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3513 assign(t3, binop(Iop_CmpNE32,
3517 assign(t4, binop(Iop_CmpNE32,
3518 binop(Iop_And32,
3526 assign(t5, binop(Iop_CmpNE32,
3530 assign(t6, binop(Iop_CmpNE32,
3531 binop(Iop_And32,
3538 assign(t7, binop(Iop_And32,
3539 binop(Iop_Or32,
3542 binop(Iop_Or32,
3545 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3548 binop(Iop_Or32,
3554 assign(t10, binop(Iop_CmpNE32,
3558 assign(t11, binop(Iop_CmpNE32,
3559 binop(Iop_And32,
3565 assign(t12, binop(Iop_CmpNE32,
3569 assign(t13, binop(Iop_CmpNE32,
3570 binop(Iop_And32,
3576 assign(t14, binop(Iop_And32,
3577 binop(Iop_Or32,
3580 binop(Iop_Or32,
3583 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3586 binop(Iop_Or32,
3613 binop(Iop_And32,
3617 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3620 assign(t3, binop(Iop_CmpNE32,
3624 assign(t4, binop(Iop_CmpNE32,
3625 binop(Iop_And32,
3632 assign(t5, binop(Iop_CmpNE32,
3636 assign(t6, binop(Iop_CmpNE32,
3637 binop(Iop_And32,
3644 assign(t7, binop(Iop_And32,
3645 binop(Iop_Or32,
3648 binop(Iop_Or32,
3651 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3654 binop(Iop_Or32,
3665 IRExpr_ITE(binop(Iop_CmpEQ32,
3670 binop(Iop_And64,
3671 binop(Iop_Shr64,
3674 binop(Iop_Sub32,
3680 assign(t9, binop
3685 assign(t10, binop(Iop_CmpNE32,
3689 assign(t11, binop(Iop_CmpNE32,
3690 binop(Iop_And32,
3696 assign(t12, binop(Iop_CmpNE32,
3700 assign(t13, binop(Iop_CmpNE32,
3701 binop(Iop_And32,
3707 assign(t14, binop(Iop_And32,
3708 binop(Iop_Or32,
3711 binop(Iop_Or32,
3714 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3717 binop(Iop_Or32,
3747 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
3751 assign(t3, binop(Iop_CmpNE32,
3755 assign(t4, binop(Iop_CmpNE32,
3756 binop(Iop_And32,
3763 assign(t5, binop(Iop_CmpNE32,
3767 assign(t6, binop(Iop_CmpNE32,
3768 binop(Iop_And32,
3775 assign(t7, binop(Iop_And32,
3776 binop(Iop_Or32,
3779 binop(Iop_Or32,
3782 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3785 binop(Iop_Or32,
3798 assign(t8, binop(Iop_And64,
3799 binop(Iop_Shr64,
3805 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3808 assign(t10, binop(Iop_CmpNE32,
3812 assign(t11, binop(Iop_CmpNE32,
3813 binop(Iop_And32,
3819 assign(t12, binop(Iop_CmpNE32,
3823 assign(t13, binop(Iop_CmpNE32,
3824 binop(Iop_And32,
3830 assign(t14, binop(Iop_And32,
3831 binop(Iop_Or32,
3834 binop(Iop_Or32,
3837 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3840 binop(Iop_Or32,
3845 assign(t16, binop(Iop_And32,
3849 putIReg(rt, IRExpr_ITE(binop(Iop_CmpNE32,
3852 IRExpr_ITE(binop(Iop_CmpEQ32,
3882 assign(t15, binop(Iop_And32,
3885 assign(t17, binop(Iop_CmpEQ32,
3891 binop(Iop_Sar64,
3897 assign(t3, binop(Iop_CmpNE32,
3901 assign(t4, binop(Iop_CmpNE32,
3902 binop(Iop_And32,
3909 assign(t5, binop(Iop_CmpNE32,
3913 assign(t6, binop(Iop_CmpNE32,
3914 binop(Iop_And32,
3921 assign(t7, binop(Iop_And32,
3922 binop(Iop_Or32,
3925 binop(Iop_Or32,
3928 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3931 binop(Iop_Or32,
3944 binop(Iop_And64,
3945 binop(Iop_Shr64,
3948 binop(Iop_Sub32,
3953 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3956 assign(t10, binop(Iop_CmpNE32,
3960 assign(t11, binop(Iop_CmpNE32,
3961 binop(Iop_And32,
3967 assign(t12, binop(Iop_CmpNE32,
3971 assign(t13, binop(Iop_CmpNE32,
3972 binop(Iop_And32,
3978 assign(t14, binop(Iop_And32,
3979 binop(Iop_Or32,
3982 binop(Iop_Or32,
3985 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
3988 binop(Iop_Or32,
3993 assign(t16, binop(Iop_And32,
3997 putIReg(rt, IRExpr_ITE(binop(Iop_CmpNE32,
4000 IRExpr_ITE(binop(Iop_CmpEQ32,
4023 assign(t1, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
4031 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
4033 assign(t8, binop(Iop_Or32,
4034 binop(Iop_And32,
4037 binop(Iop_And32,
4038 binop(Iop_Sub32,
4039 binop(Iop_And32,
4045 binop(Iop_Or32,
4046 binop(Iop_And32,
4058 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4063 binop(Iop_Sub32,
4066 binop(Iop_Sub32,
4070 binop(Iop_Shr64,
4072 binop(Iop_Shl64,
4079 binop(Iop_Shl64,
4083 binop(Iop_Shr64,
4089 binop(Iop_And64,
4092 binop(Iop_Shr32,
4094 binop(Iop_And64,
4116 assign(t8, binop(Iop_And32, getIReg(rs), mkU32(0x1f)));
4119 assign(t1, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
4127 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
4129 assign(t9, binop(Iop_Or32,
4130 binop(Iop_And32,
4133 binop(Iop_And32,
4134 binop(Iop_Sub32,
4135 binop(Iop_And32,
4138 binop(Iop_Add32,
4143 binop(Iop_Or32,
4144 binop(Iop_And32,
4156 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4161 binop(Iop_Sub32,
4164 binop(Iop_Sub32,
4168 binop(Iop_Shr64,
4170 binop(Iop_Shl64,
4177 binop(Iop_Shl64,
4180 binop(Iop_Add32,
4184 binop(Iop_Shr64,
4187 binop(Iop_Add32,
4193 binop(Iop_And64,
4196 binop(Iop_Shr32,
4198 binop(Iop_And64,
4202 binop(Iop_Sub32,
4224 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
4226 assign(t2, binop(Iop_Or32,
4229 assign(t9, binop(Iop_And32,
4233 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4235 binop(Iop_And32,
4246 assign(t3, binop(Iop_Sub64,
4249 assign(t4, binop(Iop_And32,
4250 binop(Iop_Or32,
4252 binop(Iop_CmpNE32,
4254 binop(Iop_And32,
4259 binop(Iop_CmpNE32,
4264 binop(Iop_CmpEQ32,
4265 binop(Iop_And32,
4270 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4273 binop(Iop_Or32,
4281 assign(t6, binop(Iop_Sub64,
4284 assign(t7, binop(Iop_And32,
4285 binop(Iop_Or32,
4287 binop(Iop_CmpNE32,
4289 binop(Iop_And32,
4294 binop(Iop_CmpNE32,
4299 binop(Iop_CmpEQ32,
4300 binop(Iop_And32,
4305 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4308 binop(Iop_Or32,
4312 putIReg(rt, IRExpr_ITE(binop(Iop_CmpNE32,
4316 IRExpr_ITE(binop(Iop_CmpNE32,
4339 assign(t1, binop(Iop_Sar64,
4342 binop(Iop_And32,
4346 assign(t2, binop(Iop_Or32,
4349 assign(t9, binop(Iop_And32,
4353 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4355 binop(Iop_And32,
4366 assign(t3, binop(Iop_Sub64,
4369 assign(t4, binop(Iop_And32,
4370 binop(Iop_Or32,
4372 binop(Iop_CmpNE32,
4374 binop(Iop_And32,
4379 binop(Iop_CmpNE32,
4384 binop(Iop_CmpEQ32,
4385 binop(Iop_And32,
4390 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4393 binop(Iop_Or32,
4401 assign(t6, binop(Iop_Sub64,
4404 assign(t7, binop(Iop_And32,
4405 binop(Iop_Or32,
4407 binop(Iop_CmpNE32,
4409 binop(Iop_And32,
4414 binop(Iop_CmpNE32,
4419 binop(Iop_CmpEQ32,
4420 binop(Iop_And32,
4425 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
4428 binop(Iop_Or32,
4432 putIReg(rt, IRExpr_ITE(binop(Iop_CmpNE32,
4436 IRExpr_ITE(binop(Iop_CmpNE32,
4452 putIReg(rd, binop(Iop_Or32,
4454 binop(Iop_And32,
4462 putIReg(rd, binop(Iop_Or32,
4464 binop(Iop_And32,
4471 putIReg(rd, binop(Iop_Or32,
4473 binop(Iop_And32,
4481 putIReg(rd, binop(Iop_Or32,
4483 binop(Iop_And32,
4491 putIReg(rd, binop(Iop_Or32,
4493 binop(Iop_And32,
4500 putIReg(rd, binop(Iop_Or32,
4502 binop(Iop_And32,
4522 binop(Iop_And32,
4525 binop(Iop_And32,
4532 putDSPControl(binop(Iop_Or32,
4533 binop(Iop_And32,
4536 binop(Iop_And32,
4543 putDSPControl(binop(Iop_Or32,
4544 binop(Iop_And32,
4547 binop(Iop_And32,
4555 putDSPControl(binop(Iop_Or32,
4556 binop(Iop_And32,
4559 binop(Iop_And32,
4567 putDSPControl(binop(Iop_Or32,
4568 binop(Iop_And32,
4571 binop(Iop_And32,
4579 putDSPControl(binop(Iop_Or32,
4580 binop(Iop_And32,
4583 binop(Iop_And32,
4594 putDSPControl(binop(Iop_Or32,
4595 binop(Iop_And32,
4598 binop(Iop_And32,
4616 putAcc(ac, binop(Iop_32HLto64,
4620 assign(t1, binop(Iop_Shl64,
4623 binop(Iop_Add32,
4630 assign(t1, binop(Iop_Shr64, mkexpr(t0), mkU8(shift)));
4646 assign(t1, binop(Iop_And32, getIReg(rs), mkU32(0x3f)));
4647 assign(t2, binop(Iop_CmpEQ32, mkexpr(t1), mkU32(0x20)));
4648 assign(t3, binop(Iop_Shl64,
4651 binop(Iop_Add32,
4655 assign(t4, binop(Iop_Shr64,
4662 binop(Iop_32HLto64,
4665 IRExpr_ITE(binop(Iop_CmpEQ32,
4666 binop(Iop_And32,
4683 putAcc(ac, binop(Iop_32HLto64,
4686 assign(t1, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
4687 putDSPControl(IRExpr_ITE(binop(Iop_CmpLE32U,
4690 binop(Iop_Or32,
4691 binop(Iop_Sub32,
4694 binop(Iop_And32,
4697 binop(Iop_Or32,
4698 binop(Iop_Add32,
4701 binop(Iop_And32,
4718 assign(t0, binop(Iop_Add32, getIReg(rt), getIReg(rs)));
4728 assign(t0, binop(Iop_Add32, getIReg(rt), getIReg(rs)));
4738 assign(t0, binop(Iop_Add32, getIReg(rt), getIReg(rs)));
4766 assign(t0, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
4768 assign(t1, binop(Iop_Shr32,
4769 binop(Iop_And32,
4775 binop(Iop_Add32,
4780 assign(t6, binop(Iop_Shl32,
4781 binop(Iop_Shr32,
4787 binop(Iop_Sub32,
4791 assign(t7, binop(Iop_Shr32,
4792 binop(Iop_Shl32,
4799 assign(t8, binop(Iop_Shl32,
4800 binop(Iop_And32,
4803 binop(Iop_Shl32,
4810 putIReg(rt, IRExpr_ITE(binop(Iop_CmpEQ32,
4813 IRExpr_ITE(binop(Iop_CmpEQ32,
4817 binop(Iop_Or32,
4820 IRExpr_ITE(binop(Iop_CmpEQ32,
4824 binop(Iop_Or32,
4827 binop(Iop_Or32,
4828 binop(Iop_Or32,
4856 binop(Iop_Add32,
4864 assign(t1, binop(Iop_CmpEQ32,
4865 binop(Iop_And32,
4872 binop(Iop_Add32,
4880 assign(t3, binop(Iop_CmpEQ32,
4881 binop(Iop_And32,
4888 binop(Iop_Add32,
4896 assign(t5, binop(Iop_CmpEQ32,
4897 binop(Iop_And32,
4904 binop(Iop_Add32,
4912 assign(t7, binop(Iop_CmpEQ32,
4913 binop(Iop_And32,
4919 binop(Iop_Or32,
4920 binop(Iop_Or32,
4921 binop(Iop_Or32,
4927 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
4931 binop(Iop_Or32,
4935 putIReg(rd, binop(Iop_16HLto32,
4936 binop(Iop_8HLto16,
4939 binop(Iop_8HLto16,
4959 binop(Iop_Sub32,
4967 assign(t1, binop(Iop_CmpEQ32,
4968 binop(Iop_And32,
4975 binop(Iop_Sub32,
4983 assign(t3, binop(Iop_CmpEQ32,
4984 binop(Iop_And32,
4991 binop(Iop_Sub32,
4999 assign(t5, binop(Iop_CmpEQ32,
5000 binop(Iop_And32,
5007 binop(Iop_Sub32,
5015 assign(t7, binop(Iop_CmpEQ32,
5016 binop(Iop_And32,
5021 assign(t8, binop(Iop_Or32,
5022 binop(Iop_Or32,
5023 binop(Iop_Or32,
5029 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
5033 binop(Iop_Or32,
5037 putIReg(rd, binop(Iop_16HLto32,
5038 binop(Iop_8HLto16,
5041 binop(Iop_8HLto16,
5065 binop(Iop_Add32,
5073 assign(t1, binop(Iop_CmpEQ32,
5074 binop(Iop_And32,
5085 binop(Iop_Add32,
5093 assign(t4, binop(Iop_CmpEQ32,
5094 binop(Iop_And32,
5105 binop(Iop_Add32,
5113 assign(t7, binop(Iop_CmpEQ32,
5114 binop(Iop_And32,
5125 binop(Iop_Add32,
5133 assign(t10, binop(Iop_CmpEQ32,
5134 binop(Iop_And32,
5144 binop(Iop_Or32,
5145 binop(Iop_Or32,
5146 binop(Iop_Or32,
5152 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
5156 binop(Iop_Or32,
5161 binop(Iop_16HLto32,
5162 binop(Iop_8HLto16, mkexpr(t11), mkexpr(t8)),
5163 binop(Iop_8HLto16, mkexpr(t5), mkexpr(t2))));
5182 assign(t1, binop(Iop_QSub8Ux4, getIReg(rs), getIReg(rt)));
5186 binop(Iop_Sub32,
5194 binop(Iop_Sub32,
5202 binop(Iop_Sub32,
5210 binop(Iop_Sub32,
5220 assign(t2, binop(Iop_CmpEQ32,
5221 binop(Iop_And32,
5226 binop(Iop_Or32,
5230 assign(t3, binop(Iop_CmpEQ32,
5231 binop(Iop_And32,
5236 binop(Iop_Or32,
5240 assign(t4, binop(Iop_CmpEQ32,
5241 binop(Iop_And32,
5246 binop(Iop_Or32,
5250 assign(t5, binop(Iop_CmpEQ32,
5251 binop(Iop_And32,
5256 binop(Iop_Or32,
5273 binop(Iop_MullU32,
5282 binop(Iop_MullU32,
5290 assign(t2, binop(Iop_CmpNE32,
5292 binop(Iop_And32,
5295 assign(t3, binop(Iop_CmpNE32,
5297 binop(Iop_And32,
5301 binop(Iop_Or32,
5305 binop(Iop_Or32,
5310 binop(Iop_16HLto32,
5328 binop(Iop_MullU32,
5337 binop(Iop_MullU32,
5346 assign(t2, binop(Iop_CmpNE32,
5348 binop(Iop_And32,
5351 assign(t3, binop(Iop_CmpNE32,
5353 binop(Iop_And32,
5357 binop(Iop_Or32,
5361 binop(Iop_Or32,
5365 putIReg(rd, binop(Iop_16HLto32,
5385 assign(t0, binop(Iop_Add32,
5392 assign(t1, binop(Iop_CmpLT32U,
5399 binop(Iop_Or32,
5405 assign(t2, binop(Iop_Add32,
5412 assign(t3, binop(Iop_CmpLT32U,
5420 binop(Iop_Or32,
5425 putIReg(rd, binop(Iop_16HLto32,
5439 assign(t0, binop(Iop_Sub32,
5446 assign(t1, binop(Iop_CmpNE32,
5447 binop(Iop_And32,
5453 binop(Iop_Or32,
5459 assign(t2, binop(Iop_Sub32,
5466 assign(t3, binop(Iop_CmpNE32,
5467 binop(Iop_And32,
5473 binop(Iop_Or32,
5478 putIReg(rd, binop(Iop_16HLto32,
5494 assign(t0, binop(Iop_Add32,
5501 assign(t6, binop(Iop_And32,
5506 assign(t1, binop(Iop_CmpNE32,
5507 binop(Iop_Shr32,
5508 binop(Iop_And32,
5515 binop(Iop_Or32,
5521 assign(t2, binop(Iop_Add32,
5528 assign(t7, binop(Iop_And32,
5533 assign(t3, binop(Iop_CmpNE32,
5534 binop(Iop_Shr32,
5535 binop(Iop_And32,
5542 binop(Iop_Or32,
5547 putIReg(rd, binop(Iop_16HLto32,
5563 assign(t0, binop(Iop_Sub32,
5570 assign(t6, binop(Iop_And32,
5575 assign(t1, binop(Iop_CmpNE32,
5576 binop(Iop_Shr32,
5577 binop(Iop_And32,
5584 binop(Iop_Or32,
5590 assign(t2, binop(Iop_Sub32,
5597 assign(t7, binop(Iop_And32,
5602 assign(t3, binop(Iop_CmpNE32,
5603 binop(Iop_Shr32,
5604 binop(Iop_And32,
5611 binop(Iop_Or32,
5616 putIReg(rd, binop(Iop_16HLto32,
5630 assign(t0, binop(Iop_Add32,
5637 assign(t1, binop(Iop_CmpLT32U,
5644 binop(Iop_Or32,
5650 assign(t2, binop(Iop_Add32,
5657 assign(t3, binop(Iop_CmpLT32U,
5664 binop(Iop_Or32,
5669 putIReg(rd, binop(Iop_16HLto32,
5689 assign(t0, binop(Iop_Sub32,
5696 assign(t1, binop(Iop_CmpNE32,
5697 binop(Iop_And32,
5702 binop(Iop_Or32,
5708 assign(t2, binop(Iop_Sub32,
5715 assign(t3, binop(Iop_CmpNE32,
5716 binop(Iop_And32,
5721 binop(Iop_Or32,
5727 binop(Iop_16HLto32,
5749 assign(t0, binop(Iop_Add32,
5756 assign(t6, binop(Iop_And32,
5761 assign(t1, binop(Iop_CmpNE32,
5762 binop(Iop_Shr32,
5763 binop(Iop_And32,
5770 binop(Iop_Or32,
5776 IRExpr_ITE(binop(Iop_CmpEQ32,
5784 assign(t2, binop(Iop_Add32,
5791 assign(t7, binop(Iop_And32,
5796 assign(t3, binop(Iop_CmpNE32,
5797 binop(Iop_Shr32,
5798 binop(Iop_And32,
5805 binop(Iop_Or32,
5811 IRExpr_ITE(binop(Iop_CmpEQ32,
5818 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
5834 assign(t0, binop(Iop_Sub32,
5841 assign(t6, binop(Iop_And32,
5846 assign(t1, binop(Iop_CmpNE32,
5847 binop(Iop_Shr32,
5848 binop(Iop_And32,
5855 binop(Iop_Or32,
5861 IRExpr_ITE(binop(Iop_CmpEQ32,
5869 assign(t2, binop(Iop_Sub32,
5876 assign(t7, binop(Iop_And32,
5881 assign(t3, binop(Iop_CmpNE32,
5882 binop(Iop_Shr32,
5883 binop(Iop_And32,
5890 binop(Iop_Or32,
5896 IRExpr_ITE(binop(Iop_CmpEQ32,
5903 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
5914 assign(t0, binop(Iop_Add64,
5918 assign(t1, binop(Iop_CmpEQ32,
5919 binop(Iop_And32,
5924 binop(Iop_Or32,
5927 binop(Iop_And32,
5944 assign(t0, binop(Iop_Shr32,
5945 binop(Iop_And32,
5949 assign(t1, binop(Iop_Add64,
5952 binop(Iop_Add32,
5957 assign(t2, binop(Iop_And32,
5960 assign(t3, binop(Iop_Shr32,
5961 binop(Iop_And32,
5965 assign(t4, binop(Iop_CmpNE32, mkexpr(t2), mkexpr(t3)));
5968 binop(Iop_Or32,
5991 binop(Iop_8HLto16,
5998 IRExpr_ITE(binop(Iop_CmpEQ32,
6002 binop(Iop_Sub32,
6010 putIReg(rd, binop(Iop_Add32,
6011 binop(Iop_Add32,
6020 binop(Iop_Add32,
6039 assign(t0, binop(Iop_Add64,
6043 assign(t3, binop(Iop_And32,
6046 assign(t1, binop(Iop_CmpNE32,
6047 binop(Iop_Shr32,
6048 binop(Iop_And32,
6055 binop(Iop_Or32,
6061 IRExpr_ITE(binop(Iop_CmpEQ32,
6077 assign(t0, binop(Iop_Sub64,
6081 assign(t3, binop(Iop_And32,
6084 assign(t1, binop(Iop_CmpNE32,
6085 binop(Iop_Shr32,
6086 binop(Iop_And32,
6093 binop(Iop_Or32,
6099 IRExpr_ITE(binop(Iop_CmpEQ32,
6116 binop(Iop_Shl32,
6117 binop(Iop_Mul32,
6123 assign(t1, binop(Iop_CmpEQ32,
6124 binop(Iop_And32,
6128 assign(t2, binop(Iop_CmpEQ32,
6129 binop(Iop_And32,
6135 binop(Iop_Or32,
6157 binop(Iop_Shl32,
6158 binop(Iop_Mul32,
6164 assign(t1, binop(Iop_CmpEQ32,
6165 binop(Iop_And32,
6169 assign(t2, binop(Iop_CmpEQ32,
6170 binop(Iop_And32,
6176 binop(Iop_Or32,
6211 assign(t0, binop(Iop_And32,
6213 binop(Iop_CmpEQ32,
6214 binop(Iop_And32,
6219 binop(Iop_CmpEQ32,
6220 binop(Iop_And32,
6224 assign(t1, binop(Iop_And32,
6226 binop(Iop_CmpEQ32,
6227 binop(Iop_And32,
6232 binop(Iop_CmpEQ32,
6233 binop(Iop_And32,
6238 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
6239 binop(Iop_Or32,
6244 binop(Iop_Or32,
6249 binop(Iop_Shl32,
6251 binop(Iop_MullS32,
6256 binop(Iop_Shl32,
6258 binop(Iop_MullS32,
6262 putIReg(rd, binop(Iop_16HLto32,
6263 IRExpr_ITE(binop(Iop_CmpEQ32,
6268 IRExpr_ITE(binop(Iop_CmpEQ32,
6288 assign(t0, binop(Iop_Add32,
6289 binop(Iop_Shl32,
6290 binop(Iop_Mul32,
6299 assign(t1, binop(Iop_CmpEQ32,
6300 binop(Iop_And32,
6303 assign(t2, binop(Iop_CmpEQ32,
6304 binop(Iop_And32,
6309 binop(Iop_Or32,
6323 assign(t4, binop(Iop_Add32,
6324 binop(Iop_Shl32,
6325 binop(Iop_Mul32,
6334 assign(t5, binop(Iop_CmpEQ32,
6335 binop(Iop_And32,
6339 assign(t6, binop(Iop_CmpEQ32,
6340 binop(Iop_And32,
6346 binop(Iop_Or32,
6358 putIReg(rd, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
6377 binop(Iop_CmpEQ32,
6378 binop(Iop_And32, getIReg(rs), mkU32(0xff)),
6379 binop(Iop_And32, getIReg(rt), mkU32(0xff))));
6381 binop(Iop_Or32,
6384 binop(Iop_And32,
6388 assign(t2, binop(Iop_CmpEQ32,
6398 binop(Iop_Or32,
6401 binop(Iop_And32,
6405 assign(t3, binop(Iop_CmpEQ32,
6415 binop(Iop_Or32,
6418 binop(Iop_And32,
6422 assign(t4, binop(Iop_CmpEQ32,
6432 binop(Iop_Or32,
6435 binop(Iop_And32,
6448 assign(t1, binop(Iop_CmpLT32U,
6458 binop(Iop_Or32,
6461 binop(Iop_And32,
6465 assign(t2, binop(Iop_CmpLT32U,
6475 binop(Iop_Or32,
6478 binop(Iop_And32,
6482 assign(t3, binop(Iop_CmpLT32U,
6492 binop(Iop_Or32,
6495 binop(Iop_And32,
6499 assign(t4, binop(Iop_CmpLT32U,
6509 binop(Iop_Or32,
6512 binop(Iop_And32,
6525 assign(t1, binop(Iop_CmpLE32U,
6535 binop(Iop_Or32,
6538 binop(Iop_And32,
6542 assign(t2, binop(Iop_CmpLE32U,
6552 binop(Iop_Or32,
6555 binop(Iop_And32,
6559 assign(t3, binop(Iop_CmpLE32U,
6569 binop(Iop_Or32,
6572 binop(Iop_And32,
6576 assign(t4, binop(Iop_CmpLE32U,
6586 binop(Iop_Or32,
6589 binop(Iop_And32,
6604 assign(t1, IRExpr_ITE(binop(Iop_CmpNE32,
6605 binop(Iop_And32,
6615 assign(t2, IRExpr_ITE(binop(Iop_CmpNE32,
6616 binop(Iop_And32,
6625 assign(t3, IRExpr_ITE(binop(Iop_CmpNE32,
6626 binop(Iop_And32,
6636 assign(t4, IRExpr_ITE(binop(Iop_CmpNE32,
6637 binop(Iop_And32,
6648 binop(Iop_16HLto32,
6649 binop(Iop_8HLto16, mkexpr(t4), mkexpr(t3)),
6650 binop(Iop_8HLto16, mkexpr(t2), mkexpr(t1))));
6665 assign(t1, binop(Iop_CmpEQ32,
6676 assign(t2, binop(Iop_CmpEQ32,
6687 assign(t3, binop(Iop_CmpEQ32,
6699 assign(t4, binop(Iop_CmpEQ32,
6711 putIReg(rd, binop(Iop_Or32,
6712 binop(Iop_Or32,
6713 binop(Iop_Or32,
6731 assign(t1, binop(Iop_CmpLT32U,
6742 assign(t2, binop(Iop_CmpLT32U,
6753 assign(t3, binop(Iop_CmpLT32U,
6765 assign(t4, binop(Iop_CmpLT32U,
6776 putIReg(rd, binop(Iop_Or32,
6777 binop(Iop_Or32,
6778 binop(Iop_Or32,
6796 assign(t1, binop(Iop_CmpLE32U,
6807 assign(t2, binop(Iop_CmpLE32U,
6818 assign(t3, binop(Iop_CmpLE32U,
6830 assign(t4, binop(Iop_CmpLE32U,
6841 putIReg(rd, binop(Iop_Or32,
6842 binop(Iop_Or32,
6843 binop(Iop_Or32,
6855 assign(t1, binop(Iop_CmpEQ16,
6859 binop(Iop_Or32,
6862 binop(Iop_And32,
6865 assign(t2, binop(Iop_CmpEQ16,
6869 binop(Iop_Or32,
6872 binop(Iop_And32,
6883 assign(t1, binop(Iop_CmpLT32S,
6889 binop(Iop_Or32,
6892 binop(Iop_And32,
6896 assign(t2, binop(Iop_CmpLT32S,
6902 binop(Iop_Or32,
6905 binop(Iop_And32,
6916 assign(t1, binop(Iop_CmpLE32S,
6922 binop(Iop_Or32,
6925 binop(Iop_And32,
6929 assign(t2, binop(Iop_CmpLE32S,
6935 binop(Iop_Or32,
6938 binop(Iop_And32,
6952 assign(t1, IRExpr_ITE(binop(Iop_CmpNE32,
6953 binop(Iop_And32,
6960 assign(t2, IRExpr_ITE(binop(Iop_CmpNE32,
6961 binop(Iop_And32,
6968 putIReg(rd, binop(Iop_16HLto32, mkexpr(t2), mkexpr(t1)));
6975 binop(Iop_16HLto32,
6976 binop(Iop_8HLto16,
6981 binop(Iop_8HLto16,
6993 binop(Iop_16HLto32,
6994 binop(Iop_8HLto16,
6999 binop(Iop_8HLto16,
7026 assign(t4, IRExpr_ITE(binop(Iop_CmpLT32U,
7028 binop(Iop_And32,
7036 binop(Iop_Shl32,
7039 assign(t0, IRExpr_ITE(binop(Iop_CmpEQ32,
7040 binop(Iop_And32,
7048 assign(t5, binop(Iop_And32,
7053 assign(t6, binop(Iop_CmpLT32U,
7055 binop(Iop_And32,
7060 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
7064 binop(Iop_Or32,
7069 binop(Iop_Or32,
7073 assign(t7, IRExpr_ITE(binop(Iop_CmpLT32U,
7075 binop(Iop_And32,
7083 binop(Iop_Shl32,
7086 assign(t1, IRExpr_ITE(binop(Iop_CmpEQ32,
7087 binop(Iop_And32,
7095 assign(t8, binop(Iop_CmpEQ32,
7096 binop(Iop_And32,
7102 assign(t9, IRExpr_ITE(binop(Iop_CmpLT32U,
7104 binop(Iop_And32,
7109 binop(Iop_Or32,
7115 binop(Iop_Or32,
7119 assign(t10, IRExpr_ITE(binop(Iop_CmpLT32U,
7121 binop(Iop_And32,
7129 binop(Iop_Shl32,
7132 assign(t2, IRExpr_ITE(binop(Iop_CmpEQ32,
7133 binop(Iop_And32,
7141 assign(t11, binop(Iop_CmpEQ32,
7142 binop(Iop_And32,
7148 assign(t12, IRExpr_ITE(binop(Iop_CmpLT32U,
7150 binop(Iop_And32,
7155 binop(Iop_Or32,
7161 binop(Iop_Or32,
7165 assign(t13, IRExpr_ITE(binop(Iop_CmpLT32U,
7167 binop(Iop_And32,
7175 binop(Iop_Shl32,
7178 assign(t3, IRExpr_ITE(binop(Iop_CmpEQ32,
7179 binop(Iop_And32,
7187 assign(t14, binop(Iop_CmpEQ32,
7188 binop(Iop_And32,
7194 assign(t15, IRExpr_ITE(binop(Iop_CmpLT32U,
7196 binop(Iop_And32,
7201 binop(Iop_Or32,
7207 binop(Iop_Or32,
7211 putIReg(rd, binop(Iop_16HLto32,
7212 binop(Iop_8HLto16,
7214 binop(Iop_8HLto16,
7221 putIReg(rd, binop(Iop_16HLto32,
7236 assign(t0, binop(Iop_Add64,
7237 binop(Iop_32HLto64,
7238 binop(Iop_Shr32,
7239 binop(Iop_And32,
7245 assign(t1, binop(Iop_CmpNE32,
7246 binop(Iop_And32,
7249 binop(Iop_And32,
7250 binop(Iop_Shr32,
7258 binop(Iop_Or32,
7262 assign(t3, binop(Iop_Add64,
7263 binop(Iop_32HLto64,
7264 binop(Iop_Shr32,
7265 binop(Iop_And32,
7271 assign(t4, binop(Iop_CmpNE32,
7272 binop(Iop_And32,
7275 binop(Iop_And32,
7276 binop(Iop_Shr32,
7284 binop(Iop_Or32,
7288 putIReg(rd, binop(Iop_16HLto32,
7298 putIReg(rt, binop(Iop_16HLto32,
7302 putIReg(rt, binop(Iop_16HLto32,
7303 unop(Iop_32to16, binop(Iop_Sar32,
7306 unop(Iop_32to16, binop(Iop_Sar32,
7320 putIReg(rt, binop(Iop_16HLto32,
7324 assign(t0, binop(Iop_Shr32,
7325 binop(Iop_Add32,
7326 binop(Iop_Sar32,
7331 assign(t1, binop(Iop_Shr32,
7332 binop(Iop_Add32,
7333 binop(Iop_Sar32,
7338 putIReg(rt, binop(Iop_16HLto32,
7348 putIReg(rd, binop(Iop_16HLto32,
7366 binop(Iop_CmpEQ32,
7376 binop(Iop_Or32,
7379 binop(Iop_And32,
7383 assign(t2, binop(Iop_CmpEQ32,
7394 binop(Iop_Or32,
7397 binop(Iop_And32,
7401 assign(t3, binop(Iop_CmpEQ32,
7413 binop(Iop_Or32,
7416 binop(Iop_And32,
7420 assign(t4, binop(Iop_CmpEQ32,
7432 binop(Iop_Or32,
7435 binop(Iop_And32,
7439 putIReg(rd, binop(Iop_Or32,
7440 binop(Iop_Or32,
7441 binop(Iop_Or32,
7459 assign(t1, binop(Iop_CmpLT32U,
7470 binop(Iop_Or32,
7473 binop(Iop_And32,
7477 assign(t2, binop(Iop_CmpLT32U,
7488 binop(Iop_Or32,
7491 binop(Iop_And32,
7495 assign(t3, binop(Iop_CmpLT32U,
7507 binop(Iop_Or32,
7510 binop(Iop_And32,
7514 assign(t4, binop(Iop_CmpLT32U,
7526 binop(Iop_Or32,
7529 binop(Iop_And32,
7533 putIReg(rd, binop(Iop_Or32,
7534 binop(Iop_Or32,
7535 binop(Iop_Or32,
7553 assign(t1, binop(Iop_CmpLE32U,
7565 binop(Iop_Or32,
7568 binop(Iop_And32,
7572 assign(t2, binop(Iop_CmpLE32U,
7583 binop(Iop_Or32,
7586 binop(Iop_And32,
7590 assign(t3, binop(Iop_CmpLE32U,
7602 binop(Iop_Or32,
7605 binop(Iop_And32,
7609 assign(t4, binop(Iop_CmpLE32U,
7621 binop(Iop_Or32,
7624 binop(Iop_And32,
7628 putIReg(rd, binop(Iop_Or32,
7629 binop(Iop_Or32,
7630 binop(Iop_Or32,
7662 assign(t0, binop(Iop_Shl32,
7663 binop(Iop_And32,
7667 assign(t1, binop(Iop_CmpNE32,
7668 binop(Iop_And32,
7672 assign(t2, binop(Iop_CmpNE32,
7673 binop(Iop_And32,
7677 assign(t7, binop(Iop_CmpNE32,
7678 binop(Iop_And32,
7682 assign(t8, binop(Iop_CmpNE32,
7683 binop(Iop_And32,
7688 assign(t3, binop(Iop_Shl32,
7689 binop(Iop_Shr32,
7690 binop(Iop_And32,
7695 assign(t4, binop(Iop_CmpNE32,
7696 binop(Iop_And32,
7700 assign(t5, binop(Iop_CmpNE32,
7701 binop(Iop_And32,
7705 assign(t9, binop(Iop_CmpNE32,
7706 binop(Iop_And32,
7710 assign(t10, binop(Iop_CmpNE32,
7711 binop(Iop_And32,
7716 assign(t6, binop(Iop_Or32,
7717 binop(Iop_Or32,
7718 binop(Iop_And32,
7723 binop(Iop_And32,
7728 binop(Iop_Or32,
7729 binop(Iop_And32,
7734 binop(Iop_And32,
7740 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
7743 binop(Iop_Or32,
7747 putIReg(rd, binop(Iop_Or32,
7748 binop(Iop_Shl32,
7749 binop(Iop_And32,
7753 binop(Iop_And32,
7772 assign(t9, binop(Iop_And32, getIReg(rs), mkU32(0x7)));
7777 binop(Iop_Shr32,
7785 binop(Iop_Shr32,
7793 binop(Iop_Shr32,
7801 binop(Iop_Shr32,
7804 putIReg(rd, IRExpr_ITE(binop(Iop_CmpEQ32,
7808 binop(Iop_16HLto32,
7809 binop(Iop_8HLto16,
7812 binop(Iop_8HLto16,
7834 binop(Iop_And32,
7838 assign(t0, binop(Iop_Shl32,
7839 binop(Iop_And32,
7843 assign(t1, binop(Iop_CmpNE32,
7844 binop(Iop_And32,
7848 assign(t2, binop(Iop_CmpNE32,
7849 binop(Iop_And32,
7853 assign(t7, binop(Iop_CmpNE32,
7854 binop(Iop_And32,
7858 assign(t8, binop(Iop_CmpNE32,
7859 binop(Iop_And32,
7864 assign(t3, binop(Iop_Shl32,
7865 binop(Iop_Shr32,
7866 binop(Iop_And32,
7871 assign(t4, binop(Iop_CmpNE32,
7872 binop(Iop_And32,
7876 assign(t5, binop(Iop_CmpNE32,
7877 binop(Iop_And32,
7881 assign(t9, binop(Iop_CmpNE32,
7882 binop(Iop_And32,
7886 assign(t10, binop(Iop_CmpNE32,
7887 binop(Iop_And32,
7892 assign(t6, binop(Iop_Or32,
7893 binop(Iop_Or32,
7894 binop(Iop_And32,
7899 binop(Iop_And32,
7904 binop(Iop_Or32,
7905 binop(Iop_And32,
7910 binop(Iop_And32,
7916 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
7919 binop(Iop_Or32,
7923 putIReg(rd, IRExpr_ITE(binop(Iop_CmpEQ32,
7927 binop(Iop_Or32,
7928 binop(Iop_Shl32,
7929 binop(Iop_And32,
7933 binop(Iop_And32,
7947 binop(Iop_Shr32,
7952 binop(Iop_Shr32,
7959 binop(Iop_Shr32,
7966 binop(Iop_Shr32,
7973 binop(Iop_16HLto32,
7974 binop(Iop_8HLto16, mkexpr(t3), mkexpr(t2)),
7975 binop(Iop_8HLto16, mkexpr(t1), mkexpr(t0))));
8000 binop(Iop_Shr32, mkexpr(t1), mkU8(rs)));
8003 binop(Iop_Or32,
8005 binop(Iop_Shl32,
8006 IRExpr_ITE(binop(Iop_CmpEQ32,
8007 binop(Iop_And32,
8014 binop(Iop_Sub8, mkU8(0x8), mkU8(rs)))));
8021 assign(t5, binop(Iop_Shr32, mkexpr(t4), mkU8(rs)));
8024 binop(Iop_Or32,
8026 binop(Iop_Shl32,
8027 IRExpr_ITE(binop(Iop_CmpEQ32,
8028 binop(Iop_And32,
8035 binop(Iop_Sub8, mkU8(0x8), mkU8(rs)))));
8042 assign(t8, binop(Iop_Shr32, mkexpr(t7), mkU8(rs)));
8045 binop(Iop_Or32,
8047 binop(Iop_Shl32,
8048 IRExpr_ITE(binop(Iop_CmpEQ32,
8049 binop(Iop_And32,
8056 binop(Iop_Sub8, mkU8(0x8), mkU8(rs)))));
8063 assign(t11, binop(Iop_Shr32, mkexpr(t10), mkU8(rs)));
8066 binop(Iop_Or32,
8068 binop(Iop_Shl32,
8069 IRExpr_ITE(binop(Iop_CmpEQ32,
8070 binop(Iop_And32,
8077 binop(Iop_Sub8, mkU8(0x8), mkU8(rs)))));
8080 binop(Iop_16HLto32,
8081 binop(Iop_8HLto16,
8084 binop(Iop_8HLto16,
8108 binop(Iop_Sar32,
8109 binop(Iop_Add32,
8111 binop(Iop_Shl32,
8120 binop(Iop_Sar32,
8121 binop(Iop_Add32,
8123 binop(Iop_Shl32,
8132 binop(Iop_Sar32,
8133 binop(Iop_Add32,
8135 binop(Iop_Shl32,
8144 binop(Iop_Sar32,
8145 binop(Iop_Add32,
8147 binop(Iop_Shl32,
8151 putIReg(rd, binop(Iop_16HLto32,
8152 binop(Iop_8HLto16,
8154 binop(Iop_8HLto16,
8185 binop(Iop_Shr32,
8187 unop(Iop_32to8, binop(Iop_And32,
8192 binop(Iop_Or32,
8194 binop(Iop_Shl32,
8195 IRExpr_ITE(binop(Iop_CmpEQ32,
8196 binop(Iop_And32,
8203 binop(Iop_Sub8,
8205 unop(Iop_32to8, binop(Iop_And32,
8216 binop(Iop_Shr32,
8218 unop(Iop_32to8, binop(Iop_And32,
8223 binop(Iop_Or32,
8225 binop(Iop_Shl32,
8226 IRExpr_ITE(binop(Iop_CmpEQ32,
8227 binop(Iop_And32,
8234 binop(Iop_Sub8,
8236 unop(Iop_32to8, binop(Iop_And32,
8247 binop(Iop_Shr32,
8249 unop(Iop_32to8, binop(Iop_And32,
8254 binop(Iop_Or32,
8256 binop(Iop_Shl32,
8257 IRExpr_ITE(binop(Iop_CmpEQ32,
8258 binop(Iop_And32,
8265 binop(Iop_Sub8,
8267 unop(Iop_32to8, binop(Iop_And32,
8278 binop(Iop_Shr32,
8280 unop(Iop_32to8, binop(Iop_And32,
8285 binop(Iop_Or32,
8287 binop(Iop_Shl32,
8288 IRExpr_ITE(binop(Iop_CmpEQ32,
8289 binop(Iop_And32,
8296 binop(Iop_Sub8,
8298 unop(Iop_32to8, binop(Iop_And32,
8304 binop(Iop_16HLto32,
8305 binop(Iop_8HLto16,
8307 IRExpr_ITE(binop(Iop_CmpEQ32,
8308 binop(Iop_And32,
8316 IRExpr_ITE(binop(Iop_CmpEQ32,
8317 binop(Iop_And32,
8324 binop(Iop_8HLto16,
8326 IRExpr_ITE(binop(Iop_CmpEQ32,
8327 binop(Iop_And32,
8335 IRExpr_ITE(binop(Iop_CmpEQ32,
8336 binop(Iop_And32,
8359 assign(t9, binop(Iop_And32, getIReg(rs), mkU32(0x7)));
8361 binop(Iop_Sub32, mkexpr(t9), mkU32(0x1))));
8366 binop(Iop_Sar32,
8367 binop(Iop_Add32,
8369 binop(Iop_Shl32,
8379 binop(Iop_Sar32,
8380 binop(Iop_Add32,
8382 binop(Iop_Shl32,
8391 binop(Iop_Sar32,
8392 binop(Iop_Add32,
8394 binop(Iop_Shl32,
8403 binop(Iop_Sar32,
8404 binop(Iop_Add32,
8406 binop(Iop_Shl32,
8410 putIReg(rd, IRExpr_ITE(binop(Iop_CmpEQ32,
8414 binop(Iop_16HLto32,
8415 binop(Iop_8HLto16,
8418 binop(Iop_8HLto16,
8439 assign(t0, binop(Iop_Shl32,
8445 binop(Iop_CmpNE32,
8446 binop
8451 binop(Iop_CmpNE32,
8452 binop(Iop_Sar32,
8456 assign(t3, binop(Iop_And32,
8459 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8462 binop(Iop_Or32,
8466 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8467 binop(Iop_And32,
8470 binop(Iop_And32,
8475 binop(Iop_Or32,
8479 assign(t4, binop(Iop_Shl32,
8485 binop(Iop_CmpNE32,
8486 binop(Iop_Sar32,
8491 binop(Iop_CmpNE32,
8492 binop(Iop_Sar32,
8496 assign(t7, binop(Iop_And32,
8499 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8502 binop(Iop_Or32,
8506 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8509 binop(Iop_Or32,
8513 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8514 binop(Iop_And32,
8517 binop(Iop_Shl32,
8518 binop(Iop_And32,
8524 binop(Iop_Or32,
8527 putIReg(rd, binop(Iop_16HLto32,
8541 assign(t0, binop(Iop_Sar32,
8545 assign(t1, binop(Iop_Sar32,
8549 putIReg(rd, binop(Iop_16HLto32,
8572 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x0f)));
8575 assign(t2, binop(Iop_Shl32,
8580 assign(t3, binop(Iop_CmpNE32,
8584 assign(t4, binop(Iop_CmpNE32,
8588 assign(t10, binop(Iop_And32,
8591 assign(t5, binop(Iop_Shr32,
8592 binop(Iop_And32,
8596 assign(t12, binop(Iop_CmpEQ32,
8598 binop(Iop_Shr32,
8599 binop(Iop_And32,
8604 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
8607 binop(Iop_Or32,
8612 binop(Iop_Or32,
8617 assign(t6, binop(Iop_Shl32,
8622 assign(t7, binop(Iop_CmpNE32,
8626 assign(t8, binop(Iop_CmpNE32,
8630 assign(t11, binop(Iop_And32,
8634 assign(t9, binop(Iop_Shr32,
8635 binop(Iop_And32,
8639 assign(t13, binop(Iop_CmpEQ32,
8641 binop(Iop_Shr32,
8642 binop(Iop_And32,
8647 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
8650 binop(Iop_Or32,
8655 binop(Iop_Or32,
8660 putIReg(rd, binop(Iop_16HLto32,
8673 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x0f)));
8674 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
8675 assign(t2, binop(Iop_Sar32,
8679 assign(t3, binop(Iop_Sar32,
8684 binop(Iop_16HLto32,
8716 assign(t0, binop(Iop_Shl32,
8722 binop(Iop_CmpNE32,
8723 binop(Iop_Sar32,
8728 binop(Iop_CmpNE32,
8729 binop(Iop_Sar32,
8733 assign(t3, binop(Iop_And32,
8736 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8739 binop(Iop_Or32,
8743 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8744 binop(Iop_And32,
8747 binop(Iop_And32,
8752 binop(Iop_Or32,
8756 IRExpr_ITE(binop(Iop_CmpEQ32,
8759 IRExpr_ITE(binop(Iop_CmpEQ32,
8760 binop(Iop_And32,
8766 binop(Iop_And32,
8770 IRExpr_ITE(binop(Iop_CmpEQ32,
8771 binop(Iop_And32,
8774 binop(Iop_And32,
8778 IRExpr_ITE(binop(Iop_CmpEQ32,
8779 binop(Iop_And32,
8786 assign(t4, binop(Iop_Shl32,
8792 binop(Iop_CmpNE32,
8793 binop(Iop_Sar32,
8798 binop(Iop_CmpNE32,
8799 binop(Iop_Sar32,
8803 assign(t7, binop(Iop_And32,
8806 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8809 binop(Iop_Or32,
8813 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8816 binop(Iop_Or32,
8820 assign(t12, binop(Iop_Shl32,
8821 binop(Iop_And32,
8825 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
8826 binop(Iop_And32,
8831 binop(Iop_Or32,
8834 assign(t13, IRExpr_ITE(binop(Iop_CmpEQ32,
8835 binop(Iop_And32,
8842 IRExpr_ITE(binop(Iop_CmpEQ32,
8846 binop(Iop_Shl32,
8847 binop(Iop_And32,
8851 assign(t14, IRExpr_ITE(binop(Iop_CmpEQ32,
8852 binop(Iop_And32,
8859 IRExpr_ITE(binop(Iop_CmpEQ32,
8860 binop(Iop_And32,
8863 binop(Iop_Shl32,
8864 binop(Iop_And32,
8870 putIReg(rd, binop(Iop_Or32,
8884 assign(t0, binop(Iop_Sar32,
8885 binop(Iop_Add32,
8889 binop(Iop_Shl32,
8893 assign(t1, binop(Iop_Sar32,
8894 binop(Iop_Add32,
8898 binop(Iop_Shl32,
8902 putIReg(rd, binop(Iop_16HLto32,
8929 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x0f)));
8932 assign(t2, binop(Iop_Shl32,
8937 assign(t3, binop(Iop_CmpNE32,
8941 assign(t4, binop(Iop_CmpNE32,
8945 assign(t10, binop(Iop_And32,
8948 assign(t5, binop(Iop_Shr32,
8949 binop(Iop_And32,
8953 assign(t12, binop(Iop_CmpEQ32,
8955 binop(Iop_Shr32,
8956 binop(Iop_And32,
8961 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
8964 binop(Iop_Or32,
8969 binop(Iop_Or32,
8973 assign(t14, IRExpr_ITE(binop(Iop_CmpNE32,
8978 assign(t15, IRExpr_ITE(binop(Iop_CmpNE32,
8987 assign(t6, binop(Iop_Shl32,
8992 assign(t7, binop(Iop_CmpNE32,
8996 assign(t8, binop(Iop_CmpNE32,
9000 assign(t11, binop(Iop_And32,
9004 assign(t9, binop(Iop_Shr32,
9005 binop(Iop_And32,
9009 assign(t13, binop(Iop_CmpEQ32,
9011 binop(Iop_Shr32,
9012 binop(Iop_And32,
9017 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
9020 binop(Iop_Or32,
9025 binop(Iop_Or32,
9030 assign(t16, IRExpr_ITE(binop(Iop_CmpNE32,
9035 assign(t17, IRExpr_ITE(binop(Iop_CmpNE32,
9044 putIReg(rd, binop(Iop_16HLto32, mkexpr(t17), mkexpr(t15)));
9056 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x0f)));
9057 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9059 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9061 assign(t3, binop(Iop_Sar32,
9062 binop(Iop_Add32,
9065 binop(Iop_Shl32,
9069 assign(t4, binop(Iop_Sar32,
9070 binop(Iop_Add32,
9074 binop(Iop_Shl32,
9079 putIReg(rd, binop(Iop_16HLto32,
9106 assign(t0, binop(Iop_Sar32,
9107 binop(Iop_And32,
9109 binop(Iop_Sar32,
9114 assign(t1, IRExpr_ITE(binop(Iop_CmpEQ32,
9115 binop(Iop_And32,
9122 assign(t2, binop(Iop_Shl32, getIReg(rt), mkU8(rs)));
9123 assign(t3, IRExpr_ITE(binop(Iop_CmpEQ32,
9124 binop(Iop_And32,
9127 binop(Iop_And32,
9133 assign(t4, IRExpr_ITE(binop(Iop_CmpNE32,
9136 IRExpr_ITE(binop(Iop_CmpNE32,
9143 assign(t5, IRExpr_ITE(binop(Iop_CmpNE32,
9146 binop(Iop_Or32,
9150 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
9155 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
9156 binop(Iop_And32,
9159 binop(Iop_And32,
9164 binop(Iop_Or32,
9177 putIReg(rd, binop(Iop_Add32,
9178 binop(Iop_Sar32,
9180 binop(Iop_Shr32,
9181 binop(Iop_And32,
9183 binop(Iop_Shl32,
9204 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x1f)));
9205 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9208 assign(t2, binop(Iop_Shr32,
9209 binop(Iop_And32,
9214 assign(t3, binop(Iop_Shl64,
9217 assign(t4, binop(Iop_CmpNE32,
9220 assign(t5, binop(Iop_CmpNE32,
9223 assign(t6, binop(Iop_And32,
9226 assign(t7, binop(Iop_CmpEQ32,
9227 binop(Iop_Shr32,
9228 binop(Iop_And32,
9232 binop(Iop_Shr32,
9233 binop(Iop_And32,
9239 binop(Iop_Or32,
9244 binop(Iop_Or32,
9272 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x1f)));
9273 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9275 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9279 binop(Iop_Sar32,
9280 binop(Iop_Add32,
9281 binop(Iop_Sar32,
9293 assign(t0, binop(Iop_Shr32,
9297 assign(t1, binop(Iop_Shr32,
9301 binop(Iop_16HLto32,
9318 assign(t0, binop(Iop_And32, getIReg(rs), mkU32(0x0f)));
9319 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9321 assign(t2, binop(Iop_Shr32,
9325 assign(t3, binop(Iop_Shr32,
9336 putIReg(rd, binop(Iop_16HLto32, mkexpr(t4), mkexpr(t5)));
9351 assign(t0, binop(Iop_HAdd8Ux4, getIReg(rs), getIReg(rt)));
9361 assign(t0, binop(Iop_HSub8Ux4, getIReg(rs), getIReg(rt)));
9392 binop(Iop_Shr32,
9393 binop(Iop_Add32,
9394 binop(Iop_Add32,
9408 binop(Iop_Shr32,
9409 binop(Iop_Add32,
9410 binop(Iop_Add32,
9424 binop(Iop_Shr32,
9425 binop(Iop_Add32,
9426 binop(Iop_Add32,
9440 binop(Iop_Shr32,
9441 binop(Iop_Add32,
9442 binop(Iop_Add32,
9448 putIReg(rd, binop(Iop_16HLto32,
9449 binop(Iop_8HLto16,
9451 binop(Iop_8HLto16,
9501 binop(Iop_Shr32,
9502 binop(Iop_Add32,
9503 binop(Iop_Sub32,
9510 binop(Iop_Shr32,
9511 binop(Iop_Add32,
9512 binop(Iop_Sub32,
9519 binop(Iop_Shr32,
9520 binop(Iop_Add32,
9521 binop(Iop_Sub32,
9528 binop(Iop_Shr32,
9529 binop(Iop_Add32,
9530 binop(Iop_Sub32,
9536 putIReg(rd, binop(Iop_16HLto32,
9537 binop(Iop_8HLto16,
9539 binop(Iop_8HLto16,
9553 assign(t0, binop(Iop_Add32,
9559 binop(Iop_Shr32,
9560 binop(Iop_And32,
9566 assign(t2, binop(Iop_Add32,
9572 binop(Iop_Shr32,
9573 binop(Iop_And32,
9577 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9584 putIReg(rd, binop(Iop_HSub16Sx2,
9598 assign(t0, binop(Iop_Add32,
9604 binop(Iop_Shr32,
9605 binop(Iop_And32,
9606 binop(Iop_Add32,
9613 assign(t2, binop(Iop_Add32,
9619 binop(Iop_Shr32,
9620 binop(Iop_And32,
9621 binop(Iop_Add32,
9627 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9640 assign(t0, binop(Iop_Sub32,
9646 binop(Iop_Shr32,
9647 binop(Iop_And32,
9648 binop(Iop_Add32,
9655 assign(t2, binop(Iop_Sub32,
9661 binop(Iop_Shr32,
9662 binop(Iop_And32,
9663 binop(Iop_Add32,
9669 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9680 binop(Iop_Mul32,
9687 binop(Iop_CmpLE32S,
9690 binop(Iop_Or32,
9693 IRExpr_ITE(binop(Iop_CmpLT32S,
9697 binop(Iop_Or32,
9704 binop(Iop_Mul32,
9711 binop(Iop_CmpLE32S,
9714 binop(Iop_Or32,
9717 IRExpr_ITE(binop(Iop_CmpLT32S,
9721 binop(Iop_Or32,
9727 assign(t2, binop(Iop_16HLto32,
9745 binop(Iop_Mul32,
9753 binop(Iop_CmpLE32S,
9757 IRExpr_ITE(binop(Iop_CmpLT32S,
9765 binop(Iop_CmpLE32S,
9768 binop(Iop_Or32,
9771 IRExpr_ITE(binop(Iop_CmpLT32S,
9775 binop(Iop_Or32,
9782 assign(t2, binop(Iop_Mul32,
9789 binop(Iop_CmpLE32S,
9793 IRExpr_ITE(binop(Iop_CmpLT32S,
9801 binop(Iop_CmpLE32S,
9804 binop(Iop_Or32,
9807 IRExpr_ITE(binop(Iop_CmpLT32S,
9811 binop(Iop_Or32,
9817 assign(t4, binop(Iop_16HLto32,
9829 assign(t0, binop(Iop_Add64,
9832 assign(t1, binop(Iop_And64,
9836 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
9845 assign(t0, binop(Iop_Sub64,
9848 assign(t1, binop(Iop_And64,
9852 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
9862 assign(t0, binop(Iop_Add64,
9865 assign(t1, binop(Iop_Add64,
9868 assign(t2, binop(Iop_And64,
9872 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
9882 assign(t0, binop(Iop_Sub64,
9885 assign(t1, binop(Iop_Add64,
9888 assign(t2, binop(Iop_And64,
9892 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
9902 assign(t0, binop(Iop_Shl64,
9903 binop(Iop_MullS32,
9906 assign(t1, binop(Iop_CmpEQ32,
9908 binop(Iop_CmpEQ32,
9913 binop(Iop_Or32,
9934 assign(t0, binop(Iop_Add64,
9935 binop(Iop_Shl64,
9936 binop(Iop_MullS32,
9942 binop(Iop_CmpEQ32, getIReg(rt), mkU32(0x80000000)));
9944 binop(Iop_CmpEQ32, getIReg(rs), mkU32(0x80000000)));
9947 binop(Iop_Or32,
9978 binop(Iop_Mul32,
9985 binop(Iop_Mul32,
9991 binop(Iop_Add64,
9993 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10007 binop(Iop_Mul32,
10014 binop(Iop_Mul32,
10020 binop(Iop_Sub64,
10022 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10036 assign(t0, binop(Iop_Mul32,
10041 assign(t1, binop(Iop_Mul32,
10046 assign(t2, binop(Iop_Sub32, mkexpr(t1), mkexpr(t0)));
10047 putAcc(ac, binop(Iop_Add64,
10061 binop(Iop_Mul32,
10069 binop(Iop_Mul32,
10078 binop(Iop_Add32,
10082 binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10102 assign(t1, binop(Iop_Shl64,
10103 binop(Iop_MullS32,
10111 assign(t2, binop(Iop_CmpEQ32,
10115 assign(t3, binop(Iop_CmpEQ32,
10128 binop(Iop_Or32,
10130 binop(Iop_Shl32,
10138 assign(t5, binop(Iop_Shl64,
10139 binop(Iop_MullS32,
10146 assign(t6, binop(Iop_CmpEQ32,
10150 assign(t7, binop(Iop_CmpEQ32,
10163 binop(Iop_Or32,
10165 binop(Iop_Shl32,
10173 assign(t9, binop(Iop_Add64,
10174 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
10195 assign(t1, binop(Iop_Shl64,
10196 binop(Iop_MullS32,
10204 assign(t2, binop(Iop_CmpEQ32,
10208 assign(t3, binop(Iop_CmpEQ32,
10221 binop(Iop_Or32,
10223 binop(Iop_Shl32,
10232 binop(Iop_Shl64,
10233 binop(Iop_MullS32,
10239 assign(t6, binop(Iop_CmpEQ32,
10243 assign(t7, binop(Iop_CmpEQ32,
10256 binop(Iop_Or32,
10258 binop(Iop_Shl32,
10267 binop(Iop_Sub64,
10269 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
10293 assign(t8, binop(Iop_And32,
10295 binop(Iop_CmpEQ32,
10301 binop(Iop_CmpEQ32,
10307 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
10310 binop(Iop_Or32,
10312 binop(Iop_Shl32,
10319 IRExpr_ITE(binop(Iop_CmpNE32,
10322 binop(Iop_Shl32,
10323 binop(Iop_Mul32,
10332 assign(t9, binop(Iop_And32,
10334 binop(Iop_CmpEQ32,
10340 binop(Iop_CmpEQ32,
10346 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
10349 binop(Iop_Or32,
10351 binop(Iop_Shl32,
10357 IRExpr_ITE(binop(Iop_CmpNE32,
10361 binop(Iop_Shl32,
10362 binop(Iop_Mul32,
10368 binop(Iop_Sub64,
10372 assign(t7, binop(Iop_Add64, getAcc(ac), mkexpr(t6)));
10386 binop(Iop_Mul32,
10394 binop(Iop_Mul32,
10402 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10403 assign(t3, binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10416 binop(Iop_Mul32,
10423 binop(Iop_Mul32,
10429 binop(Iop_Add64,
10431 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10445 binop(Iop_Mul32,
10452 binop(Iop_Mul32,
10458 binop(Iop_Sub64,
10460 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10474 binop(Iop_Mul32,
10482 binop(Iop_Mul32,
10491 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10493 binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
10513 assign(t1, binop(Iop_Shl64,
10514 binop(Iop_MullS32,
10518 assign(t2, binop(Iop_CmpEQ32,
10521 assign(t3, binop(Iop_CmpEQ32,
10534 binop(Iop_Or32,
10536 binop(Iop_Shl32,
10544 assign(t5, binop(Iop_Add64,
10550 binop(Iop_Add64,
10551 binop(Iop_Add64,
10557 binop(Iop_And32,
10560 assign(t7, binop(Iop_32HLto64,
10563 assign(t8, binop(Iop_CmpEQ32,
10564 binop(Iop_Shr32,
10565 binop(Iop_And32,
10569 binop(Iop_And32,
10572 assign(t9, binop(Iop_CmpEQ32,
10573 binop(Iop_And32,
10580 binop(Iop_Or32,
10582 binop(Iop_Shl32,
10610 assign(t1, binop(Iop_Shl64,
10611 binop(Iop_MullS32,
10615 assign(t2, binop(Iop_CmpEQ32,
10618 assign(t3, binop(Iop_CmpEQ32,
10631 binop(Iop_Or32,
10633 binop(Iop_Shl32,
10641 assign(t5, binop(Iop_Sub64,
10646 assign(t6, binop(Iop_Sub64,
10647 binop(Iop_Add64,
10653 binop(Iop_CmpLT32U,
10660 assign(t7, binop(Iop_32HLto64,
10663 assign(t8, binop(Iop_CmpEQ32,
10664 binop(Iop_Shr32,
10665 binop(Iop_And32,
10669 binop(Iop_And32,
10672 assign(t9, binop(Iop_CmpEQ32,
10673 binop(Iop_And32,
10679 binop(Iop_Or32,
10681 binop(Iop_Shl32,
10703 binop(Iop_Mul32,
10711 binop(Iop_Mul32,
10719 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10720 assign(t3, binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
10739 binop(Iop_Shl32,
10740 binop(Iop_Mul32,
10752 assign(t2, binop(Iop_CmpEQ32,
10756 assign(t3, binop(Iop_CmpEQ32,
10770 binop(Iop_Or32,
10772 binop(Iop_Shl32,
10781 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
10784 assign(t6, binop(Iop_CmpEQ32,
10785 binop(Iop_Shr32,
10786 binop(Iop_And32,
10790 binop(Iop_And32,
10795 binop(Iop_Or32,
10797 binop(Iop_Shl32,
10803 IRExpr_ITE(binop(Iop_CmpEQ32,
10804 binop(Iop_And32,
10829 binop(Iop_Shl32,
10830 binop(Iop_Mul32,
10842 assign(t2, binop(Iop_CmpEQ32,
10846 assign(t3, binop(Iop_CmpEQ32,
10860 binop(Iop_Or32,
10862 binop(Iop_Shl32,
10871 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
10874 assign(t6, binop(Iop_CmpEQ32,
10875 binop(Iop_Shr32,
10876 binop(Iop_And32,
10880 binop(Iop_And32,
10885 binop(Iop_Or32,
10887 binop(Iop_Shl32,
10893 IRExpr_ITE(binop(Iop_CmpEQ32,
10894 binop(Iop_And32,
10922 assign(t2, binop(Iop_And32,
10924 binop(Iop_CmpEQ32,
10925 binop(Iop_And32,
10930 binop(Iop_CmpEQ32,
10931 binop(Iop_And32,
10936 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
10940 binop(Iop_Or32,
10942 binop(Iop_Shl32,
10947 binop(Iop_MullS32,
10950 binop(Iop_Add64,
10952 binop(Iop_Shl32,
10956 binop(Iop_Add64,
10979 assign(t2, binop(Iop_And32,
10981 binop(Iop_CmpEQ32,
10982 binop(Iop_And32,
10987 binop(Iop_CmpEQ32,
10988 binop(Iop_And32,
10993 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
10997 binop(Iop_Or32,
10999 binop(Iop_Shl32,
11004 binop(Iop_MullS32,
11007 binop(Iop_Add64,
11009 binop(Iop_Shl32,
11013 binop(Iop_Add64,
11035 assign(t1, binop(Iop_Shl64,
11036 binop(Iop_MullS32,
11044 assign(t2, binop(Iop_CmpEQ32,
11048 assign(t3, binop(Iop_CmpEQ32,
11061 binop(Iop_Or32,
11063 binop(Iop_Shl32,
11069 assign(t5, binop(Iop_Shl64,
11070 binop(Iop_MullS32,
11078 assign(t6, binop(Iop_CmpEQ32,
11082 assign(t7, binop(Iop_CmpEQ32,
11095 binop(Iop_Or32,
11097 binop(Iop_Shl32,
11105 assign(t9, binop(Iop_Add64,
11106 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
11127 assign(t1, binop(Iop_Shl64,
11128 binop(Iop_MullS32,
11136 assign(t2, binop(Iop_CmpEQ32,
11140 assign(t3, binop(Iop_CmpEQ32,
11153 binop(Iop_Or32,
11155 binop(Iop_Shl32,
11163 assign(t5, binop(Iop_Shl64,
11164 binop(Iop_MullS32,
11172 assign(t6, binop(Iop_CmpEQ32,
11176 assign(t7, binop(Iop_CmpEQ32,
11189 binop(Iop_Or32,
11191 binop(Iop_Shl32,
11199 assign(t9, binop(Iop_Sub64,
11201 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
11224 binop(Iop_Shl32,
11225 binop(Iop_Mul32,
11237 assign(t2, binop(Iop_CmpEQ32,
11241 assign(t3, binop(Iop_CmpEQ32,
11246 assign(t4, IRExpr_ITE(binop(Iop_CmpNE32,
11247 binop(Iop_And32,
11256 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
11257 binop(Iop_And32,
11263 binop(Iop_Or32,
11265 binop(Iop_Shl32,
11272 binop(Iop_Shl32,
11273 binop(Iop_Mul32,
11285 assign(t6, binop(Iop_CmpEQ32,
11289 assign(t7, binop(Iop_CmpEQ32,
11294 assign(t8, IRExpr_ITE(binop(Iop_CmpNE32,
11295 binop(Iop_And32,
11304 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
11305 binop(Iop_And32,
11311 binop(Iop_Or32,
11313 binop(Iop_Shl32,
11320 binop(Iop_Add64,
11322 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11325 IRExpr_ITE(binop(Iop_CmpEQ32,
11326 binop(Iop_And32,
11331 IRExpr_ITE(binop(Iop_CmpNE32,
11333 binop(Iop_Shl64,
11339 IRExpr_ITE(binop(Iop_CmpNE32,
11341 binop(Iop_Shl64,
11347 assign(t10, IRExpr_ITE(binop(Iop_CmpEQ32,
11353 binop(Iop_Or32,
11355 binop(Iop_Shl32,
11358 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
11364 binop(Iop_Or32,
11366 binop(Iop_Shl32,
11390 binop(Iop_Shl32,
11391 binop(Iop_Mul32,
11403 assign(t2, binop(Iop_CmpEQ32,
11407 assign(t3, binop(Iop_CmpEQ32,
11412 assign(t4, IRExpr_ITE(binop(Iop_CmpNE32,
11413 binop(Iop_And32,
11422 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
11423 binop(Iop_And32,
11429 binop(Iop_Or32,
11431 binop(Iop_Shl32,
11438 binop(Iop_Shl32,
11439 binop(Iop_Mul32,
11451 assign(t6, binop(Iop_CmpEQ32,
11455 assign(t7, binop(Iop_CmpEQ32,
11460 assign(t8, IRExpr_ITE(binop(Iop_CmpNE32,
11461 binop(Iop_And32,
11470 putDSPControl(IRExpr_ITE(binop(Iop_CmpNE32,
11471 binop(Iop_And32,
11477 binop(Iop_Or32,
11479 binop(Iop_Shl32,
11486 binop(Iop_Sub64,
11488 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11491 IRExpr_ITE(binop(Iop_CmpEQ32,
11492 binop(Iop_And32,
11497 IRExpr_ITE(binop(Iop_CmpNE32,
11499 binop(Iop_Shl64,
11505 IRExpr_ITE(binop(Iop_CmpNE32,
11507 binop(Iop_Shl64,
11513 assign(t10, IRExpr_ITE(binop(Iop_CmpEQ32,
11519 binop(Iop_Or32,
11521 binop(Iop_Shl32,
11524 putDSPControl(IRExpr_ITE(binop(Iop_CmpEQ32,
11530 binop(Iop_Or32,
11532 binop(Iop_Shl32,
11551 assign(t1, binop(Iop_Shl32, getIReg(rt), mkU8(rd)));
11554 putIReg(rt, binop(Iop_Or32,
11556 binop(Iop_And32,
11561 binop(Iop_Or32,
11563 binop(Iop_And32,
11568 binop(Iop_Shl32,
11571 putIReg(rt, binop(Iop_Or32,
11573 binop(Iop_And32,
11586 assign(t1, binop(Iop_Shr32, getIReg(rt), mkU8(rd)));
11589 putIReg(rt, binop(Iop_Or32,
11591 binop(Iop_Shl32,
11592 binop(Iop_And32,
11597 putIReg(rt, binop(Iop_Or32,
11599 binop(Iop_Shl32,
11600 binop(Iop_And32,
11605 assign(t2, binop(Iop_Add32, mkU32(rd), mkU32(0x1)));
11608 binop(Iop_Shl32,
11612 putIReg(rt, binop(Iop_Or32,
11614 binop(Iop_Shl32,
11615 binop(Iop_And32,
11631 assign(t1, binop(Iop_Shl32,
11632 binop(Iop_And32,
11635 assign(t2, binop(Iop_Shl32,
11638 assign(t3, binop(Iop_Shr32,
11641 binop(Iop_Shl32,
11642 binop(Iop_Sub32,
11644 binop(Iop_And32,
11648 putIReg(rt, binop(Iop_Or32, mkexpr(t2), mkexpr(t3)));
11899 assign(t0, binop(Iop_32HLto64, getIReg(rt),
11915 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(bc1_cc)));
11917 binop(Iop_And32,
11918 binop(Iop_Shr32, getFCSR(), mkU8(23)),
11920 binop(Iop_And32,
11921 binop(Iop_Shr32, getFCSR(),
11928 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
11934 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
11939 lastn = dis_branch_likely(binop(Iop_CmpNE32, mkexpr(t2),
11944 lastn = dis_branch_likely(binop(Iop_CmpEQ32, mkexpr(t2),
11955 putFReg(fd, mkWidenFromF32(tyF, binop(Iop_SqrtF32, rm,
11961 putDReg(fd, binop(Iop_SqrtF64, rm, getDReg(fs)));
12098 assign(t0, binop(Iop_F32toI64S, mkU32(0x0),
12110 putDReg(fd, binop(Iop_RoundF64toInt, mkU32(0x0),
12129 assign(t0, binop(Iop_F32toI64S, mkU32(0x3),
12141 putDReg(fd, binop(Iop_RoundF64toInt, mkU32(0x3),
12189 assign(t3, binop(Iop_CmpNE64, mkU64(0), getIReg(rt)));
12194 assign(t3, binop(Iop_CmpNE32, mkU32(0), getIReg(rt)));
12198 assign(t3, binop(Iop_CmpNE32, mkU32(0), getIReg(rt)));
12216 putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
12226 assign(t3, binop(Iop_CmpNE64, mkU64(0), getIReg(rt)));
12228 assign(t3, binop(Iop_CmpNE32, mkU32(0), getIReg(rt)));
12250 assign(t3, binop(Iop_CmpEQ64, mkU64(0), getIReg(rt)));
12252 assign(t3, binop(Iop_CmpEQ32, mkU32(0), getIReg(rt)));
12256 assign(t3, binop(Iop_CmpEQ32, mkU32(0), getIReg(rt)));
12272 putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
12281 assign(t3, binop(Iop_CmpEQ64, mkU64(0), getIReg(rt)));
12283 assign(t3, binop(Iop_CmpEQ32, mkU32(0), getIReg(rt)));
12303 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
12305 binop(Iop_And32,
12306 binop(Iop_Shr32, getFCSR(),
12309 binop(Iop_And32,
12310 binop(Iop_Shr32, getFCSR(),
12315 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12338 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
12340 binop(Iop_And32,
12341 binop(Iop_Shr32, getFCSR(),
12344 binop(Iop_And32,
12345 binop(Iop_Shr32, getFCSR(),
12350 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12366 putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
12384 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
12386 binop(Iop_And32,
12387 binop(Iop_Shr32, getFCSR(),
12390 binop(Iop_And32,
12391 binop(Iop_Shr32, getFCSR(),
12396 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12418 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
12420 binop(Iop_And32,
12421 binop(Iop_Shr32, getFCSR(),
12424 binop(Iop_And32,
12425 binop(Iop_Shr32, getFCSR(),
12430 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12447 putFReg(fd, binop(Iop_F64toF32, get_IR_roundingmode(),
12524 assign(t1, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12526 assign(t2, binop(Iop_And32, mkexpr(t0),
12528 assign(t3, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12530 assign(t4, binop(Iop_And32, mkexpr(t0),
12532 putFCSR(binop(Iop_Or32, binop(Iop_Or32, mkexpr(t1),
12533 mkexpr(t2)), binop(Iop_Or32, mkexpr(t3),
12536 assign(t1, binop(Iop_And32, getFCSR(), mkU32(0xFFFC0000)));
12537 assign(t2, binop(Iop_And32, mkexpr(t0),
12539 assign(t3, binop(Iop_And32, getFCSR(), mkU32(0x00000F80)));
12540 assign(t4, binop(Iop_And32, mkexpr(t0),
12542 assign(t5, binop(Iop_And32, getFCSR(), mkU32(0x00000003)));
12543 putFCSR(binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32,
12544 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12547 assign(t1, binop(Iop_And32, getFCSR(), mkU32(0xFE000000)));
12548 assign(t2, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12550 assign(t3, binop(Iop_And32, getFCSR(), mkU32(0x00FFF000)));
12551 assign(t4, binop(Iop_And32, mkexpr(t0),
12553 assign(t5, binop(Iop_And32, getFCSR(), mkU32(0x0000007C)));
12554 assign(t6, binop(Iop_And32, mkexpr(t0),
12556 putFCSR(binop(Iop_Or32, binop(Iop_Or32, binop(Iop_Or32,
12557 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12558 mkexpr(t3), mkexpr(t4))), binop(Iop_Or32,
12582 assign(t2, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12584 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12586 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32,
12587 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12591 assign(t2, binop(Iop_And32, mkexpr(t0),
12593 assign(t3, binop(Iop_And32, mkexpr(t0),
12595 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32,
12596 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12600 assign(t2, binop(Iop_And32, mkexpr(t0),
12602 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12604 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32,
12605 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12666 putFReg(fd, binop(Iop_I64StoF64,
12691 putFReg(fd, mkWidenFromF32(tyF, binop(Iop_I32StoF32,
12696 putFReg(fd, binop(Iop_I32StoF32, get_IR_roundingmode(),
12705 assign(t0, binop(Iop_F64toF32, get_IR_roundingmode(),
12716 putFReg(fd, mkWidenFromF32(tyF, binop(Iop_I64StoF32,
12732 binop(Iop_RoundF32toInt,
12743 assign(t0, binop(Iop_F64toI32S, get_IR_roundingmode(),
12763 assign(t0, binop(Iop_F32toI64S, get_IR_roundingmode(),
12776 putDReg(fd, binop(Iop_RoundF64toInt,
12797 assign(t0, binop(Iop_F32toI64S, mkU32(0x1),
12810 putDReg(fd, binop(Iop_RoundF64toInt, mkU32(0x1),
12838 assign(t4, binop(Iop_RoundF32toInt, mkU32(0x0),
12843 putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x0),
12852 assign(t0, binop(Iop_F64toI32S, mkU32(0x0),
12859 assign(t0, binop(Iop_F64toI32S, mkU32(0x0),
12888 assign(t4, binop(Iop_RoundF32toInt, mkU32(0x1),
12893 putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x1),
12902 assign(t0, binop(Iop_F64toI32S, mkU32(0x1),
12910 assign(t0, binop(Iop_F64toI32S, mkU32(0x1),
12939 assign(t4, binop(Iop_RoundF32toInt, mkU32(0x3),
12944 putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x3),
12953 assign(t0, binop(Iop_F64toI32S, mkU32(0x3),
12961 assign(t0, binop(Iop_F64toI32S, mkU32(0x3),
12990 assign(t4, binop(Iop_RoundF32toInt, mkU32(0x2),
12995 putFReg(fd, binop(Iop_RoundF32toInt, mkU32(0x2),
13004 assign(t0, binop(Iop_F64toI32S, mkU32(0x2),
13009 assign(t0, binop(Iop_F64toI32S, mkU32(0x2),
13029 assign(t0, binop(Iop_F32toI64S, mkU32(0x2),
13042 putFReg(fd, binop(Iop_RoundF64toInt, mkU32(0x2),
13062 binop(Iop_SqrtF32, rm, getLoFromF64(tyF,
13072 binop(Iop_SqrtF64, rm, getDReg(fs))));
13128 assign(t0, binop(Iop_Add64, getIReg(rs),
13133 assign(t0, binop(Iop_Add32, getIReg(rs),
13142 assign(t0, binop(Iop_Add32, getIReg(rs),
13245 assign(t2, binop(mode64 ? Iop_Add64 : Iop_Add32, getIReg(rs),
13255 assign(t0, binop(Iop_Add32, getIReg(rs), getIReg(rt)));
13267 assign(t0, binop(mode64 ? Iop_Add64 : Iop_Add32, getIReg(rs),
13273 assign(t0, binop(Iop_Add32, getIReg(rs), getIReg(rt)));
13276 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13294 assign(t0, binop(Iop_Add64, getIReg(rs), getIReg(rt)));
13295 assign(t1, binop(Iop_And64, mkexpr(t0),
13304 assign(t0, binop(mode64 ? Iop_Add64 : Iop_Add32, getIReg(rs),
13310 assign(t0, binop(Iop_Add32, getIReg(rs), getIReg(rt)));
13320 assign(t0, binop(mode64 ? Iop_Add64 : Iop_Add32, getIReg(rs),
13325 assign(t0, binop(Iop_Add32, getIReg(rs), getIReg(rt)));
13328 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13345 assign(t0, binop(Iop_Add64, getIReg(rs), getIReg(rt)));
13346 assign(t1, binop(Iop_And64, mkexpr(t0), mkU64(0xfffffffffffffff8ULL)));
13444 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
13451 assign(t3, binop(Iop_Shl32, mkNarrowTo32(ty, load(Ity_I64,
13452 mkexpr(t2))), narrowTo(Ity_I8, binop(Iop_Shl32,
13453 binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)), mkU8(3)))));
13457 assign(t5, binop(Iop_And32,
13459 binop(Iop_Shr32,
13461 narrowTo(Ity_I8, binop(Iop_Mul32,
13465 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13468 assign(t1, binop(Iop_Xor64, mkU64(0x3),
13469 binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm)))));
13476 assign(t3, binop(Iop_Shl32, unop(Iop_64HIto32, load(Ity_I64,
13477 mkexpr(t2))), narrowTo(Ity_I8, binop(Iop_Shl32,
13478 binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)), mkU8(3)))));
13482 assign(t5, binop(Iop_And32,
13484 binop(Iop_Shr32,
13486 narrowTo(Ity_I8, binop(Iop_Mul32,
13490 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13497 assign(t1, binop(Iop_Add32, getIReg(rs), mkU32(extend_s_16to32(imm))));
13499 assign(t1, binop(Iop_Xor32, mkU32(0x3), binop(Iop_Add32, getIReg(rs),
13509 assign(t3, binop(Iop_Shl32, load(Ity_I32, mkexpr(t2)), narrowTo(Ity_I8,
13510 binop(Iop_Shl32, binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)),
13515 assign(t5, binop(Iop_And32,
13517 binop(Iop_Shr32,
13519 narrowTo(Ity_I8, binop(Iop_Mul32,
13523 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13533 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
13540 assign(t3, binop(Iop_Shr32, mkNarrowTo32(ty, load(Ity_I64,mkexpr(t2))),
13541 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(3)))));
13545 assign(t5, binop(Iop_And32, mkNarrowTo32(ty, getIReg(rt)),
13546 unop(Iop_Not32, binop(Iop_Shr32, mkU32(0xFFFFFFFF),
13547 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13549 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13552 assign(t1, binop(Iop_Xor64, mkU64(0x3), binop(Iop_Add64, getIReg(rs),
13560 assign(t3, binop(Iop_Shr32, unop(Iop_64HIto32, load(Ity_I64,mkexpr(t2))),
13561 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(3)))));
13565 assign(t5, binop(Iop_And32, mkNarrowTo32(ty, getIReg(rt)),
13566 unop(Iop_Not32, binop(Iop_Shr32, mkU32(0xFFFFFFFF),
13567 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13569 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13577 assign(t1, binop(Iop_Add32, getIReg(rs), mkU32(extend_s_16to32(imm))));
13579 assign(t1, binop(Iop_Xor32, mkU32(0x3), binop(Iop_Add32, getIReg(rs),
13589 assign(t3, binop(Iop_Shr32, load(Ity_I32, mkexpr(t2)),
13590 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4),
13595 assign(t5, binop(Iop_And32, getIReg(rt), unop(Iop_Not32,
13596 binop(Iop_Shr32, mkU32(0xFFFFFFFF), narrowTo(Ity_I8,
13597 binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13599 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13646 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
13650 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFF8ULL)));
13654 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x7)));
13658 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x1)),
13662 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x2)),
13666 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x3)),
13670 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x4)),
13674 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x5)),
13678 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
13684 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13685 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13686 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
13687 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
13688 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
13689 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
13694 assign(B_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
13698 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x6)),
13702 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x5)),
13706 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x4)),
13710 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x3)),
13714 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
13719 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x7)), mkexpr(H_byte));
13720 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13721 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13722 store(binop(Iop_Add64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
13723 store(binop(Iop_Add64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
13724 store(binop(Iop_Add64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
13725 store(binop(Iop_Add64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
13770 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
13774 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFF8ULL)));
13778 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x7)));
13782 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x1), mkexpr(t3)),
13786 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x2), mkexpr(t3)),
13790 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x3), mkexpr(t3)),
13794 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x4), mkexpr(t3)),
13798 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x5), mkexpr(t3)),
13802 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
13807 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x7)), mkexpr(A_byte));
13808 store(binop(Iop_Add64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
13809 store(binop(Iop_Add64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
13810 store(binop(Iop_Add64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
13811 store(binop(Iop_Add64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
13812 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13813 store(binop(Iop_Add64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
13818 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x5), mkexpr(t3)),
13822 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x4), mkexpr(t3)),
13826 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x3), mkexpr(t3)),
13830 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x2), mkexpr(t3)),
13834 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x1), mkexpr(t3)),
13838 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
13844 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
13845 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
13846 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
13847 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
13848 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13849 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
13888 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
13892 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL)));
13896 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x3)));
13900 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
13904 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
13910 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13911 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13916 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
13920 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
13924 store(binop(Iop_Add64, mkexpr(t2), mkU64(3)), mkexpr(H_byte));
13925 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13926 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13949 assign(t1, binop(Iop_Add32, getIReg(rs), mkU32(extend_s_16to32(imm))));
13953 assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFCULL)));
13957 assign(t3, binop(Iop_And32, mkexpr(t1), mkU32(0x3)));
13961 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
13965 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
13971 store(binop(Iop_Add32, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13972 store(binop(Iop_Sub32, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
13977 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
13981 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
13985 store(binop(Iop_Add32, mkexpr(t2), mkU32(3)), mkexpr(H_byte));
13986 store(binop(Iop_Add32, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
13987 store(binop(Iop_Add32, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14015 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
14019 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL)));
14023 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x3)));
14027 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14031 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14036 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x3)), mkexpr(E_byte));
14037 store(binop(Iop_Add64, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14038 store(binop(Iop_Add64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14043 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14047 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14053 store(binop(Iop_Add64, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14054 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14076 assign(t1, binop(Iop_Add32, getIReg(rs), mkU32(extend_s_16to32(imm))));
14080 assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFCULL)));
14084 assign(t3, binop(Iop_And32, mkexpr(t1), mkU32(0x3)));
14088 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14092 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14097 store(binop(Iop_Add32, mkexpr(t2), mkU32(0x3)), mkexpr(E_byte));
14098 store(binop(Iop_Add32, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14099 store(binop(Iop_Add32, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14104 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14108 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14114 store(binop(Iop_Add32, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14115 store(binop(Iop_Sub32, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14145 assign(tmpRes, binop(Iop_Mul32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
14148 putIReg(rd, binop(Iop_Mul32, getIReg(rs), getIReg(rt)));
14165 assign(t3, binop(Iop_MullS32, mkNarrowTo32(ty, getIReg(rs)),
14168 assign(t4, binop
14169 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14197 assign(t3, binop(Iop_MullS32, getIReg(rs), getIReg(rt)));
14199 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14202 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14204 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14206 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14228 assign(t3, binop(Iop_MullU32, mkNarrowTo32(ty, getIReg(rs)),
14231 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14232 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14260 assign(t3, binop(Iop_MullU32, getIReg(rs), getIReg(rt)));
14262 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14264 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14266 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14268 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14290 assign(t3, binop(Iop_MullS32, mkNarrowTo32(ty, getIReg(rs)),
14293 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14294 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14322 assign(t3, binop(Iop_MullS32, getIReg(rs), getIReg(rt)));
14326 assign(t5, binop(Iop_CmpLT32U,
14331 binop(Iop_Sub32, mkexpr(t1), mkU32(0x1)),
14334 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14336 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14356 assign(t3, binop(Iop_MullU32, mkNarrowTo32(ty, getIReg(rs)),
14359 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14360 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14388 assign(t3, binop(Iop_MullU32, getIReg(rs), getIReg(rt)));
14392 assign(t5, binop(Iop_CmpLT32U,
14397 binop(Iop_Sub32,
14402 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14404 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14415 assign(t0, binop(Iop_MullU64, getIReg(rs), getIReg(rt)));
14438 store(getIReg(rs), binop(Iop_Add32, mkexpr(t0), mkexpr(t1)));
14454 store(getIReg(rs), binop(Iop_Add64, mkexpr(t0), mkexpr(t1)));
14488 assign(t1, binop(Iop_CmpEQ32, getIReg(rs), mkU32(0)));
14504 assign(t1, binop(Iop_CmpEQ32, mkexpr(tmpRs32), mkU32(0xffffffff)));
14513 assign(t1, binop(Iop_CmpEQ32, getIReg(rs), mkU32(0xffffffff)));
14525 assign(t1, binop(Iop_CmpEQ64, getIReg(rs), mkU64(0)));
14534 assign(t1, binop(Iop_CmpEQ64, getIReg(rs),
14562 assign(t1, binop(Iop_Shl64, getIReg(rs), mkU8(lsAmt)));
14563 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14584 assign(t1, binop(Iop_Shl64, getIReg(rs), mkU8(lsAmt)));
14585 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14617 assign(t1, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
14618 assign(tmpT1, binop(Iop_Shr64, mkexpr(t1), mkU8(1)));
14619 assign(t2, binop(Iop_Shl64, mkexpr(tmpT1), mkU8(lsAmt)));
14620 assign(tmpT2, binop(Iop_Shl64, mkexpr(t2), mkU8(1)));
14625 assign(t3, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
14626 assign(tmpT3, binop(Iop_Shl64, mkexpr(t3), mkU8(1)));
14627 assign(t4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(rsAmt)));
14628 assign(tmpT4, binop(Iop_Shr64, mkexpr(t4), mkU8(1)));
14634 assign(tmpT5, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
14635 assign(tmpT6, binop(Iop_Shr64, mkexpr(tmpT5), mkU8(rsAmt)));
14637 assign(tmpT7, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT4)));
14638 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT6), mkexpr(tmpT7)));
14668 assign(tmpT1, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
14669 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(rsAmt)));
14673 assign(tmpT3, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
14674 assign(tmpT4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(rsAmt)));
14678 assign(tmpT5, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
14679 assign(tmpT6, binop(Iop_Shr64, mkexpr(tmpT5), mkU8(lsAmt)));
14681 assign(tmpT7, binop(Iop_Shl64, mkexpr(tmpT6), mkU8(rsAmt)));
14682 assign(tmpT8, binop(Iop_Shl64, mkexpr(tmpT7), mkU8(lsAmt)));
14684 assign(tmpT9, binop(Iop_Or64, mkexpr(tmpT8), mkexpr(tmpT4)));
14685 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT9)));
14716 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
14717 assign(tmpT1, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
14718 assign(tmp1, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(rsAmt)));
14719 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmp1), mkU8(1)));
14723 assign(tmpT3, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
14724 assign(tmpT4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(lsAmt)));
14725 assign(tmpT5, binop(Iop_Shl64, mkexpr(tmpT4), mkU8(rsAmt)));
14726 assign(tmpT6, binop(Iop_Shl64, mkexpr(tmpT5), mkU8(lsAmt)));
14730 assign(tmpT7, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
14731 assign(tmpT8, binop(Iop_Shr64, mkexpr(tmpT7), mkU8(rsAmt)));
14733 assign(tmpT9, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT8)));
14734 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT6), mkexpr(tmpT9)));
14756 assign(tmpT1, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT5)));
14757 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(8)));
14758 assign(tmpT3, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT6)));
14759 assign(tmpT4, binop(Iop_Shl64, mkexpr(tmpT3), mkU8(8)));
14760 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT4), mkexpr(tmpT2)));
14777 assign(tmpT1, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT5)));
14778 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(16)));
14779 assign(tmpT3, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT6)));
14780 assign(tmpT4, binop(Iop_Shl64, mkexpr(tmpT3), mkU8(16)));
14781 assign(tmpT7, binop(Iop_Or64, mkexpr(tmpT4), mkexpr(tmpT2)));
14782 assign(tmpT8, binop(Iop_Shl64, mkexpr(tmpT7), mkU8(32)));
14783 assign(tmpT9, binop(Iop_Shr64, mkexpr(tmpT7), mkU8(32)));
14784 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT8), mkexpr(tmpT9)));
14839 assign(t0, binop(Iop_Shl32, mkNarrowTo32(ty, getIReg(rs)),
14843 assign(t1, binop(Iop_Shr32, mkexpr(t0), mkU8(32 - size - lsb)));
14848 assign(t2, binop(Iop_Shl32, mkNarrowTo32(ty, getIReg(rt)),
14850 assign(t3, binop(Iop_Shr32, mkexpr(t2), mkU8(32 - lsb)));
14857 assign(t4, binop(Iop_Shr32, mkNarrowTo32(ty, getIReg(rt)),
14860 assign(t5, binop(Iop_Shl32, mkexpr(t4), mkU8(msb + 1)));
14865 assign(t6, binop(Iop_Or32, mkexpr(t5), mkexpr(t1)));
14866 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t6),
14869 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
14873 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
14888 assign(t0, binop(Iop_Shl32, mkNarrowTo32(ty, getIReg(rs)),
14891 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Shr32, mkexpr(t0),
14894 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Shr32,
14913 assign(t1, binop(Iop_Shl64, getIReg(rs), mkU8(lsAmt)));
14914 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14926 assign(t0, binop(Iop_Shl32, binop(Iop_And32, mkNarrowTo32(ty,
14929 assign(t1, binop(Iop_Shr32, binop(Iop_And32, mkNarrowTo32(ty,
14931 assign(t2, binop(Iop_Shl32, binop(Iop_And32, mkNarrowTo32(ty,
14933 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkNarrowTo32(ty,
14935 putIReg(rd, mkWidenFrom32(ty, binop(Iop_Or32, binop(Iop_Or32,
14937 binop(Iop_Or32, mkexpr(t2),
15191 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
15193 binop(Iop_And32,
15194 binop(Iop_Shr32, getFCSR(),
15197 binop(Iop_And32,
15198 binop(Iop_Shr32, getFCSR(),
15202 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
15210 assign(t1, binop(Iop_CmpEQ32, mkU32(0), mkU32(mov_cc)));
15212 binop(Iop_And32,
15213 binop(Iop_Shr32, getFCSR(),
15216 binop(Iop_And32,
15217 binop(Iop_Shr32, getFCSR(),
15221 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
15231 assign(t1, unop(Iop_32Sto64, unop(Iop_1Sto32, binop(Iop_CmpEQ64,
15233 assign(t2, unop(Iop_32Sto64, unop(Iop_1Sto32, binop(Iop_CmpNE64,
15235 putIReg(rd, binop(Iop_Add64, binop(Iop_And64, getIReg(rs),
15236 mkexpr(t1)), binop(Iop_And64, getIReg(rd),mkexpr(t2))));
15238 assign(t1, unop(Iop_1Sto32, binop(Iop_CmpEQ32, getIReg(rt),
15240 assign(t2, unop(Iop_1Sto32, binop(Iop_CmpNE32, getIReg(rt),
15242 putIReg(rd, binop(Iop_Add32, binop(Iop_And32, getIReg(rs),
15243 mkexpr(t1)), binop(Iop_And32, getIReg(rd),
15254 assign(t1, unop(Iop_32Sto64, unop(Iop_1Sto32, binop(Iop_CmpEQ64,
15256 assign(t2, unop(Iop_32Sto64, unop(Iop_1Sto32, binop(Iop_CmpNE64,
15258 putIReg(rd, binop(Iop_Add64, binop(Iop_And64, getIReg(rs),
15259 mkexpr(t2)), binop(Iop_And64, getIReg(rd),
15262 assign(t1, unop(Iop_1Sto32, binop(Iop_CmpEQ32, getIReg(rt),
15264 assign(t2, unop(Iop_1Sto32, binop(Iop_CmpNE32, getIReg(rt),
15266 putIReg(rd, binop(Iop_Add32, binop(Iop_And32, getIReg(rs),
15267 mkexpr(t2)), binop(Iop_And32, getIReg(rd),
15289 assign(t2, binop(Iop_MullS32, mkNarrowTo32(ty, getIReg(rs)),
15313 assign(t2, binop(Iop_MullU32, mkNarrowTo32(ty, getIReg(rs)),
15341 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15342 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15344 binop(Iop_CmpEQ32,
15345 binop(Iop_And32, mkexpr(t1), mkU32(0x80000000)),
15348 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15350 binop(Iop_CmpNE32,
15351 binop(Iop_And32, mkexpr(t3), mkU32(0x80000000)),
15354 stmt(IRStmt_Exit(binop(Iop_CmpEQ32,
15355 binop(Iop_Or32, mkexpr(t2), mkexpr(t4)),
15370 assign(t2, binop(Iop_DivModS64to32,
15380 assign(t2, binop(Iop_DivModS64to32, mkexpr(t1), getIReg(rt)));
15392 assign(t2, binop(Iop_DivModU64to32,
15401 assign(t2, binop(Iop_DivModU64to32, mkexpr(t1), getIReg(rt)));
15411 assign(t0, binop(Iop_MullS64, getIReg(rs), getIReg(rt)));
15421 assign(t0, binop(Iop_MullU64, getIReg(rs), getIReg(rt)));
15431 assign(t1, binop(Iop_DivModS64to64, getIReg(rs), getIReg(rt)));
15442 assign(t1, binop(Iop_64HLto128, mkU64(0), getIReg(rs)));
15444 assign(t2, binop(Iop_DivModU128to64, mkexpr(t1), getIReg(rt)));
15539 assign(t5, binop(Iop_Mul32, mkexpr(tmpRt32), mkU32(-1)));
15540 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32), mkexpr(t5)));
15541 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32), mkexpr(t5)));
15542 assign(t2, unop(Iop_1Sto32, binop(Iop_CmpEQ32, binop(Iop_And32,
15545 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15546 assign(t4, unop(Iop_1Sto32, binop(Iop_CmpNE32, binop(Iop_And32,
15549 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
15597 putIReg(rd, unop(Iop_Not64, binop(Iop_Or64, getIReg(rs),
15600 putIReg(rd, unop(Iop_Not32, binop(Iop_Or32, getIReg(rs),
15639 putIReg(rd, unop(Iop_1Uto64, binop(Iop_CmpLT64S, getIReg(rs),
15642 putIReg(rd, unop(Iop_1Uto32, binop(Iop_CmpLT32S, getIReg(rs),
15649 putIReg(rd, unop(Iop_1Uto64, binop(Iop_CmpLT64U, getIReg(rs),
15652 putIReg(rd, unop(Iop_1Uto32, binop(Iop_CmpLT32U, getIReg(rs),
15663 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkU8(sa)));
15678 assign(tmp, binop(mkSzOp(ty, Iop_And8), getIReg(rs),
15682 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkexpr(tmpRs8)));
15700 assign(t1, binop(Iop_And64, getIReg(rt), /* hi */
15703 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkU8(sa)));
15706 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkU8(sa)));
15725 assign(t4, unop(Iop_32to8, binop(Iop_And32,
15728 assign(t1, binop(Iop_And64, getIReg(rt), /* hi */
15731 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkexpr(t4)));
15734 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkexpr(t4)));
15755 assign(tmpSh32, binop(Iop_Shr32, mkexpr(tmpRt32), mkU8(sa)));
15796 binop (Iop_CmpLT64S,
15804 binop (Iop_CmpLT64S,
15812 binop (Iop_CmpLT64S,
15821 binop (Iop_CmpLT32S,
15829 binop (Iop_CmpLT32S,
15837 binop (Iop_CmpLT32S,
15851 binop (Iop_CmpLT64U,
15859 binop (Iop_CmpLT64U,
15867 binop (Iop_CmpLT64U,
15876 binop (Iop_CmpLT32U,
15884 binop (Iop_CmpLT32U,
15892 binop (Iop_CmpLT32U,
15905 stmt(IRStmt_Exit(binop(Iop_CmpLT64S, getIReg(rs),
15910 stmt(IRStmt_Exit(binop(Iop_CmpLT64S, getIReg(rs),
15915 stmt(IRStmt_Exit(binop(Iop_CmpLT64S, getIReg(rs),
15921 stmt(IRStmt_Exit(binop(Iop_CmpLT32S, getIReg(rs),
15926 stmt(IRStmt_Exit(binop(Iop_CmpLT32S, getIReg(rs),
15931 stmt(IRStmt_Exit(binop(Iop_CmpLT32S, getIReg(rs),
15942 stmt(IRStmt_Exit(binop(Iop_CmpLT64U, getIReg(rs),
15947 stmt(IRStmt_Exit(binop(Iop_CmpLT64U, getIReg(rs),
15952 stmt(IRStmt_Exit(binop(Iop_CmpLT64U, getIReg(rs),
15958 stmt(IRStmt_Exit(binop(Iop_CmpLT32U, getIReg(rs),
15963 stmt(IRStmt_Exit(binop(Iop_CmpLT32U, getIReg(rs),
15968 stmt(IRStmt_Exit(binop(Iop_CmpLT32U, getIReg(rs),
15979 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, getIReg(rs),
15984 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, getIReg(rs),
15989 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, getIReg(rs),
15995 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, getIReg(rs),
16000 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, getIReg(rs),
16005 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, getIReg(rs),
16016 stmt(IRStmt_Exit(binop(Iop_CmpNE64, getIReg(rs),
16021 stmt(IRStmt_Exit(binop(Iop_CmpNE64, getIReg(rs),
16026 stmt(IRStmt_Exit(binop(Iop_CmpNE64, getIReg(rs),
16032 stmt(IRStmt_Exit(binop(Iop_CmpNE32, getIReg(rs),
16037 stmt(IRStmt_Exit(binop(Iop_CmpNE32, getIReg(rs),
16042 stmt(IRStmt_Exit(binop(Iop_CmpNE32, getIReg(rs),
16087 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16088 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16090 binop(Iop_CmpEQ64,
16091 binop(Iop_And64, mkexpr(t1),
16095 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16097 binop(Iop_CmpNE64,
16098 binop(Iop_And64, mkexpr(t3),
16102 stmt(IRStmt_Exit(binop(Iop_CmpEQ64,
16103 binop(Iop_Or64, mkexpr(t2), mkexpr(t4)),
16138 assign(t5, binop(Iop_Mul64,
16141 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(t5)));
16142 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(t5)));
16144 binop(Iop_CmpEQ64,
16145 binop(Iop_And64,
16150 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16152 binop(Iop_CmpNE64,
16153 binop(Iop_And64,
16158 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16163 putIReg(rd, binop(Iop_Sub64, getIReg(rs), getIReg(rt)));
16187 dis_branch(False, binop(Iop_CmpEQ32, binop(Iop_And32, getIReg(rs),
16198 dis_branch(False, binop(Iop_CmpEQ32, binop(Iop_And32, getIReg(rs),
16204 lastn = dis_branch_likely(binop(mode64 ? Iop_CmpNE64 : Iop_CmpNE32,
16205 binop(mode64 ? Iop_And64 : Iop_And32, getIReg(rs),
16213 lastn = dis_branch_likely(binop(mode64 ? Iop_CmpNE64 : Iop_CmpNE32,
16214 binop(mode64 ? Iop_And64 : Iop_And32, getIReg(rs),
16226 dis_branch(True, binop(Iop_CmpEQ32, binop(Iop_And32, getIReg(rs),
16234 lastn = dis_branch_likely(binop(mode64 ? Iop_CmpNE64 : Iop_CmpNE32,
16235 binop(mode64 ? Iop_And64 : Iop_And32, getIReg(rs),
16248 dis_branch(True, binop(Iop_CmpEQ32, binop(Iop_And32, getIReg(rs),
16256 lastn = dis_branch_likely(binop(Iop_CmpNE64,
16257 binop(Iop_And64,
16264 lastn = dis_branch_likely(binop(Iop_CmpNE32, binop(Iop_And32,
16274 binop (Iop_CmpLT64S,
16282 binop (Iop_CmpLT32S,
16295 binop (Iop_CmpLT64U,
16303 binop (Iop_CmpLT32U,
16315 stmt (IRStmt_Exit (binop (Iop_CmpLT64S, getIReg (rs),
16321 stmt (IRStmt_Exit (binop (Iop_CmpLT32S, getIReg (rs),
16332 stmt (IRStmt_Exit (binop (Iop_CmpLT64U, getIReg (rs),
16338 stmt (IRStmt_Exit (binop (Iop_CmpLT32U, getIReg (rs),
16349 stmt (IRStmt_Exit (binop (Iop_CmpEQ64, getIReg (rs),
16355 stmt (IRStmt_Exit (binop (Iop_CmpEQ32, getIReg (rs),
16366 stmt (IRStmt_Exit (binop (Iop_CmpNE64, getIReg (rs),
16372 stmt (IRStmt_Exit (binop (Iop_CmpNE32, getIReg (rs),
16385 assign(t0, binop(Iop_And32, getDSPControl(), mkU32(0x3f)));
16386 dis_branch(False, unop(Iop_Not1, binop(Iop_CmpLT32U, mkexpr(t0),
16402 dis_branch(False, binop(Iop_CmpEQ64, getIReg(rs), getIReg(rt)),
16405 dis_branch(False, binop(Iop_CmpEQ32, getIReg(rs), getIReg(rt)),
16411 lastn = dis_branch_likely(binop(mode64 ? Iop_CmpNE64 : Iop_CmpNE32,
16418 dis_branch(False, binop(Iop_CmpNE64, getIReg(rs), getIReg(rt)),
16421 dis_branch(False, binop(Iop_CmpNE32, getIReg(rs), getIReg(rt)),
16427 lastn = dis_branch_likely(binop(mode64 ? Iop_CmpEQ64 : Iop_CmpEQ32,
16434 dis_branch(False, unop(Iop_Not1, binop(Iop_CmpLE64S, getIReg(rs),
16437 dis_branch(False, unop(Iop_Not1, binop(Iop_CmpLE32S, getIReg(rs),
16444 lastn = dis_branch_likely(binop(Iop_CmpLE64S, getIReg(rs),
16447 lastn = dis_branch_likely(binop(Iop_CmpLE32S, getIReg(rs),
16454 dis_branch(False, binop(Iop_CmpLE64S, getIReg(rs), mkU64(0x0)),
16457 dis_branch(False,binop(Iop_CmpLE32S, getIReg(rs), mkU32(0x0)), imm,
16463 lastn = dis_branch_likely(unop(Iop_Not1, (binop(mode64 ? Iop_CmpLE64S :
16485 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32),
16487 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32),
16489 assign(t2, unop(Iop_1Sto32, binop(Iop_CmpEQ32, binop(Iop_And32,
16492 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
16493 assign(t4, unop(Iop_1Sto32, binop(Iop_CmpNE32, binop(Iop_And32,
16496 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
16508 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Add32,
16512 putIReg(rt, binop(Iop_Add32, getIReg(rs),mkU32(extend_s_16to32(imm))));
16545 putIReg(rt, unop(Iop_1Uto64, binop(Iop_CmpLT64S, getIReg(rs),
16548 putIReg(rt, unop(Iop_1Uto32, binop(Iop_CmpLT32S, getIReg(rs),
16555 putIReg(rt, unop(Iop_1Uto64, binop(Iop_CmpLT64U, getIReg(rs),
16558 putIReg(rt, unop(Iop_1Uto32, binop(Iop_CmpLT32U, getIReg(rs),
16579 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64),
16581 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64),
16583 assign(t2, unop(Iop_1Sto64, binop(Iop_CmpEQ64, binop(Iop_And64,
16587 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16588 assign(t4, unop(Iop_1Sto64, binop(Iop_CmpNE64, binop(Iop_And64,
16592 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16603 putIReg(rt, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
16613 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
16616 assign(t1, binop(Iop_Xor64, mkU64(0x7), binop(Iop_Add64, getIReg(rs),
16625 assign(t3, binop(Iop_Shl64, load(Ity_I64, mkexpr(t2)),
16626 narrowTo(Ity_I8, binop(Iop_Shl64, binop(Iop_Sub64, mkU64(0x07),
16634 assign(t5, binop(Iop_Mul64, mkexpr(t4), mkU64(0x8)));
16636 assign(t6, binop(Iop_Shr64, mkU64(0x00FFFFFFFFFFFFFFULL),
16639 assign(t7, binop(Iop_And64, getIReg(rt), mkexpr(t6)));
16641 putIReg(rt, binop(Iop_Or64, mkexpr(t7), mkexpr(t3)));
16652 assign(t1, binop(Iop_Add64, getIReg(rs), mkU64(extend_s_16to64(imm))));
16655 assign(t1, binop(Iop_Xor64, mkU64(0x7), binop(Iop_Add64, getIReg(rs),
16664 assign(t3, binop(Iop_Shr64, load(Ity_I64, mkexpr(t2)),
16665 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(3)))));
16669 assign(t5, binop(Iop_And64, getIReg(rt), unop(Iop_Not64,
16670 binop(Iop_Shr64, mkU64(0xFFFFFFFFFFFFFFFFULL),
16671 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(0x3)))))));
16673 putIReg(rt, binop(Iop_Or64, mkexpr(t5), mkexpr(t3)));