Home | History | Annotate | Download | only in priv

Lines Matching full:mkexpr

481    assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL))); \
484 mkexpr(t1), mkU64(0x3))));
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)))
868 static IRExpr *mkexpr(IRTemp tmp)
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)));
1190 putFCSR(mkexpr(fcsr));
1230 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1248 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1317 assign(t1, unop(Iop_64to32, mkexpr(t0)));
1318 return unop(Iop_ReinterpI32asF32, mkexpr(t1));
1330 assign(t1, binop(Iop_32HLto64, mkU32(0x0), mkexpr(t0)));
1331 return unop(Iop_ReinterpI64asF64, mkexpr(t1));
1355 stmt(IRStmt_Exit(mkexpr(t0), Ijk_Boring,
1358 stmt(IRStmt_Exit(mkexpr(t0), Ijk_Boring,
1395 *set = IRStmt_Exit(mkexpr(t0), link ? Ijk_Call : Ijk_Boring,
1399 *set = IRStmt_Exit(mkexpr(t0), link ? Ijk_Call : Ijk_Boring,
1429 assign(t3, unop(Iop_ReinterpF32asI32, mkexpr(t0)));
1430 assign(t4, unop(Iop_ReinterpF32asI32, mkexpr(t1)));
1431 assign(t5, binop(Iop_32HLto64, mkexpr(t4), mkexpr(t3)));
1432 assign(t2, unop(Iop_ReinterpI64asF64, mkexpr(t5)));
1434 return mkexpr(t2);
1461 assign(t6, unop(Iop_ReinterpF64asI64, mkexpr(t1)));
1462 assign(t4, unop(Iop_64HIto32, mkexpr(t6))); /* hi */
1463 assign(t5, unop(Iop_64to32, mkexpr(t6))); /* lo */
1464 putFReg(dregNo, unop(Iop_ReinterpI32asF32, mkexpr(t5)));
1465 putFReg(dregNo + 1, unop(Iop_ReinterpI32asF32, mkexpr(t4)));
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)));
1553 putIReg(regRd, mkexpr(tmpRd));
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)));
1564 putIReg(regRd, mkexpr(tmpRd));
1573 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1574 putIReg(regRd, mkexpr(tmpRd));
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)));
1587 putIReg(regRd, mkexpr(tmpRd));
1598 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkU64(63)));
1599 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1600 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1601 putIReg(regRd, mkexpr(tmpRd));
1614 assign(tmp64, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1615 assign(tmp, binop(Iop_Sub64, mkU64(63), mkexpr(tmp64)));
1617 assign(tmpLs8, mkNarrowTo8(ty, mkexpr(tmp)));
1618 assign(tmpRs8, mkNarrowTo8(ty, 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)));
1625 putIReg(regRd, mkexpr(tmpOr));
1633 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa)));
1634 putIReg(regRd, mkexpr(tmpRd));
1639 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1640 putIReg(regRd, mkexpr(tmpRd));
1647 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1648 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1649 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1650 putIReg(regRd, mkexpr(tmpRd));
1656 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa)));
1657 putIReg(regRd, mkexpr(tmpRd));
1663 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1664 putIReg(regRd, mkexpr(tmpRd));
1671 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1672 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1673 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1674 putIReg(regRd, mkexpr(tmpRd));
1757 assign(ccIR, binop(Iop_CmpF64, mkexpr(tmp5), mkexpr(tmp6)));
1759 mkexpr(ccIR), True));
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))),
1777 mkexpr(ccMIPS), True));
1780 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1782 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1786 mkexpr(ccMIPS), mkU8(0x2))),mkU32(0x1)));
1788 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1795 setFPUCondCode(mkexpr(t0), fpc_cc);
1798 setFPUCondCode(mkexpr(t1), fpc_cc);
1801 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1805 setFPUCondCode(mkexpr(t3), fpc_cc);
1808 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1812 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1816 setFPUCondCode(mkexpr(t2), fpc_cc);
1822 setFPUCondCode(mkexpr(t0), fpc_cc);
1825 setFPUCondCode(mkexpr(t1), fpc_cc);
1828 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1832 setFPUCondCode(mkexpr(t3), fpc_cc);
1835 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1839 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1843 setFPUCondCode(mkexpr(t2), fpc_cc);
1870 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))),
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),
1882 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1)));
1884 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1892 setFPUCondCode(mkexpr(t0), fpc_cc);
1895 setFPUCondCode(mkexpr(t1), fpc_cc);
1898 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1902 setFPUCondCode(mkexpr(t3), fpc_cc);
1905 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1909 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1913 setFPUCondCode(mkexpr(t2), fpc_cc);
1919 setFPUCondCode(mkexpr(t0), fpc_cc);
1922 setFPUCondCode(mkexpr(t1), fpc_cc);
1925 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1929 setFPUCondCode(mkexpr(t3), fpc_cc);
1932 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1936 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1940 setFPUCondCode(mkexpr(t2), fpc_cc);
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),
1981 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1)));
1983 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1991 setFPUCondCode(mkexpr(t0), fpc_cc);
1994 setFPUCondCode(mkexpr(t1), fpc_cc);
1997 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2001 setFPUCondCode(mkexpr(t3), fpc_cc);
2004 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2008 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2012 setFPUCondCode(mkexpr(t2), fpc_cc);
2018 setFPUCondCode(mkexpr(t0), fpc_cc);
2021 setFPUCondCode(mkexpr(t1), fpc_cc);
2024 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2028 setFPUCondCode(mkexpr(t3), fpc_cc);
2031 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2035 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2039 setFPUCondCode(mkexpr(t2), fpc_cc);
2091 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpReg0), mkexpr(tmpReg0));
2101 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2102 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2103 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2105 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpLt),
2106 mkexpr(tmpReg0));
2117 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2118 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2119 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2120 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2121 mkexpr(tmpReg0));
2132 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), eConst0));
2133 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2134 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2136 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2137 mkexpr(tmpReg0));
2151 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2153 mkexpr(tmpLtRes)) : unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2154 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpRes),
2155 mkexpr(tmpReg0));
2198 putIReg(regRd, unop(Iop_128to64, mkexpr(t0)));
2204 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2206 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2208 putIReg( regRt, mkexpr(tmpRt));
2213 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2215 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2217 putIReg( regRt, mkexpr(tmpRt));
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),
2236 putIReg( regRt, mkexpr(tmpRt));
2301 putIReg(regRd, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)),
2309 putIReg(regRd, load(Ity_I64, mkexpr(t1)));
2317 mkexpr(t1))));
2320 mkexpr(t1))));
2326 putIReg(regRd, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)),
2335 unop(Iop_16Uto64, load(Ity_I16, mkexpr(t1))));
2338 unop(Iop_16Uto32, load(Ity_I16, mkexpr(t1))));
2346 unop(Iop_8Sto64, load(Ity_I8, mkexpr(t1))));
2349 unop(Iop_8Sto32, load(Ity_I8, mkexpr(t1))));
2405 putAcc(ac, binop(Iop_32HLto64, getIReg(rs), mkexpr(t1)));
2419 putAcc(ac, binop(Iop_32HLto64, mkexpr(t1), getIReg(rs)));
2428 putAcc(ac, mkexpr(t1));
2438 putAcc(ac, mkexpr(t1));
2454 assign(t3, binop(Iop_Add64, mkexpr(t1), mkexpr(t2)));
2456 putAcc(ac, mkexpr(t3));
2467 assign(t3, binop(Iop_Add64, mkexpr(t2), mkexpr(t1)));
2469 putAcc(ac, mkexpr(t3));
2480 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2482 putAcc(ac, mkexpr(t3));
2493 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2495 putAcc(ac, mkexpr(t3));
2532 unop(Iop_8Uto32, mkexpr(t0)),
2542 assign(t3, IRExpr_ITE(mkexpr(t1),
2544 IRExpr_ITE(mkexpr(t2),
2547 mkexpr(t0)),
2549 mkexpr(t0))));
2557 unop(Iop_8Uto32, mkexpr(t4)),
2567 assign(t7, IRExpr_ITE(mkexpr(t5),
2569 IRExpr_ITE(mkexpr(t6),
2572 mkexpr(t4)),
2574 mkexpr(t4))));
2582 unop(Iop_8Uto32, mkexpr(t8)),
2592 assign(t11, IRExpr_ITE(mkexpr(t9),
2594 IRExpr_ITE(mkexpr(t10),
2597 mkexpr(t8)),
2599 mkexpr(t8))));
2607 unop(Iop_8Uto32, mkexpr(t12)),
2617 assign(t15, IRExpr_ITE(mkexpr(t13),
2619 IRExpr_ITE(mkexpr(t14),
2622 mkexpr(t12)),
2624 mkexpr(t12))));
2632 unop(Iop_1Sto32, mkexpr(t13)),
2633 unop(Iop_1Sto32, mkexpr(t9))),
2634 unop(Iop_1Sto32, mkexpr(t5))),
2635 unop(Iop_1Sto32, mkexpr(t1))));
2638 mkexpr(t16),
2648 binop(Iop_8HLto16, mkexpr(t15), mkexpr(t11)),
2649 binop(Iop_8HLto16, mkexpr(t7), mkexpr(t3))));
2651 putIReg(rd, mkexpr(t17));
2671 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0)),
2672 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0))));
2761 unop(Iop_16Uto32, mkexpr(t0)),
2771 assign(t3, IRExpr_ITE(mkexpr(t1),
2773 IRExpr_ITE(mkexpr(t2),
2776 mkexpr(t0)),
2778 mkexpr(t0))));
2784 unop(Iop_16Uto32, mkexpr(t4)),
2794 assign(t7, IRExpr_ITE(mkexpr(t5),
2796 IRExpr_ITE(mkexpr(t6),
2799 mkexpr(t4)),
2801 mkexpr(t4))));
2805 unop(Iop_1Sto32, mkexpr(t5)),
2806 unop(Iop_1Sto32, mkexpr(t1))));
2809 mkexpr(t8),
2817 assign(t9, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
2819 putIReg(rd, mkexpr(t9));
2865 putDSPControl(IRExpr_ITE(mkexpr(t0),
2873 assign(t2, IRExpr_ITE(mkexpr(t0),
2875 IRExpr_ITE(mkexpr(t1),
2881 putIReg(rd, mkexpr(t2));
2910 mkexpr(t1),
2915 mkexpr(t1),
2921 mkexpr(t2),
2926 mkexpr(t2),
2932 mkexpr(t3),
2937 mkexpr(t3),
2942 mkexpr(t4),
2945 mkexpr(t4),
2948 mkexpr(t5),
3042 assign(t1, mkexpr(t0));
3044 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
3049 mkexpr(t1)),
3054 mkexpr(t1)),
3061 mkexpr(t1)),
3066 mkexpr(t1)),
3073 unop(Iop_1Sto32, mkexpr(t3)),
3074 unop(Iop_1Sto32, mkexpr(t4))),
3076 unop(Iop_1Sto32, mkexpr(t5)),
3077 unop(Iop_1Sto32, mkexpr(t6)))));
3079 mkexpr(t7),
3096 mkexpr(t0),
3100 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3105 mkexpr(t9)),
3110 mkexpr(t9)),
3116 mkexpr(t9)),
3121 mkexpr(t9)),
3127 unop(Iop_1Sto32, mkexpr(t10)),
3128 unop(Iop_1Sto32, mkexpr(t11))),
3130 unop(Iop_1Sto32, mkexpr(t12)),
3131 unop(Iop_1Sto32, mkexpr(t13)))));
3133 mkexpr(t14),
3140 putIReg(rt, unop(Iop_64to32, mkexpr(t0)));
3142 putIReg(rt, unop(Iop_64to32, mkexpr(t1)));
3171 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3174 mkexpr(t15)),
3176 unop(Iop_64to32, mkexpr(t0)),
3177 unop(Iop_64to32, mkexpr(t1))));
3182 mkexpr(t1)),
3187 mkexpr(t1)),
3194 mkexpr(t1)),
3199 mkexpr(t1)),
3206 unop(Iop_1Sto32, mkexpr(t3)),
3207 unop(Iop_1Sto32, mkexpr(t4))),
3209 unop(Iop_1Sto32, mkexpr(t5)),
3210 unop(Iop_1Sto32, mkexpr(t6)))));
3212 mkexpr(t7),
3227 mkexpr(t15)),
3232 mkexpr(t0),
3236 mkexpr(t15)),
3240 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3245 mkexpr(t9)),
3250 mkexpr(t9)),
3256 mkexpr(t9)),
3261 mkexpr(t9)),
3267 unop(Iop_1Sto32, mkexpr(t10)),
3268 unop(Iop_1Sto32, mkexpr(t11))),
3270 unop(Iop_1Sto32, mkexpr(t12)),
3271 unop(Iop_1Sto32, mkexpr(t13)))));
3273 mkexpr(t14),
3303 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
3305 putDSPControl(IRExpr_ITE(mkexpr(t2),
3320 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3323 IRExpr_ITE(mkexpr(t3),
3326 mkexpr(t1), mkU32(rs))),
3329 mkU32(63), mkexpr(t1)))));
3331 assign(t5, IRExpr_ITE(mkexpr(t3),
3333 mkexpr(t0), mkexpr(t4)),
3335 mkexpr(t0), mkexpr(t4))));
3339 IRExpr_ITE(mkexpr(t3),
3349 assign(t7, IRExpr_ITE(mkexpr(t3),
3352 mkexpr(t5),
3353 mkexpr(t6))),
3357 mkexpr(t5),
3358 mkexpr(t6))),
3361 putIReg(rt, mkexpr(t7));
3388 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
3390 putDSPControl(IRExpr_ITE(mkexpr(t2),
3406 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3409 IRExpr_ITE(mkexpr(t3),
3412 mkexpr(t1), mkexpr(t8))),
3415 mkU32(63), mkexpr(t1)))));
3417 assign(t5, IRExpr_ITE(mkexpr(t3),
3419 mkexpr(t0), mkexpr(t4)),
3421 mkexpr(t0), mkexpr(t4))));
3425 IRExpr_ITE(mkexpr(t3),
3431 mkexpr(t8),
3438 mkexpr(t8),
3441 assign(t7, IRExpr_ITE(mkexpr(t3),
3444 mkexpr(t5),
3445 mkexpr(t6))),
3449 mkexpr(t5),
3450 mkexpr(t6))),
3454 mkexpr(t8))))));
3456 putIReg(rt, mkexpr(t7));
3484 assign(t1, IRExpr_ITE(mkexpr(t16),
3485 mkexpr(t0),
3487 mkexpr(t0),
3495 mkexpr(t0),
3504 IRExpr_ITE(mkexpr(t16),
3507 mkexpr(t15),
3509 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3510 putIReg(rt, unop(Iop_64to32, mkexpr(t9)));
3515 mkexpr(t1)),
3520 mkexpr(t1)),
3528 mkexpr(t1)),
3533 mkexpr(t1)),
3540 unop(Iop_1Sto32, mkexpr(t3)),
3541 unop(Iop_1Sto32, mkexpr(t4))),
3543 unop(Iop_1Sto32, mkexpr(t5)),
3544 unop(Iop_1Sto32, mkexpr(t6)))));
3546 mkexpr(t7),
3556 mkexpr(t9)),
3561 mkexpr(t9)),
3567 mkexpr(t9)),
3572 mkexpr(t9)),
3578 unop(Iop_1Sto32, mkexpr(t10)),
3579 unop(Iop_1Sto32, mkexpr(t11))),
3581 unop(Iop_1Sto32, mkexpr(t12)),
3582 unop(Iop_1Sto32, mkexpr(t13)))));
3584 mkexpr(t14),
3617 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3622 mkexpr(t1)),
3627 mkexpr(t1)),
3634 mkexpr(t1)),
3639 mkexpr(t1)),
3646 unop(Iop_1Sto32, mkexpr(t3)),
3647 unop(Iop_1Sto32, mkexpr(t4))),
3649 unop(Iop_1Sto32, mkexpr(t5)),
3650 unop(Iop_1Sto32, mkexpr(t6)))));
3652 mkexpr(t7),
3667 mkexpr(t15)),
3672 mkexpr(t0),
3676 mkexpr(t15)),
3680 assign(t9, binop(Iop_Add64, mkexprmkexpr(t8)));
3682 putIReg(rt, unop(Iop_64to32, mkexpr(t9)));
3687 mkexpr(t9)),
3692 mkexpr(t9)),
3698 mkexpr(t9)),
3703 mkexpr(t9)),
3709 unop(Iop_1Sto32, mkexpr(t10)),
3710 unop(Iop_1Sto32, mkexpr(t11))),
3712 unop(Iop_1Sto32, mkexpr(t12)),
3713 unop(Iop_1Sto32, mkexpr(t13)))));
3715 mkexpr(t14),
3745 assign(t1, mkexpr(t0));
3747 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
3753 mkexpr(t1)),
3758 mkexpr(t1)),
3765 mkexpr(t1)),
3770 mkexpr(t1)),
3777 unop(Iop_1Sto32, mkexpr(t3)),
3778 unop(Iop_1Sto32, mkexpr(t4))),
3780 unop(Iop_1Sto32, mkexpr(t5)),
3781 unop(Iop_1Sto32, mkexpr(t6)))));
3783 mkexpr(t7),
3800 mkexpr(t0),
3805 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3810 mkexpr(t9)),
3815 mkexpr(t9)),
3821 mkexpr(t9)),
3826 mkexpr(t9)),
3832 unop(Iop_1Sto32, mkexpr(t10)),
3833 unop(Iop_1Sto32, mkexpr(t11))),
3835 unop(Iop_1Sto32, mkexpr(t12)),
3836 unop(Iop_1Sto32, mkexpr(t13)))));
3838 mkexpr(t14),
3847 mkexpr(t9)),
3850 mkexpr(t14),
3853 mkexpr(t16),
3857 unop(Iop_64to32, mkexpr(t9))));
3886 mkexpr(t15),
3889 assign(t1, IRExpr_ITE(mkexpr(t17),
3890 mkexpr(t0),
3892 mkexpr(t0),
3894 mkexpr(t15)))));
3899 mkexpr(t1)),
3904 mkexpr(t1)),
3911 mkexpr(t1)),
3916 mkexpr(t1)),
3923 unop(Iop_1Sto32, mkexpr(t3)),
3924 unop(Iop_1Sto32, mkexpr(t4))),
3926 unop(Iop_1Sto32, mkexpr(t5)),
3927 unop(Iop_1Sto32, mkexpr(t6)))));
3929 mkexpr(t7),
3942 IRExpr_ITE(mkexpr(t17),
3946 mkexpr(t0),
3949 mkexpr(t15),
3953 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3958 mkexpr(t9)),
3963 mkexpr(t9)),
3969 mkexpr(t9)),
3974 mkexpr(t9)),
3980 unop(Iop_1Sto32, mkexpr(t10)),
3981 unop(Iop_1Sto32, mkexpr(t11))),
3983 mkexpr(t12)),
3984 unop(Iop_1Sto32, mkexpr(t13)))));
3986 mkexpr(t14),
3995 mkexpr(t9)),
3998 mkexpr(t14),
4001 mkexpr(t16),
4005 unop(Iop_64to32, mkexpr(t9))));
4031 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
4044 putDSPControl(IRExpr_ITE(mkexpr(t2),
4050 mkexpr(t8)));
4058 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4061 IRExpr_ITE(mkexpr(t3),
4064 mkexpr(t1), mkU32(rs))),
4067 mkU32(63), mkexpr(t1)))));
4069 assign(t5, IRExpr_ITE(mkexpr(t3),
4071 mkexpr(t0), mkexpr(t4)),
4073 mkexpr(t0), mkexpr(t4))));
4077 IRExpr_ITE(mkexpr(t3),
4087 assign(t7, IRExpr_ITE(mkexpr(t3),
4090 mkexpr(t5),
4091 mkexpr(t6))),
4095 mkexpr(t5),
4096 mkexpr(t6))),
4099 putIReg(rt, mkexpr(t7));
4127 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
4139 mkexpr(t8),
4142 putDSPControl(IRExpr_ITE(mkexpr(t2),
4148 mkexpr(t9)));
4156 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4159 IRExpr_ITE(mkexpr(t3),
4162 mkexpr(t1), mkexpr(t8))),
4165 mkU32(63), mkexpr(t1)))));
4167 assign(t5, IRExpr_ITE(mkexpr(t3),
4169 mkexpr(t0), mkexpr(t4)),
4171 mkexpr(t0), mkexpr(t4))));
4175 IRExpr_ITE(mkexpr(t3),
4181 mkexpr(t8),
4188 mkexpr(t8),
4191 assign(t7, IRExpr_ITE(mkexpr(t3),
4194 mkexpr(t5),
4195 mkexpr(t6))),
4199 mkexpr(t5),
4200 mkexpr(t6))),
4204 mkexpr(t8))))));
4206 putIReg(rt, mkexpr(t7));
4224 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
4231 mkexpr(t1)),
4234 mkexpr(t9),
4237 mkexpr(t0)),
4239 mkexpr(t2),
4247 mkexpr(t1),
4256 mkexpr(t3)),
4262 mkexpr(t3))))),
4267 mkexpr(t3)),
4272 mkexpr(t4)),
4283 mkexpr(t1)));
4291 mkexpr(t6)),
4297 mkexpr(t6))))),
4302 mkexpr(t6)),
4307 mkexpr(t7)),
4314 mkexpr(t4)),
4318 mkexpr(t7)),
4321 mkexpr(t1)))));
4340 mkexpr(t0),
4351 mkexpr(t1)),
4354 mkexpr(t9),
4357 mkexpr(t0)),
4359 mkexpr(t2),
4367 mkexpr(t1),
4376 mkexpr(t3)),
4382 mkexpr(t3))))),
4387 mkexpr(t3)),
4392 mkexpr(t4)),
4403 mkexpr(t1)));
4411 mkexpr(t6)),
4417 mkexpr(t6))))),
4422 mkexpr(t6)),
4427 mkexpr(t7)),
4434 mkexpr(t4)),
4438 mkexpr(t7)),
4441 mkexpr(t1)))));
4613 putAcc(ac, mkexpr(t0));
4617 unop(Iop_64to32, mkexpr(t0)),
4621 mkexpr(t0),
4628 putAcc(ac, mkexpr(t1));
4630 assign(t1, binop(Iop_Shr64, mkexpr(t0), mkU8(shift)));
4632 putAcc(ac, mkexpr(t1));
4647 assign(t2, binop(Iop_CmpEQ32, mkexpr(t1), mkU32(0x20)));
4649 mkexpr(t0),
4653 mkexpr(t1)),
4656 mkexpr(t0),
4658 mkexpr(t1))));
4661 IRExpr_ITE(mkexpr(t2),
4663 unop(Iop_64to32, mkexpr(t0)),
4667 mkexpr(t1),
4670 mkexpr(t3),
4671 mkexpr(t4))));
4684 unop(Iop_64to32, mkexpr(t0)),
4689 mkexpr(t1)),
4692 mkexpr(t1),
4699 mkexpr(t1),
4720 putIReg(rd, load(Ity_I32, mkexpr(t0)));
4730 putIReg(rd, unop(Iop_16Sto32, load(Ity_I16, mkexpr(t0))));
4740 putIReg(rd, unop(Iop_8Uto32, load(Ity_I8, mkexpr(t0))));
4776 mkexpr(t1),
4777 mkexpr(t0))));
4783 mkexpr(t2)),
4784 mkexpr(t2)));
4789 mkexpr(t0))));
4794 mkexpr(t3)),
4795 mkexpr(t3)));
4806 mkexpr(t1))))),
4808 mkexpr(t0))));
4811 mkexpr(t0),
4814 mkexpr(t1),
4818 mkexpr(t6),
4819 mkexpr(t8))),
4822 mkexpr(t2)),
4825 mkexpr(t7),
4826 mkexpr(t8)),
4829 mkexpr(t6),
4830 mkexpr(t7)),
4831 mkexpr(t8)))));
4866 mkexpr(t0),
4882 mkexpr(t2),
4898 mkexpr(t4),
4914 mkexpr(t6),
4922 unop(Iop_1Sto32, mkexpr(t7)),
4923 unop(Iop_1Sto32, mkexpr(t5))),
4924 unop(Iop_1Sto32, mkexpr(t3))),
4925 unop(Iop_1Sto32, mkexpr(t1))));
4928 mkexpr(t8),
4937 unop(Iop_32to8, mkexpr(t6)),
4938 unop(Iop_32to8, mkexpr(t4))),
4940 unop(Iop_32to8, mkexpr(t2)),
4941 unop(Iop_32to8, mkexpr(t0)))));
4969 mkexpr(t0),
4985 mkexpr(t2),
5001 mkexpr(t4),
5017 mkexpr(t6),
5024 unop(Iop_1Sto32, mkexpr(t7)),
5025 unop(Iop_1Sto32, mkexpr(t5))),
5026 unop(Iop_1Sto32, mkexpr(t3))),
5027 unop(Iop_1Sto32, mkexpr(t1))));
5030 mkexpr(t8),
5039 unop(Iop_32to8, mkexpr(t6)),
5040 unop(Iop_32to8, mkexpr(t4))),
5042 unop(Iop_32to8, mkexpr(t2)),
5043 unop(Iop_32to8, mkexpr(t0)))));
5075 mkexpr(t0),
5079 assign(t2, IRExpr_ITE(mkexpr(t1),
5081 unop(Iop_32to8, mkexpr(t0))));
5095 mkexpr(t3),
5099 assign(t5, IRExpr_ITE(mkexpr(t4),
5101 unop(Iop_32to8, mkexpr(t3))));
5115 mkexpr(t6),
5119 assign(t8, IRExpr_ITE(mkexpr(t7),
5121 unop(Iop_32to8, mkexpr(t6))));
5135 mkexpr(t9),
5139 assign(t11, IRExpr_ITE(mkexpr(t10),
5141 unop(Iop_32to8, mkexpr(t9))));
5147 unop(Iop_1Sto32, mkexpr(t10)),
5148 unop(Iop_1Sto32, mkexpr(t7))),
5149 unop(Iop_1Sto32, mkexpr(t4))),
5150 unop(Iop_1Sto32, mkexpr(t1))));
5153 mkexpr(t12),
5162 binop(Iop_8HLto16, mkexpr(t11), mkexpr(t8)),
5163 binop(Iop_8HLto16, mkexpr(t5), mkexpr(t2))));
5222 mkexpr(t6),
5225 putDSPControl(IRExpr_ITE(mkexpr(t2),
5232 mkexpr(t7),
5235 putDSPControl(IRExpr_ITE(mkexpr(t3),
5242 mkexpr(t8),
5245 putDSPControl(IRExpr_ITE(mkexpr(t4),
5252 mkexpr(t9),
5255 putDSPControl(IRExpr_ITE(mkexpr(t5),
5260 putIReg(rd, mkexpr(t1));
5293 mkexpr(t0),
5298 mkexpr(t1),
5300 putDSPControl(IRExpr_ITE(mkexpr(t2),
5304 IRExpr_ITE(mkexpr(t3),
5311 IRExpr_ITE(mkexpr(t2),
5313 unop(Iop_32to16, mkexpr(t0))),
5314 IRExpr_ITE(mkexpr(t3),
5316 unop(Iop_32to16, mkexpr(t1)))));
5349 mkexpr(t0),
5354 mkexpr(t1),
5356 putDSPControl(IRExpr_ITE(mkexpr(t2),
5360 IRExpr_ITE(mkexpr(t3),
5366 IRExpr_ITE(mkexpr(t2),
5369 mkexpr(t0))),
5370 IRExpr_ITE(mkexpr(t3),
5373 mkexpr(t1)))));
5394 unop(Iop_32to16, mkexpr(t0))),
5398 putDSPControl(IRExpr_ITE(mkexpr(t1),
5414 unop(Iop_32to16, mkexpr(t2))),
5419 putDSPControl(IRExpr_ITE(mkexpr(t3),
5426 unop(Iop_32to16, mkexpr(t2)),
5427 unop(Iop_32to16, mkexpr(t0))));
5448 mkexpr(t0),
5452 putDSPControl(IRExpr_ITE(mkexpr(t1),
5468 mkexpr(t2),
5472 putDSPControl(IRExpr_ITE(mkexpr(t3),
5479 unop(Iop_32to16, mkexpr(t2)),
5480 unop(Iop_32to16, mkexpr(t0))));
5503 unop(Iop_32HIto16, mkexpr(t0))),
5509 mkexpr(t0),
5512 mkexpr(t6)));
5514 putDSPControl(IRExpr_ITE(mkexpr(t1),
5530 unop(Iop_32HIto16, mkexpr(t2))),
5536 mkexpr(t2),
5539 mkexpr(t7)));
5541 putDSPControl(IRExpr_ITE(mkexpr(t3),
5548 unop(Iop_32to16, mkexpr(t2)),
5549 unop(Iop_32to16, mkexpr(t0))));
5572 unop(Iop_32HIto16, mkexpr(t0))),
5578 mkexpr(t0),
5581 mkexpr(t6)));
5583 putDSPControl(IRExpr_ITE(mkexpr(t1),
5599 unop(Iop_32HIto16, mkexpr(t2))),
5605 mkexpr(t2),
5608 mkexpr(t7)));
5610 putDSPControl(IRExpr_ITE(mkexpr(t3),
5617 unop(Iop_32to16, mkexpr(t2)),
5618 unop(Iop_32to16, mkexpr(t0))));
5639 unop(Iop_32to16, mkexpr(t0))),
5643 putDSPControl(IRExpr_ITE(mkexpr(t1),
5659 unop(Iop_32to16, mkexpr(t2))),
5663 putDSPControl(IRExpr_ITE(mkexpr(t3),
5670 IRExpr_ITE(mkexpr(t3),
5673 mkexpr(t2))),
5674 IRExpr_ITE(mkexpr(t1),
5677 mkexpr(t0)))));
5698 mkexpr(t0), mkU32(0x00010000)),
5701 putDSPControl(IRExpr_ITE(mkexpr(t1),
5717 mkexpr(t2), mkU32(0x00010000)),
5720 putDSPControl(IRExpr_ITE(mkexpr(t3),
5728 IRExpr_ITE(mkexpr(t3),
5730 unop(Iop_32to16, mkexpr(t2))),
5731 IRExpr_ITE(mkexpr(t1),
5733 unop(Iop_32to16, mkexpr(t0)))));
5758 unop(Iop_32HIto16, mkexpr(t0))),
5764 mkexpr(t0),
5767 mkexpr(t6)));
5769 putDSPControl(IRExpr_ITE(mkexpr(t1),
5775 assign(t4, IRExpr_ITE(mkexpr(t1),
5777 mkexpr(t6),
5781 unop(Iop_32to16, mkexpr(t0))));
5793 unop(Iop_32HIto16, mkexpr(t2))),
5799 mkexpr(t2),
5802 mkexpr(t7)));
5804 putDSPControl(IRExpr_ITE(mkexpr(t3),
5810 assign(t5, IRExpr_ITE(mkexpr(t3),
5812 mkexpr(t7),
5816 unop(Iop_32to16, mkexpr
5818 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
5843 unop(Iop_32HIto16, mkexpr(t0))),
5849 mkexpr(t0),
5852 mkexpr(t6)));
5854 putDSPControl(IRExpr_ITE(mkexpr(t1),
5860 assign(t4, IRExpr_ITE(mkexpr(t1),
5862 mkexpr(t6),
5866 unop(Iop_32to16, mkexpr(t0))));
5878 unop(Iop_32HIto16, mkexpr(t2))),
5884 mkexpr(t2),
5887 mkexpr(t7)));
5889 putDSPControl(IRExpr_ITE(mkexpr(t3),
5895 assign(t5, IRExpr_ITE(mkexpr(t3),
5897 mkexpr(t7),
5901 unop(Iop_32to16, mkexpr(t2))));
5903 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
5920 unop(Iop_64HIto32, mkexpr(t0)),
5923 putDSPControl(IRExpr_ITE(mkexpr(t1),
5931 putIReg(rd, unop(Iop_64to32, mkexpr(t0)));
5954 mkexpr(t0)))));
5958 unop(Iop_64HIto32, mkexpr(t1)),
5962 unop(Iop_64to32, mkexpr(t1)),
5965 assign(t4, binop(Iop_CmpNE32, mkexpr(t2), mkexpr(t3)));
5967 putDSPControl(IRExpr_ITE(mkexpr(t4),
5972 putIReg(rd, unop(Iop_64to32, mkexpr(t1)));
6001 mkexpr(t1),
6003 getIReg(rs), mkexpr(t0))));
6004 putIReg(rd, mkexpr(t2));
6044 unop(Iop_64HIto32, mkexpr(t0)),
6049 unop(Iop_64to32, mkexpr(t0)),
6052 mkexpr(t3)));
6054 putDSPControl(IRExpr_ITE(mkexpr(t1),
6060 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6062 mkexpr(t3),
6066 unop(Iop_64to32, mkexpr(t0))));
6082 unop(Iop_64HIto32, mkexpr(t0)),
6087 unop(Iop_64to32, mkexpr(t0)),
6090 mkexpr(t3)));
6092 putDSPControl(IRExpr_ITE(mkexpr(t1),
6098 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6100 mkexpr(t3),
6104 unop(Iop_64to32, mkexpr(t0))));
6133 assign(t3, IRExpr_ITE(mkexpr(t1),
6134 IRExpr_ITE(mkexpr(t2),
6140 putDSPControl(mkexpr(t3));
6142 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6143 IRExpr_ITE(mkexpr(t2),
6145 mkexpr(t0)),
6146 mkexpr(t0)));
6174 putDSPControl(IRExpr_ITE(mkexpr(t1),
6175 IRExpr_ITE(mkexpr(t2),
6182 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6183 IRExpr_ITE(mkexpr(t2),
6185 mkexpr(t0)),
6186 mkexpr(t0)));
6215 mkexpr(t5),
6221 mkexpr(t6),
6228 mkexpr(t7),
6234 mkexpr(t8),
6240 mkexpr(t0),
6241 mkexpr(t1)),
6252 mkexpr(t7),
6253 mkexpr(t8))),
6259 mkexpr(t5),
6260 mkexpr(t6))),
6264 mkexpr(t1),
6266 mkexpr(t2),
6269 mkexpr(t0),
6271 mkexpr(t3),
6307 putDSPControl(IRExpr_ITE(mkexpr(t1),
6308 IRExpr_ITE(mkexpr(t2),
6315 assign(t3, IRExpr_ITE(mkexpr(t1),
6316 IRExpr_ITE(mkexpr(t2),
6319 mkexpr(t0))),
6320 unop(Iop_32HIto16, mkexpr(t0))));
6344 putDSPControl(IRExpr_ITE(mkexpr(t5),
6345 IRExpr_ITE(mkexpr(t6),
6351 assign(t7, IRExpr_ITE(mkexpr(t5),
6352 IRExpr_ITE(mkexpr(t6),
6355 mkexpr(t4))),
6356 unop(Iop_32HIto16, mkexpr(t4))));
6358 putIReg(rd, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
6380 putDSPControl(IRExpr_ITE(mkexpr(t1),
6397 putDSPControl(IRExpr_ITE(mkexpr(t2),
6414 putDSPControl(IRExpr_ITE(mkexpr(t3),
6431 putDSPControl(IRExpr_ITE(mkexpr(t4),
6457 putDSPControl(IRExpr_ITE(mkexpr(t1),
6474 putDSPControl(IRExpr_ITE(mkexpr(t2),
6491 putDSPControl(IRExpr_ITE(mkexpr(t3),
6508 putDSPControl(IRExpr_ITE(mkexpr(t4),
6534 putDSPControl(IRExpr_ITE(mkexpr(t1),
6551 putDSPControl(IRExpr_ITE(mkexpr(t2),
6568 putDSPControl(IRExpr_ITE(mkexpr(t3),
6585 putDSPControl(IRExpr_ITE(mkexpr(t4),
6606 mkexpr(t0),
6617 mkexpr(t0),
6627 mkexpr(t0),
6638 mkexpr(t0),
6649 binop(Iop_8HLto16, mkexpr(t4), mkexpr(t3)),
6650 binop(Iop_8HLto16, mkexpr(t2), mkexpr(t1))));
6673 assign(t5, IRExpr_ITE(mkexpr(t1),
6684 assign(t6, IRExpr_ITE(mkexpr(t2),
6696 assign(t7, IRExpr_ITE(mkexpr(t3),
6708 assign(t8, IRExpr_ITE(mkexpr(t4),
6714 mkexpr(t5), mkexpr(t6)),
6715 mkexpr(t7)),
6716 mkexpr(t8)));
6739 assign(t5, IRExpr_ITE(mkexpr(t1),
6750 assign(t6, IRExpr_ITE(mkexpr(t2),
6762 assign(t7, IRExpr_ITE(mkexpr(t3),
6774 assign(t8, IRExpr_ITE(mkexpr(t4),
6779 mkexpr(t5), mkexpr(t6)),
6780 mkexpr(t7)),
6781 mkexpr(t8)));
6804 assign(t5, IRExpr_ITE(mkexpr(t1),
6815 assign(t6, IRExpr_ITE(mkexpr(t2),
6827 assign(t7, IRExpr_ITE(mkexpr(t3),
6839 assign(t8, IRExpr_ITE(mkexpr(t4),
6844 mkexpr(t5), mkexpr(t6)),
6845 mkexpr(t7)),
6846 mkexpr(t8)));
6858 putDSPControl(IRExpr_ITE(mkexpr(t1),
6868 putDSPControl(IRExpr_ITE(mkexpr(t2),
6888 putDSPControl(IRExpr_ITE(mkexpr(t1),
6901 putDSPControl(IRExpr_ITE(mkexpr(t2),
6921 putDSPControl(IRExpr_ITE(mkexpr(t1),
6934 putDSPControl(IRExpr_ITE(mkexpr(t2),
6954 mkexpr(t0),
6962 mkexpr(t0),
6968 putIReg(rd, binop(Iop_16HLto32, mkexpr(t2), mkexpr(t1)));
7046 mkexpr(t4),
7061 mkexpr(t5),
7063 IRExpr_ITE(mkexpr(t6),
7093 mkexpr(t7),
7113 putDSPControl(IRExpr_ITE(mkexpr(t8),
7114 mkexpr(t9),
7139 mkexpr(t10),
7159 putDSPControl(IRExpr_ITE(mkexpr(t11),
7160 mkexpr(t12),
7185 mkexpr(t13),
7205 putDSPControl(IRExpr_ITE(mkexpr(t14),
7206 mkexpr(t15),
7213 mkexpr(t1), mkexpr(t0)),
7215 mkexpr(t3), mkexpr(t2))));
7247 unop(Iop_64HIto32, mkexpr(t0)),
7251 unop(Iop_64to32, mkexpr(t0)),
7254 assign(t2, IRExpr_ITE(mkexpr(t1),
7256 unop(Iop_64to32, mkexpr(t0))));
7257 putDSPControl(IRExpr_ITE(mkexpr(t1),
7273 unop(Iop_64HIto32, mkexpr(t3)),
7277 unop(Iop_64to32, mkexpr(t3)),
7280 assign(t5, IRExpr_ITE(mkexpr(t4),
7282 unop(Iop_64to32, mkexpr(t3))));
7283 putDSPControl(IRExpr_ITE(mkexpr(t4),
7289 unop(Iop_32HIto16, mkexpr(t2)),
7290 unop(Iop_32HIto16, mkexpr(t5))));
7339 unop(Iop_32to16, mkexpr(t0)),
7340 unop(Iop_32to16, mkexpr(t1))));
7373 assign(t5, IRExpr_ITE(mkexpr(t1),
7375 putDSPControl(IRExpr_ITE(mkexpr(t1),
7391 assign(t6, IRExpr_ITE(mkexpr(t2),
7393 putDSPControl(IRExpr_ITE(mkexpr(t2),
7410 assign(t7, IRExpr_ITE(mkexpr(t3),
7412 putDSPControl(IRExpr_ITE(mkexpr(t3),
7429 assign(t8, IRExpr_ITE(mkexpr(t4),
7431 putDSPControl(IRExpr_ITE(mkexpr(t4),
7442 mkexpr(t5), mkexpr(t6)),
7443 mkexpr(t7)),
7444 mkexpr(t8)));
7467 assign(t5, IRExpr_ITE(mkexpr(t1),
7469 putDSPControl(IRExpr_ITE(mkexpr(t1),
7485 assign(t6, IRExpr_ITE(mkexpr(t2),
7487 putDSPControl(IRExpr_ITE(mkexpr(t2),
7504 assign(t7, IRExpr_ITE(mkexpr(t3),
7506 putDSPControl(IRExpr_ITE(mkexpr(t3),
7523 assign(t8, IRExpr_ITE(mkexpr(t4),
7525 putDSPControl(IRExpr_ITE(mkexpr(t4),
7536 mkexpr(t5), mkexpr(t6)),
7537 mkexpr(t7)),
7538 mkexpr(t8)));
7561 assign(t5, IRExpr_ITE(mkexpr(t1),
7564 mkexpr(t1),
7580 assign(t6, IRExpr_ITE(mkexpr(t2),
7582 putDSPControl(IRExpr_ITE(mkexpr(t2),
7599 assign(t7, IRExpr_ITE(mkexpr(t3),
7601 putDSPControl(IRExpr_ITE(mkexpr(t3),
7618 assign(t8, IRExpr_ITE(mkexpr(t4),
7620 putDSPControl(IRExpr_ITE(mkexpr(t4),
7631 mkexpr(t5), mkexpr(t6)),
7632 mkexpr(t7)),
7633 mkexpr(t8)));
7669 mkexpr(t0),
7674 mkexpr(t0),
7679 mkexpr(t0),
7684 mkexpr(t0),
7697 mkexpr(t3),
7702 mkexpr(t3),
7707 mkexpr(t3),
7712 mkexpr(t3),
7720 mkexpr(t1)),
7722 mkexpr(t2))),
7725 mkexpr(t7)),
7727 mkexpr(t8)))),
7731 mkexpr(t4)),
7733 mkexpr(t5))),
7736 mkexpr(t9)),
7738 mkexpr(t10))))));
7741 mkexpr(t6),
7750 mkexpr(t3),
7754 mkexpr(t0),
7778 mkexpr(t0),
7779 unop(Iop_32to8, mkexpr(t9)))));
7786 mkexpr(t2),
7787 unop(Iop_32to8, mkexpr(t9)))));
7794 mkexpr(t4),
7795 unop(Iop_32to8, mkexpr(t9)))));
7802 mkexpr(t6),
7803 unop(Iop_32to8, mkexpr(t9)))));
7805 mkexpr(t9),
7810 mkexpr(t7),
7811 mkexpr(t5)),
7813 mkexpr(t3),
7814 mkexpr(t1)))));
7842 mkexpr(t11)));
7845 mkexpr(t0),
7850 mkexpr(t0),
7855 mkexpr(t0),
7860 mkexpr(t0),
7870 mkexpr(t11)));
7873 mkexpr(t3),
7878 mkexpr(t3),
7883 mkexpr(t3),
7888 mkexpr(t3),
7896 mkexpr(t1)),
7898 mkexpr(t2))),
7901 mkexpr(t7)),
7903 mkexpr(t8)))),
7907 mkexpr(t4)),
7909 mkexpr(t5))),
7912 mkexpr(t9)),
7914 mkexpr(t10))))));
7917 mkexpr(t6),
7924 unop(Iop_8Uto32, mkexpr(t11)),
7930 mkexpr(t3),
7934 mkexpr(t0),
7974 binop(Iop_8HLto16, mkexpr(t3), mkexpr(t2)),
7975 binop(Iop_8HLto16, mkexpr(t1), mkexpr(t0))));
8000 binop(Iop_Shr32, mkexpr(t1), mkU8(rs)));
8004 mkexpr(t2),
8008 mkexpr(t1),
8021 assign(t5, binop(Iop_Shr32, mkexpr(t4), mkU8(rs)));
8025 mkexpr(t5),
8029 mkexpr(t4),
8042 assign(t8, binop(Iop_Shr32, mkexpr(t7), mkU8(rs)));
8046 mkexpr(t8),
8050 mkexpr(t7),
8063 assign(t11, binop(Iop_Shr32, mkexpr(t10), mkU8(rs)));
8067 mkexpr(t11),
8071 mkexpr(t10),
8082 unop(Iop_32to8, mkexpr(t0)),
8083 unop(Iop_32to8, mkexpr(t3))),
8085 unop(Iop_32to8, mkexpr(t6)),
8086 unop(Iop_32to8, mkexpr(t9)))));
8110 mkexpr(t0),
8122 mkexpr(t2),
8134 mkexpr(t4),
8146 mkexpr(t6),
8153 mkexprmkexpr(t5)),
8155 mkexpr(t3), mkexpr(t1))));
8186 mkexpr(t1),
8193 mkexpr(t2),
8197 mkexpr(t1),
8217 mkexpr(t4),
8224 mkexpr(t5),
8228 mkexpr(t4),
8248 mkexpr(t7),
8255 mkexpr(t8),
8259 mkexpr(t7),
8279 mkexpr(t10),
8286 mkexpr(t11),
8290 mkexpr(t10),
8313 mkexpr(t1),
8314 mkexpr(t0))),
8322 mkexpr(t2),
8323 mkexpr(t3)))),
8332 mkexpr(t5),
8333 mkexpr(t6))),
8341 mkexpr(t8),
8342 mkexpr(t9))))));
8361 binop(Iop_Sub32, mkexpr(t9), mkU32(0x1))));
8368 mkexpr(t0),
8371 mkexpr(t8))),
8373 mkexpr(t9)))));
8381 mkexpr(t2),
8384 mkexpr(t8))),
8385 unop(Iop_32to8, mkexpr(t9)))));
8393 mkexpr(t4),
8396 mkexpr(t8))),
8397 unop(Iop_32to8, mkexpr(t9)))));
8405 mkexpr(t6),
8408 mkexpr(t8))),
8409 unop(Iop_32to8, mkexpr(t9)))));
8411 mkexpr(t9),
8416 mkexpr(t7),
8417 mkexpr(t5)),
8419 mkexpr(t3),
8420 mkexpr(t1)))));
8447 mkexpr(t0),
8453 mkexpr(t0),
8457 mkexpr(t1),
8458 mkexpr(t2)));
8460 mkexpr(t3),
8471 mkexpr(t0),
8487 mkexpr(t4),
8493 mkexpr(t4),
8497 mkexpr(t5),
8498 mkexpr(t6)));
8500 mkexpr(t7),
8507 mkexpr(t7),
8519 mkexpr(t4),
8528 unop(Iop_32to16, mkexpr(t4)),
8529 unop(Iop_32to16, mkexpr(t0))));
8550 unop(Iop_32to16, mkexpr(t1)),
8551 unop(Iop_32to16, mkexpr(t0))));
8578 unop(Iop_32to8, mkexpr(t0))));
8582 unop(Iop_32HIto16, mkexpr(t2))),
8586 unop(Iop_32HIto16, mkexpr(t2))),
8589 unop(Iop_1Sto32, mkexpr(t3)),
8590 unop(Iop_1Sto32, mkexpr(t4))));
8597 mkexpr(t5),
8600 mkexpr(t2),
8605 mkexpr(t10),
8610 IRExpr_ITE(mkexpr(t12),
8620 unop(Iop_32to8, mkexpr(t0))));
8624 unop(Iop_32HIto16, mkexpr(t6))),
8628 unop(Iop_32HIto16, mkexpr(t6))),
8631 unop(Iop_1Sto32, mkexpr(t7)),
8632 unop(Iop_1Sto32, mkexpr(t8))));
8640 mkexpr(t9),
8643 mkexpr(t6),
8648 mkexpr(t11),
8653 IRExpr_ITE(mkexpr(t13),
8661 unop(Iop_32to16, mkexpr(t6)),
8662 unop(Iop_32to16, mkexpr(t2))));
8674 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
8678 unop(Iop_32to8, mkexpr(t0))));
8682 unop(Iop_32to8, mkexpr(t0))));
8685 IRExpr_ITE(mkexpr(t1),
8687 unop(Iop_32to16, mkexpr(t3))),
8688 IRExpr_ITE(mkexpr(t1),
8690 unop(Iop_32to16, mkexpr(t2)))));
8724 mkexpr(t0),
8730 mkexpr(t0),
8734 mkexpr(t1),
8735 mkexpr(t2)));
8737 mkexpr(t3),
8748 mkexpr(t0),
8757 mkexpr(t3),
8767 mkexpr(t0),
8775 mkexpr(t0),
8777 mkexpr(t8),
8794 mkexpr(t4),
8800 mkexpr(t4),
8804 mkexpr(t5),
8805 mkexpr(t6)));
8807 mkexpr(t7),
8814 mkexpr(t7),
8822 mkexpr(t4),
8829 mkexpr(t12)),
8843 mkexpr(t7),
8845 mkexpr(t13),
8848 mkexpr(t4),
8865 mkexpr(t4),
8868 mkexpr(t9),
8869 mkexpr(t14)));
8871 mkexpr(t10),
8872 mkexpr(t11)));
8903 unop(Iop_32to16, mkexpr(t1)),
8904 unop(Iop_32to16, mkexpr(t0))));
8935 unop(Iop_32to8, mkexpr(t0))));
8939 unop(Iop_32HIto16, mkexpr(t2))),
8943 unop(Iop_32HIto16, mkexpr(t2))),
8946 unop(Iop_1Sto32, mkexpr(t3)),
8947 unop(Iop_1Sto32, mkexpr(t4))));
8954 mkexpr(t5),
8957 mkexpr(t2),
8962 mkexpr(t10),
8967 IRExpr_ITE(mkexpr(t12),
8974 mkexpr(t5),
8979 mkexpr(t10),
8981 mkexpr(t14),
8982 IRExpr_ITE(mkexpr(t12),
8984 mkexpr(t2)),
8985 mkexpr(t14))));
8990 unop(Iop_32to8, mkexpr(t0))));
8994 unop(Iop_32HIto16, mkexpr(t6))),
8998 unop(Iop_32HIto16, mkexpr(t6))),
9001 unop(Iop_1Sto32, mkexpr(t7)),
9002 unop(Iop_1Sto32, mkexpr(t8))));
9010 mkexpr(t9),
9013 mkexpr(t6),
9018 mkexpr(t11),
9023 IRExpr_ITE(mkexpr(t13),
9031 mkexpr(t9),
9036 mkexpr(t11),
9038 mkexpr(t16),
9039 IRExpr_ITE(mkexpr(t13),
9041 mkexpr(t6)),
9042 mkexpr(t16))));
9044 putIReg(rd, binop(Iop_16HLto32, mkexpr(t17), mkexpr(t15)));
9057 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9059 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9067 mkexpr(t2))),
9068 unop(Iop_32to8, mkexpr(t0))));
9076 mkexpr(t2))),
9077 unop(Iop_32to8, mkexpr(t0))));
9080 IRExpr_ITE(mkexpr(t1),
9084 mkexpr(t4))),
9085 IRExpr_ITE(mkexpr(t1),
9088 mkexpr(t3)))));
9128 mkexpr(t2),
9130 mkexpr(t2),
9131 mkexpr(t1)));
9134 mkexpr(t0),
9137 mkexpr(t0),
9140 mkexpr(t1),
9141 mkexpr(t3)),
9142 mkexpr(t3)));
9144 mkexpr(t0),
9151 mkexpr(t0),
9153 mkexpr(t5),
9160 mkexpr(t2),
9167 putIReg(rd, mkexpr(t4));
9205 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9216 unop(Iop_32to8, mkexpr(t0))));
9218 unop(Iop_64HIto32, mkexpr(t3)),
9221 unop(Iop_64HIto32, mkexpr(t3)),
9224 unop(Iop_1Uto32, mkexpr(t4)),
9225 unop(Iop_1Uto32, mkexpr(t5))));
9234 unop(Iop_64to32, mkexpr(t3)),
9238 putDSPControl(IRExpr_ITE(unop(Iop_32to1, mkexpr(t6)),
9242 IRExpr_ITE(mkexpr(t7),
9250 mkexpr(t2)),
9253 putIReg(rd, IRExpr_ITE(unop(Iop_32to1, mkexpr(t6)),
9255 mkexpr(t2)),
9258 IRExpr_ITE(mkexpr(t7),
9260 mkexpr(t3)),
9261 mkexpr(t8))));
9273 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9275 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9277 putIReg(rd, IRExpr_ITE(mkexpr(t1),
9283 mkexpr(t2)),
9302 unop(Iop_32to16, mkexpr(t1)),
9303 unop(Iop_32to16, mkexpr(t0))));
9319 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9324 unop(Iop_32to8, mkexpr(t0))));
9328 unop(Iop_32to8, mkexpr(t0))));
9330 assign(t4, IRExpr_ITE(mkexpr(t1),
9332 unop(Iop_32to16, mkexpr(t3))));
9333 assign(t5, IRExpr_ITE(mkexpr(t1),
9335 unop(Iop_32to16, mkexpr(t2))));
9336 putIReg(rd, binop(Iop_16HLto32, mkexpr(t4), mkexpr(t5)));
9353 putIReg(rd, mkexpr(t0));
9363 putIReg(rd, mkexpr(t0));
9395 mkexpr(t0),
9396 mkexpr(t1)),
9411 mkexpr(t3),
9412 mkexpr(t4)),
9427 mkexpr(t7),
9428 mkexpr(t6)),
9443 mkexpr(t9),
9444 mkexpr(t10)),
9450 mkexpr(t11), mkexpr(t8)),
9452 mkexpr(t5), mkexpr(t2))));
9504 mkexpr(t1),
9505 mkexpr(t5)),
9513 mkexpr(t2),
9514 mkexpr(t6)),
9522 mkexpr(t3),
9523 mkexpr(t7)),
9531 mkexpr(t4),
9532 mkexpr(t8)),
9538 mkexpr(t12), mkexpr(t11)),
9540 mkexpr(t10), mkexpr(t9))));
9561 mkexpr(t0),
9574 mkexpr(t2),
9577 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9607 mkexpr(t0),
9622 mkexpr(t2),
9627 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9649 mkexpr(t0),
9664 mkexpr(t2),
9669 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9688 mkexpr(t0),
9694 mkexpr(t0),
9712 mkexpr(t1),
9718 mkexpr(t1),
9728 unop(Iop_32to16, mkexpr(t0)),
9729 unop(Iop_32to16, mkexpr(t1))));
9730 putIReg(rd, mkexpr(t2));
9754 mkexpr(t0),
9758 mkexpr(t0),
9761 mkexpr(t0))));
9766 mkexpr(t0),
9772 mkexpr(t0),
9790 mkexpr(t2),
9794 mkexpr(t2),
9797 mkexpr(t2))));
9802 mkexpr(t2),
9808 mkexpr(t2),
9818 unop(Iop_32to16, mkexpr(t1)),
9819 unop(Iop_32to16, mkexpr(t3))));
9820 putIReg(rd, mkexpr(t4));
9833 mkexpr(t0),
9836 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
9849 mkexpr(t0),
9852 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
9866 mkexpr(t0),
9869 mkexpr(t1),
9872 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
9886 mkexpr(t0),
9889 mkexpr(t1),
9892 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
9911 putDSPControl(IRExpr_ITE(mkexpr(t1),
9912 IRExpr_ITE(mkexpr(t2),
9919 putIReg(rd, IRExpr_ITE(mkexpr(t1),
9920 IRExpr_ITE(mkexpr(t2),
9923 mkexpr(t0))),
9924 unop(Iop_64HIto32, mkexpr(t0))));
9945 putDSPControl(IRExpr_ITE(mkexpr(t1),
9946 IRExpr_ITE(mkexpr(t2),
9953 putIReg(rd, IRExpr_ITE(mkexpr(t1),
9954 IRExpr_ITE(mkexpr(t2),
9957 mkexpr(t0))),
9958 unop(Iop_64HIto32, mkexpr(t0))));
9993 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
9994 putAcc(ac, mkexpr(t2));
10022 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10023 putAcc(ac, mkexpr(t2));
10046 assign(t2, binop(Iop_Sub32, mkexpr(t1), mkexpr(t0)));
10048 mkexpr(t4),
10049 unop(Iop_32Sto64, mkexpr(t2))));
10079 mkexpr(t0),
10080 mkexpr(t1))));
10082 binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10083 putAcc(ac, mkexpr(t3));
10120 IRExpr_ITE(mkexpr(t2),
10121 IRExpr_ITE(mkexpr(t3),
10123 mkexpr(t1)),
10124 mkexpr(t1)));
10126 putDSPControl(IRExpr_ITE(mkexpr(t2),
10127 IRExpr_ITE(mkexpr(t3),
10155 IRExpr_ITE(mkexpr(t6),
10156 IRExpr_ITE(mkexpr(t7),
10158 mkexpr(t5)),
10159 mkexpr(t5)));
10161 putDSPControl(IRExpr_ITE(mkexpr(t6),
10162 IRExpr_ITE(mkexpr(t7),
10174 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
10175 mkexpr(t0)));
10176 putAcc(ac, mkexpr(t9));
10213 IRExpr_ITE(mkexpr(t2),
10214 IRExpr_ITE(mkexpr(t3),
10216 mkexpr(t1)),
10217 mkexpr(t1)));
10219 putDSPControl(IRExpr_ITE(mkexpr(t2),
10220 mkexpr(t3),
10248 IRExpr_ITE(mkexpr(t6),
10249 IRExpr_ITE(mkexpr(t7),
10251 mkexpr(t5)),
10252 mkexpr(t5)));
10254 putDSPControl(IRExpr_ITE(mkexpr(t6),
10255 IRExpr_ITE(mkexpr(t7),
10268 mkexpr(t0),
10269 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
10270 putAcc(ac, mkexpr(t9));
10308 mkexpr(t8),
10320 mkexpr(t8), mkU32(0x0)),
10324 mkexpr(t0), mkexpr(t1)),
10347 mkexpr(t9),
10358 mkexpr(t9),
10363 mkexpr(t3),
10364 mkexpr(t4)),
10369 unop(Iop_32Sto64, mkexpr(t2)),
10370 unop(Iop_32Sto64, mkexpr(t5))));
10372 assign(t7, binop(Iop_Add64, getAcc(ac), mkexpr(t6)));
10374 putAcc(ac, mkexpr(t7));
10402 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10403 assign(t3, binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10404 putAcc(ac, mkexpr(t3));
10431 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10432 putAcc(ac, mkexpr(t2));
10460 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10461 putAcc(ac, mkexpr(t2));
10491 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10493 binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
10494 putAcc(ac, mkexpr(t3));
10526 IRExpr_ITE(mkexpr(t2),
10527 IRExpr_ITE(mkexpr(t3),
10529 mkexpr(t1)),
10530 mkexpr(t1)));
10532 putDSPControl(IRExpr_ITE(mkexpr(t2),
10533 IRExpr_ITE(mkexpr(t3),
10546 unop(Iop_64to32, mkexpr(t0))),
10548 unop(Iop_64to32, mkexpr(t4)))));
10553 unop(Iop_64HIto32, mkexpr(t0))),
10555 unop(Iop_64HIto32, mkexpr(t4)))),
10558 unop(Iop_64HIto32, mkexpr(t5)),
10561 unop(Iop_64to32, mkexpr(t6)),
10562 unop(Iop_64to32, mkexpr(t5))));
10566 unop(Iop_64to32, mkexpr(t6)),
10570 unop(Iop_64HIto32, mkexpr(t6)),
10575 mkexpr(t6)),
10578 putDSPControl(IRExpr_ITE(mkexpr(t8),
10586 IRExpr_ITE(mkexpr(t8),
10587 mkexpr(t7),
10588 IRExpr_ITE(mkexpr(t9),
10623 IRExpr_ITE(mkexpr(t2),
10624 IRExpr_ITE(mkexpr(t3),
10626 mkexpr(t1)),
10627 mkexpr(t1)));
10629 putDSPControl(IRExpr_ITE(mkexpr(t2),
10630 IRExpr_ITE(mkexpr(t3),
10643 unop(Iop_64to32, mkexpr(t0))),
10645 unop(Iop_64to32, mkexpr(t4)))));
10649 unop(Iop_64HIto32, mkexpr(t0))
10655 mkexpr(t0)),
10657 mkexpr(t4)))))),
10659 unop(Iop_64HIto32, mkexpr(t4)))));
10661 unop(Iop_64to32, mkexpr(t6)),
10662 unop(Iop_64to32, mkexpr(t5))));
10666 unop(Iop_64to32, mkexpr(t6)),
10670 unop(Iop_64HIto32, mkexpr(t6)),
10674 unop(Iop_64HIto32, mkexpr(t6)),
10677 putDSPControl(IRExpr_ITE(mkexpr(t8),
10685 IRExpr_ITE(mkexpr(t8),
10686 mkexpr(t7),
10687 IRExpr_ITE(mkexpr(t9),
10719 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10720 assign(t3, binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
10721 putAcc(ac, mkexpr(t3));
10762 IRExpr_ITE(mkexpr(t2),
10763 IRExpr_ITE(mkexpr(t3),
10765 mkexpr(t1)),
10766 mkexpr(t1)));
10768 putDSPControl(IRExpr_ITE(mkexpr(t2),
10769 IRExpr_ITE(mkexpr(t3),
10781 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
10787 unop(Iop_64to32, mkexpr(t5)),
10791 unop(Iop_64HIto32, mkexpr(t5)),
10793 putDSPControl(IRExpr_ITE(mkexpr(t6),
10801 IRExpr_ITE(mkexpr(t6),
10802 mkexpr(t5),
10806 mkexpr(t5)),
10812 putAcc(ac, mkexpr(t7));
10852 IRExpr_ITE(mkexpr(t2),
10853 IRExpr_ITE(mkexpr(t3),
10855 mkexpr(t1)),
10856 mkexpr(t1)));
10858 putDSPControl(IRExpr_ITE(mkexpr(t2),
10859 IRExpr_ITE(mkexpr(t3),
10871 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
10877 unop(Iop_64to32, mkexpr(t5)),
10881 unop(Iop_64HIto32, mkexpr(t5)),
10883 putDSPControl(IRExpr_ITE(mkexpr(t6),
10891 IRExpr_ITE(mkexpr(t6),
10892 mkexpr(t5),
10896 mkexpr(t5)),
10902 putAcc(ac, mkexpr(t7));
10926 mkexpr(t0),
10932 mkexpr(t1),
10936 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
10938 putDSPControl(IRExpr_ITE(mkexpr(t3),
10948 mkexpr(t0), mkexpr(t1))));
10949 putAcc(ac, IRExpr_ITE(mkexpr(t3),
10953 mkexpr(t4),
10955 mkexpr(t5)),
10957 mkexpr(t5),
10983 mkexpr(t0),
10989 mkexpr(t1),
10993 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
10995 putDSPControl(IRExpr_ITE(mkexpr(t3),
11005 mkexpr(t0), mkexpr(t1))));
11006 putAcc(ac, IRExpr_ITE(mkexpr(t3),
11010 mkexpr(t4),
11012 mkexpr(t5)),
11014 mkexpr(t5),
11053 IRExpr_ITE(mkexpr(t2),
11054 IRExpr_ITE(mkexpr(t3),
11056 mkexpr(t1)),
11057 mkexpr(t1)));
11059 putDSPControl(IRExpr_ITE(mkexpr(t2),
11060 IRExpr_ITE(mkexpr(t3),
11087 IRExpr_ITE(mkexpr(t6),
11088 IRExpr_ITE(mkexpr(t7),
11090 mkexpr(t5)),
11091 mkexpr(t5)));
11093 putDSPControl(IRExpr_ITE(mkexpr(t6),
11094 IRExpr_ITE(mkexpr(t7),
11106 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
11107 mkexpr(t0)));
11108 putAcc(ac, mkexpr(t9));
11145 IRExpr_ITE(mkexpr(t2),
11146 IRExpr_ITE(mkexpr(t3),
11148 mkexpr(t1)),
11149 mkexpr(t1)));
11151 putDSPControl(IRExpr_ITE(mkexpr(t2),
11152 IRExpr_ITE(mkexpr(t3),
11181 IRExpr_ITE(mkexpr(t6),
11182 IRExpr_ITE(mkexpr(t7),
11184 mkexpr(t5)),
11185 mkexpr(t5)));
11187 putDSPControl(IRExpr_ITE(mkexpr(t6),
11188 IRExpr_ITE(mkexpr(t7),
11200 mkexpr(t0),
11201 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
11202 putAcc(ac, mkexpr(t9));
11249 mkexpr(t2)),
11251 mkexpr(t3))),
11254 mkexpr(t1)));
11259 mkexpr(t2)),
11261 mkexpr(t3))),
11297 mkexpr(t6)),
11299 mkexpr(t7))),
11302 mkexpr(t5)));
11307 mkexpr(t6)),
11309 mkexpr(t7))),
11321 mkexpr(t0),
11322 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11328 mkexpr(t9)),
11334 mkexpr(t9),
11338 mkexpr(t9)),
11342 mkexpr(t9),
11346 mkexpr(t9))));
11349 mkexpr(t9)),
11360 mkexpr(t9)),
11363 mkexpr(t10),
11415 mkexpr(t2)),
11417 mkexpr(t3))),
11420 mkexpr(t1)));
11425 mkexpr(t2)),
11427 mkexpr(t3))),
11463 mkexpr(t6)),
11465 mkexpr(t7))),
11468 mkexpr(t5)));
11473 mkexpr(t6)),
11475 mkexpr(t7))),
11487 mkexpr(t0),
11488 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11494 mkexpr(t9)),
11500 mkexpr(t9),
11504 mkexpr(t9)),
11508 mkexpr(t9),
11512 mkexpr(t9))));
11515 mkexpr(t9)),
11526 mkexpr(t9)),
11529 mkexpr(t10),
11555 mkexpr(t1),
11562 mkexpr(t1),
11572 mkexpr(t1),
11574 getIReg(rs), mkexpr(t2))));
11590 mkexpr(t1),
11598 mkexpr(t1),
11610 unop(Iop_32to8, mkexpr(t2)))));
11613 mkexpr(t1),
11617 mkexpr(t3)),
11637 unop(Iop_32to8, mkexpr(t1))));
11648 putIReg(rt, binop(Iop_Or32, mkexpr(t2), mkexpr(t3)));
11868 lastn = mkexpr(t0);
11879 lastn = mkexpr(t0);
11889 assign(t1, unop(Iop_64HIto32, mkexpr(t0)));
11890 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
11903 putDReg(fs, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
11916 assign(t2, IRExpr_ITE(mkexpr(t1),
11928 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
11929 dis_branch(False, mkexpr(t3), imm, &bstmt);
11934 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
11935 dis_branch(False, mkexpr(t3), imm, &bstmt);
11939 lastn = dis_branch_likely(binop(Iop_CmpNE32, mkexpr(t2),
11944 lastn = dis_branch_likely(binop(Iop_CmpEQ32, mkexpr(t2),
12101 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12132 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12202 assign(t4, IRExpr_ITE(mkexpr(t3), mkexpr(t1), mkexpr(t2)));
12209 mkexpr(f))));
12212 unop(Iop_ReinterpF64asI64, mkexpr(t4))), True));
12214 putFReg(fd, unop (Iop_ReinterpI64asF64, mkexpr(t5)));
12217 mkexpr(t4)));
12230 putDReg(fd, IRExpr_ITE(mkexpr(t3), getDReg(fs), getDReg(fd)));
12258 assign(t4, IRExpr_ITE(mkexpr(t3), mkexpr(t1), mkexpr(t2)));
12266 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12268 unop(Iop_ReinterpF64asI64, mkexpr(t4))), True));
12270 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12273 mkexpr(t4)));
12285 putDReg(fd, IRExpr_ITE(mkexpr(t3), getDReg(fs), getDReg(fd)));
12304 assign(t2, IRExpr_ITE(mkexpr(t1),
12315 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12316 assign(t4, IRExpr_ITE(mkexpr(t3),
12318 putDReg(fd, mkexpr(t4));
12339 assign(t2, IRExpr_ITE(mkexpr(t1),
12350 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12351 assign(t4, IRExpr_ITE(mkexpr(t3),
12352 mkexpr(t5), mkexpr(t6)));
12359 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12361 unop(Iop_ReinterpF64asI64, mkexpr(t4))),
12364 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12367 mkexpr(t4)));
12385 assign(t2, IRExpr_ITE(mkexpr(t1),
12396 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12397 assign(t4, IRExpr_ITE(mkexpr(t3),
12399 putDReg(fd, mkexpr(t4));
12419 assign(t2, IRExpr_ITE(mkexpr(t1),
12430 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12431 assign(t4, IRExpr_ITE(mkexpr(t3),
12432 mkexpr(t5), mkexpr(t6)));
12440 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12442 unop(Iop_ReinterpF64asI64, mkexpr(t4))),
12445 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12448 mkexpr(t4)));
12482 assign(t1, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12484 putFReg(fs, mkWidenFromF32(tyF, mkexpr(t1)));
12501 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12502 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
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),
12534 mkexpr(t4))));
12537 assign(t2, binop(Iop_And32, mkexpr(t0),
12540 assign(t4, binop(Iop_And32, mkexpr(t0),
12544 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12545 mkexpr(t3), mkexpr(t4))), mkexpr(t5)));
12548 assign(t2, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12551 assign(t4, binop(Iop_And32, mkexpr(t0),
12554 assign(t6, binop(Iop_And32, mkexpr(t0),
12557 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12558 mkexpr(t3), mkexpr(t4))), binop(Iop_Or32,
12559 mkexpr(t5), mkexpr(t6))));
12561 putFCSR(mkexpr(t0));
12582 assign(t2, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12584 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12587 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12588 mkexpr(t3)), False));
12591 assign(t2, binop(Iop_And32, mkexpr(t0),
12593 assign(t3, binop(Iop_And32, mkexpr(t0),
12596 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12597 mkexpr(t3)), False));
12600 assign(t2, binop(Iop_And32, mkexpr(t0),
12602 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12605 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12606 mkexpr(t3)), False));
12629 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12631 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12633 putFReg(fd, unop(Iop_F32toF64, mkexpr(t3)));
12649 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12650 putDReg(fd,unop(Iop_I32StoF64, mkexpr(t1)));
12655 putDReg(fd, unop(Iop_I32StoF64, mkexpr(t0)));
12667 get_IR_roundingmode(), mkexpr(t0)));
12690 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12692 get_IR_roundingmode(), mkexpr(t1))));
12697 mkexpr(t0)));
12707 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t0)));
12717 get_IR_roundingmode(), mkexpr(t0))));
12745 assign(t1, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12746 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
12766 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12800 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12834 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12836 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12839 mkexpr(t3)));
12841 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
12855 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
12862 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12884 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12886 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12889 mkexpr(t3)));
12891 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
12905 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
12913 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12935 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12937 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12940 mkexpr(t3)));
12942 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
12957 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
12964 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12986 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12988 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12991 mkexpr(t3)));
12993 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
13006 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13012 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
13032 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
13102 putIReg(rt, mkexpr(val));
13114 putDReg(rt, mkexpr(val));
13136 assign(t1, load(Ity_F32, mkexpr(t0)));
13138 mkexpr(t1)), True));
13139 putDReg(ft, unop(Iop_ReinterpI64asF64, mkexpr(t2)));
13144 putFReg(ft, load(Ity_F32, mkexpr(t0)));
13155 assign(t2, unop(Iop_64to32, mkexpr(t0)));
13156 store(mkexpr(t1), unop(Iop_ReinterpI32asF32, mkexpr(t2)));
13159 store(mkexpr(t1), getFReg(ft));
13171 putDReg(ft, load(Ity_F64, mkexpr(t1)));
13178 store(mkexpr(t1), getDReg(ft));
13184 putIReg(rt, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)), True));
13191 putIReg(rt, unop(Iop_8Sto64, load(Ity_I8, mkexpr(t1))));
13193 putIReg(rt, unop(Iop_8Sto32, load(Ity_I8, mkexpr(t1))));
13200 putIReg(rt, unop(Iop_8Uto64, load(Ity_I8, mkexpr(t1))));
13202 putIReg(rt, unop(Iop_8Uto32, load(Ity_I8, mkexpr(t1))));
13209 putIReg(rt, unop(Iop_16Sto64, load(Ity_I16, mkexpr(t1))));
13211 putIReg(rt, unop(Iop_16Sto32, load(Ity_I16, mkexpr(t1))));
13218 putIReg(rt, unop(Iop_16Uto64, load(Ity_I16, mkexpr(t1))));
13220 putIReg(rt, unop(Iop_16Uto32, load(Ity_I16, mkexpr(t1))));
13247 assign(t3, load(Ity_F32, mkexpr(t2)));
13250 mkexpr(t3)), True));
13252 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t4)));
13256 putFReg(fd, load(Ity_F32, mkexpr(t0)));
13269 putFReg(fd, load(Ity_F64, mkexpr(t0)));
13276 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13279 putFReg(fd, load(Ity_F32, mkexpr(t0)));
13280 putFReg(fd + 1, load(Ity_F32, mkexpr(t1)));
13282 putFReg(fd + 1, load(Ity_F32, mkexpr(t0)));
13283 putFReg(fd, load(Ity_F32, mkexpr(t1)));
13295 assign(t1, binop(Iop_And64, mkexpr(t0),
13297 putFReg(fd, load(Ity_F64, mkexpr(t1)));
13306 store(mkexpr(t0), getLoFromF64(tyF, getFReg(fs)));
13312 store(mkexpr(t0), getFReg(fs));
13322 store(mkexpr(t0), getFReg(fs));
13328 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13331 store(mkexpr(t0), getFReg(fs));
13332 store(mkexpr(t1), getFReg(fs + 1));
13334 store(mkexpr(t0), getFReg(fs + 1));
13335 store(mkexpr(t1), getFReg(fs));
13346 assign(t1, binop(Iop_And64, mkexpr(t0), mkU64(0xfffffffffffffff8ULL)));
13347 store(mkexpr(t1), getFReg(fs));
13362 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
13380 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
13399 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t1))));
13408 putDReg(fd, unop(Iop_NegF64, mkexpr(t1)));
13420 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t1))));
13429 putDReg(fd, unop(Iop_NegF64, mkexpr(t1)));
13452 mkexpr(t2))), narrowTo(Ity_I8, binop(Iop_Shl32,
13453 binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)), mkU8(3)))));
13463 mkexpr(t4))))));
13465 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13466 mkexpr(t3)), True));
13477 mkexpr(t2))), narrowTo(Ity_I8, binop(Iop_Shl32,
13478 binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)), mkU8(3)))));
13488 mkexpr(t4))))));
13490 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13491 mkexpr(t3)), True));
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)),
13521 mkexpr(t4))))));
13523 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13540 assign(t3, binop(Iop_Shr32, mkNarrowTo32(ty, load(Ity_I64,mkexpr(t2))),
13541 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(3)))));
13547 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13549 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13550 mkexpr(t3)), True));
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)))));
13567 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13569 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13570 mkexpr(t3)), True));
13589 assign(t3, binop(Iop_Shr32, load(Ity_I32, mkexpr(t2)),
13590 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4),
13597 binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13599 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13606 store(mkexpr(t1), mkNarrowTo32(ty, getIReg(rt)));
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)),
13683 store(mkexpr(t2), mkexpr(H_byte));
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));
13690 store(mkexpr(t1), mkexpr(A_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));
13726 store(mkexpr(t1), mkexpr(A_byte));
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));
13814 store(mkexpr(t1), mkexpr(H_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)),
13843 store(mkexpr(t2), mkexpr(A_byte));
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));
13850 store(mkexpr(t1), mkexpr(H_byte));
13858 store(mkexpr(t1), narrowTo(Ity_I8, getIReg(rt)));
13864 store(mkexpr(t1), narrowTo(Ity_I16, getIReg(rt)));
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)),
13909 store(mkexpr(t2), mkexpr(H_byte));
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));
13912 store(mkexpr(t1), mkexpr(E_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));
13927 store(mkexpr(t1), mkexpr(E_byte));
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)),
13970 store(mkexpr(t2), mkexpr(H_byte));
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));
13973 store(mkexpr(t1), mkexpr(E_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));
13988 store(mkexpr(t1), mkexpr(E_byte));
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));
14039 store(mkexpr(t1), mkexpr(H_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)),
14052 store(mkexpr(t2), mkexpr(E_byte));
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));
14055 store(mkexpr(t1), mkexpr(H_byte));
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));
14100 store(mkexpr(t1), mkexpr(H_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)),
14113 store(mkexpr(t2), mkexpr(E_byte));
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));
14116 store(mkexpr(t1), mkexpr(H_byte));
14145 assign(tmpRes, binop(Iop_Mul32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
14146 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpRes), True));
14168 mkexpr(t1), mkexpr(t2)));
14169 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14171 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14172 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14199 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14200 mkexpr(t3))));
14202 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14203 unop(Iop_64to32, mkexpr(t3)))));
14204 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14206 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14207 mkexpr(t3))));
14208 putLO(mkexpr(t4));
14231 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14232 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14234 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14235 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14262 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14263 mkexpr(t3))));
14264 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14265 unop(Iop_64to32, mkexpr(t3)))));
14266 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14268 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14269 mkexpr(t3))));
14270 putLO(mkexpr(t4));
14293 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14294 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14296 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14297 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14323 assign(t4, unop(Iop_64to32, mkexpr(t3))); /* new lo */
14327 mkexpr(t2),
14328 mkexpr(t4)));
14330 assign(t6, IRExpr_ITE(mkexpr(t5),
14331 binop(Iop_Sub32, mkexpr(t1), mkU32(0x1)),
14332 mkexpr(t1)));
14334 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14335 mkexpr(t3))));
14336 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14359 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14360 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14362 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14363 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14389 assign(t4, unop(Iop_64to32, mkexpr(t3))); /* new lo */
14393 mkexpr(t2),
14394 mkexpr(t4)));
14396 assign(t6, IRExpr_ITE(mkexpr(t5),
14398 mkexpr(t1),
14400 mkexpr(t1)));
14402 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14403 mkexpr(t3))));
14404 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14417 putIReg(rd, unop(Iop_128to64, mkexpr(t0)));
14435 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
14438 store(getIReg(rs), binop(Iop_Add32, mkexpr(t0), mkexpr(t1)));
14451 putIReg(rt, mkexpr(t1));
14454 store(getIReg(rs), binop(Iop_Add64, mkexpr(t0), mkexpr(t1)));
14463 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
14464 store(getIReg(rs), mkexpr(t0));
14473 putIReg(rt, mkexpr(t1));
14474 store(getIReg(rs), mkexpr(t0));
14484 assign(tmpClz32, unop(Iop_Clz32, mkexpr(tmpRs32)));
14485 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpClz32), True));
14489 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14504 assign(t1, binop(Iop_CmpEQ32, mkexpr(tmpRs32), mkU32(0xffffffff)));
14505 assign(tmpClo32, IRExpr_ITE(mkexpr(t1),
14507 unop(Iop_Clz32, unop(Iop_Not32, mkexpr(tmpRs32)))));
14509 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpClo32), True));
14514 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14526 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14536 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14563 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
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)));
14639 putIReg(rt, mkexpr(tmpRd));
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)));
14686 putIReg(rt, mkexpr(tmpRd));
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)));
14735 putIReg(rt, mkexpr(tmpRd));
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)));
14761 putIReg(rd, mkexpr(tmpRd));
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)));
14785 putIReg(rd, mkexpr(tmpRd));
14808 putIReg(rt, mkexpr(val));
14818 putIReg(rt, mkexpr(val));
14843 assign(t1, binop(Iop_Shr32, mkexpr(t0), mkU8(32 - size - lsb)));
14850 assign(t3, binop(Iop_Shr32, mkexpr(t2), mkU8(32 - lsb)));
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),
14867 mkexpr(t3)), True));
14869 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
14870 mkexpr(t5)), True));
14873 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
14874 mkexpr(t3)), True));
14891 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Shr32, mkexpr(t0),
14914 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14936 mkexpr(t0), mkexpr(t1)),
14937 binop(Iop_Or32, mkexpr(t2),
14938 mkexpr(t3))), True));
15192 assign(t2, IRExpr_ITE(mkexpr(t1),
15202 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
15203 putIReg(rd, IRExpr_ITE(mkexpr(t3), getIReg(rs), getIReg(rd)));
15211 assign(t2, IRExpr_ITE(mkexpr(t1),
15221 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
15222 putIReg(rd, IRExpr_ITE(mkexpr(t3), getIReg(rs), getIReg(rd)));
15236 mkexpr(t1)), binop(Iop_And64, getIReg(rd),mkexpr(t2))));
15243 mkexpr(t1)), binop(Iop_And32, getIReg(rd),
15244 mkexpr(t2))));
15259 mkexpr(t2)), binop(Iop_And64, getIReg(rd),
15260 mkexpr(t1))));
15267 mkexpr(t2)), binop(Iop_And32, getIReg(rd),
15268 mkexpr(t1))));
15292 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15293 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15316 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15317 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15341 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15342 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15345 binop(Iop_And32, mkexpr(t1), mkU32(0x80000000)),
15348 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15351 binop(Iop_And32, mkexpr(t3), mkU32(0x80000000)),
15355 binop(Iop_Or32, mkexpr(t2), mkexpr(t4)),
15362 putIReg(rd, mkWidenFrom32(ty, mkexpr(t0), True));
15373 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15374 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15380 assign(t2, binop(Iop_DivModS64to32, mkexpr(t1), getIReg(rt)));
15382 putHI(unop(Iop_64HIto32, mkexpr(t2)));
15383 putLO(unop(Iop_64to32, mkexpr(t2)));
15395 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15396 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15401 assign(t2, binop(Iop_DivModU64to32, mkexpr(t1), getIReg(rt)));
15402 putHI(unop(Iop_64HIto32, mkexpr(t2)));
15403 putLO(unop(Iop_64to32, mkexpr(t2)));
15413 putHI(unop(Iop_128HIto64, mkexpr(t0)));
15414 putLO(unop(Iop_128to64, mkexpr(t0)));
15423 putHI(unop(Iop_128HIto64, mkexpr(t0)));
15424 putLO(unop(Iop_128to64, mkexpr(t0)));
15433 putHI(unop(Iop_128HIto64, mkexpr(t1)));
15434 putLO(unop(Iop_128to64, mkexpr(t1)));
15444 assign(t2, binop(Iop_DivModU128to64, mkexpr(t1), getIReg(rt)));
15446 mkexpr(t2)));
15447 putLO(unop(Iop_128to64, mkexpr(t2)));
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)));
15543 mkexpr(t1), mkU32(0x80000000)), mkU32(0x80000000))));
15545 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15547 mkexpr(t3), mkU32(0x80000000)), mkU32(0x80000000))));
15549 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
15550 mkexpr(t4)), mkU32(0)), Ijk_SigFPE_IntOvf,
15555 putIReg(rd, mkWidenFrom32(ty, mkexpr(t0), True));
15608 lastn = mkexpr(t0);
15617 lastn = mkexpr(t0);
15622 lastn = mkexpr(t0);
15663 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkU8(sa)));
15664 assign(tmpRd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
15665 putIReg(rd, mkexpr(tmpRd));
15680 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
15682 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkexpr(tmpRs8)));
15683 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
15703 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkU8(sa)));
15706 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkU8(sa)));
15708 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
15731 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkexpr(t4)));
15734 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkexpr(t4)));
15736 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
15755 assign(tmpSh32, binop(Iop_Shr32, mkexpr(tmpRt32), mkU8(sa)));
15756 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
16087 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16088 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16091 binop(Iop_And64, mkexpr(t1),
16095 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16098 binop(Iop_And64, mkexpr(t3),
16103 binop(Iop_Or64, mkexpr(t2), mkexpr(t4)),
16109 putIReg(rd, mkexpr(t0));
16139 mkexpr(tmpRt64),
16141 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(t5)));
16142 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(t5)));
16146 mkexpr(t1),
16150 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16154 mkexpr(t3),
16158 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16159 mkexpr(t4)), mkU64(0)), Ijk_SigFPE_IntOvf,
16386 dis_branch(False, unop(Iop_Not1, binop(Iop_CmpLT32U, mkexpr(t0),
16485 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32),
16487 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32),
16490 mkexpr(t1), mkU32(0x80000000)), mkU32(0x80000000))));
16492 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
16494 mkexpr(t3), mkU32(0x80000000)), mkU32(0x80000000))));
16496 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
16497 mkexpr(t4)), mkU32(0)), Ijk_SigFPE_IntOvf,
16502 putIReg(rt, mkWidenFrom32(ty, mkexpr(t0), True));
16579 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64),
16581 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64),
16584 mkexpr(t1), mkU64(0x8000000000000000ULL)),
16587 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16589 mkexpr(t3), mkU64(0x8000000000000000ULL)),
16592 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16593 mkexpr(t4)), mkU64(0)), Ijk_SigFPE_IntOvf,
16597 putIReg(rt, mkexpr(t0));
16625 assign(t3, binop(Iop_Shl64, load(Ity_I64, mkexpr(t2)),
16627 mkexpr(t4)), mkU8(3)))));
16634 assign(t5, binop(Iop_Mul64, mkexpr(t4), mkU64(0x8)));
16637 narrowTo(Ity_I8, mkexpr(t5))));
16639 assign(t7, binop(Iop_And64, getIReg(rt), mkexpr(t6)));
16641 putIReg(rt, binop(Iop_Or64, mkexpr(t7), mkexpr(t3)));
16664 assign(t3, binop(Iop_Shr64, load(Ity_I64, mkexpr(t2)),
16665 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(3)))));
16671 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(0x3)))))));
16673 putIReg(rt, binop(Iop_Or64, mkexpr(t5), mkexpr(t3)));
16681 putIReg(rt, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)), False));
16690 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), NULL /* this is a load */ ));
16692 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), NULL /* this is a load */ ));
16695 putIReg(rt, unop(Iop_32Sto64, mkexpr(t2)));
16697 putIReg(rt, mkexpr(t2));
16707 (Iend_LE, t2, mkexpr(t1), NULL /* this is a load */ ));
16710 (Iend_BE, t2, mkexpr(t1), NULL /* this is a load */ ));
16713 putIReg(rt, mkexpr(t2));
16722 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), mkNarrowTo32(ty, getIReg(rt))));
16724 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr
16727 putIReg(rt, unop(mode64 ? Iop_1Uto64 : Iop_1Uto32, mkexpr(t2)));
16736 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), getIReg(rt)));
16738 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), getIReg(rt)));
16741 putIReg(rt, unop(Iop_1Uto64, mkexpr(t2)));
16747 putIReg(rt, load(Ity_I64, mkexpr(t1)));
16753 store(mkexpr(t1), getIReg(rt));