Home | History | Annotate | Download | only in priv

Lines Matching defs: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)))
874 static IRExpr *mkexpr(IRTemp tmp)
954 assign(t1, binop(Iop_Sub8, mkU8(32), mkexpr(t0)));
955 return binop(Iop_Or32, binop(Iop_Shl32, src, mkexpr(t1)),
956 binop(Iop_Shr32, src, mkexpr(t0)));
1196 putFCSR(mkexpr(fcsr));
1236 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1254 binop(Iop_32HLto64, mkexpr(t_hi), mkexpr(t_lo))));
1323 assign(t1, unop(Iop_64to32, mkexpr(t0)));
1324 return unop(Iop_ReinterpI32asF32, mkexpr(t1));
1336 assign(t1, binop(Iop_32HLto64, mkU32(0x0), mkexpr(t0)));
1337 return unop(Iop_ReinterpI64asF64, mkexpr(t1));
1361 stmt(IRStmt_Exit(mkexpr(t0), Ijk_Boring,
1364 stmt(IRStmt_Exit(mkexpr(t0), Ijk_Boring,
1401 *set = IRStmt_Exit(mkexpr(t0), link ? Ijk_Call : Ijk_Boring,
1405 *set = IRStmt_Exit(mkexpr(t0), link ? Ijk_Call : Ijk_Boring,
1435 assign(t3, unop(Iop_ReinterpF32asI32, mkexpr(t0)));
1436 assign(t4, unop(Iop_ReinterpF32asI32, mkexpr(t1)));
1437 assign(t5, binop(Iop_32HLto64, mkexpr(t4), mkexpr(t3)));
1438 assign(t2, unop(Iop_ReinterpI64asF64, mkexpr(t5)));
1440 return mkexpr(t2);
1467 assign(t6, unop(Iop_ReinterpF64asI64, mkexpr(t1)));
1468 assign(t4, unop(Iop_64HIto32, mkexpr(t6))); /* hi */
1469 assign(t5, unop(Iop_64to32, mkexpr(t6))); /* lo */
1470 putFReg(dregNo, unop(Iop_ReinterpI32asF32, mkexpr(t5)));
1471 putFReg(dregNo + 1, unop(Iop_ReinterpI32asF32, mkexpr(t4)));
1509 return binop(Iop_Xor32, mkexpr(rm_MIPS), binop(Iop_And32,
1510 binop(Iop_Shl32, mkexpr(rm_MIPS), mkU8(1)), mkU32(2)));
1558 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa)));
1559 putIReg(regRd, mkexpr(tmpRd));
1566 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa)));
1567 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(63 - uImmsa)));
1568 assign(tmpL, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
1569 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpL), mkexpr(tmpR)));
1570 putIReg(regRd, mkexpr(tmpRd));
1579 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1580 putIReg(regRd, mkexpr(tmpRd));
1588 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1589 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt),
1591 assign(tmpL, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
1592 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpL), mkexpr(tmpR)));
1593 putIReg(regRd, mkexpr(tmpRd));
1604 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkU64(63)));
1605 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1606 assign(tmpRd, binop(Iop_Shr64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1607 putIReg(regRd, mkexpr(tmpRd));
1620 assign(tmp64, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1621 assign(tmp, binop(Iop_Sub64, mkU64(63), mkexpr(tmp64)));
1623 assign(tmpLs8, mkNarrowTo8(ty, mkexpr(tmp)));
1624 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp64)));
1626 assign(tmpR, binop(Iop_Shr64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1627 assign(tmpL, binop(Iop_Shl64, mkexpr(tmpRt), mkexpr(tmpLs8)));
1628 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpL), mkU8(1)));
1629 assign(tmpOr, binop(Iop_Or64, mkexpr(tmpRd), mkexpr(tmpR)));
1631 putIReg(regRd, mkexpr(tmpOr));
1639 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa)));
1640 putIReg(regRd, mkexpr(tmpRd));
1645 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1646 putIReg(regRd, mkexpr(tmpRd));
1653 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1654 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1655 assign(tmpRd, binop(Iop_Shl64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1656 putIReg(regRd, mkexpr(tmpRd));
1662 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa)));
1663 putIReg(regRd, mkexpr(tmpRd));
1669 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkU8(uImmsa + 32)));
1670 putIReg(regRd, mkexpr(tmpRd));
1677 assign(tmp, binop(Iop_And64, mkexpr(tmpRs), mkSzImm(ty, 63)));
1678 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
1679 assign(tmpRd, binop(Iop_Sar64, mkexpr(tmpRt), mkexpr(tmpRs8)));
1680 putIReg(regRd, mkexpr(tmpRd));
1763 assign(ccIR, binop(Iop_CmpF64, mkexpr(tmp5), mkexpr(tmp6)));
1765 mkexpr(ccIR), True));
1778 binop(Iop_Shr32, mkexpr(ccIR),mkU8(5))),mkU32(2)),
1779 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1780 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1783 mkexpr(ccMIPS), True));
1786 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1788 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1792 mkexpr(ccMIPS), mkU8(0x2))),mkU32(0x1)));
1794 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1801 setFPUCondCode(mkexpr(t0), fpc_cc);
1804 setFPUCondCode(mkexpr(t1), fpc_cc);
1807 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1811 setFPUCondCode(mkexpr(t3), fpc_cc);
1814 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1818 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1822 setFPUCondCode(mkexpr(t2), fpc_cc);
1828 setFPUCondCode(mkexpr(t0), fpc_cc);
1831 setFPUCondCode(mkexpr(t1), fpc_cc);
1834 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1838 setFPUCondCode(mkexpr(t3), fpc_cc);
1841 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1845 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1849 setFPUCondCode(mkexpr(t2), fpc_cc);
1876 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))),
1878 binop(Iop_Xor32, mkexpr(ccIR),
1879 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1882 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1884 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1888 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1)));
1890 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1898 setFPUCondCode(mkexpr(t0), fpc_cc);
1901 setFPUCondCode(mkexpr(t1), fpc_cc);
1904 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1908 setFPUCondCode(mkexpr(t3), fpc_cc);
1911 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1915 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1919 setFPUCondCode(mkexpr(t2), fpc_cc);
1925 setFPUCondCode(mkexpr(t0), fpc_cc);
1928 setFPUCondCode(mkexpr(t1), fpc_cc);
1931 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1935 setFPUCondCode(mkexpr(t3), fpc_cc);
1938 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1942 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1946 setFPUCondCode(mkexpr(t2), fpc_cc);
1975 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))), mkU32(2)),
1976 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1977 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1981 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1)));
1983 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1987 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1)));
1989 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1997 setFPUCondCode(mkexpr(t0), fpc_cc);
2000 setFPUCondCode(mkexpr(t1), fpc_cc);
2003 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2007 setFPUCondCode(mkexpr(t3), fpc_cc);
2010 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2014 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2018 setFPUCondCode(mkexpr(t2), fpc_cc);
2024 setFPUCondCode(mkexpr(t0), fpc_cc);
2027 setFPUCondCode(mkexpr(t1), fpc_cc);
2030 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
2034 setFPUCondCode(mkexpr(t3), fpc_cc);
2037 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
2041 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
2045 setFPUCondCode(mkexpr(t2), fpc_cc);
2097 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpReg0), mkexpr(tmpReg0));
2107 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2108 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2109 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2111 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpLt),
2112 mkexpr(tmpReg0));
2123 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2124 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2125 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2126 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2127 mkexpr(tmpReg0));
2138 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), eConst0));
2139 assign(tmpLt, mode64 ? unop(Iop_1Uto64, mkexpr(tmpLtRes)) :
2140 unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2142 eCond = binop(mkSzOp(ty, Iop_CmpEQ8), mkexpr(tmpLt),
2143 mkexpr(tmpReg0));
2157 assign(tmpLtRes, binop(opSlt, mkexpr(tmpRs), mkexpr(tmp)));
2159 mkexpr(tmpLtRes)) : unop(Iop_1Uto32, mkexpr(tmpLtRes)));
2160 eCond = binop(mkSzOp(ty, Iop_CmpNE8), mkexpr(tmpRes),
2161 mkexpr(tmpReg0));
2197 assign(expd, load(Ity_I32, mkexpr(op1addr)));
2200 Iend_LE, mkexpr(op1addr),
2201 NULL, mkexpr(expd), /* expected value */
2202 NULL, mkexpr(new_val) /* new value */);
2207 jump_back(binop(Iop_CmpNE32, mkexpr(old_mem), mkexpr(expd)));
2209 putIReg(rd, mkWidenFrom32(Ity_I64, mkexpr(old_mem), True));
2220 assign(expd, load(Ity_I64, mkexpr(op1addr)));
2223 Iend_LE, mkexpr(op1addr),
2224 NULL, mkexpr(expd), /* expected value */
2225 NULL, mkexpr(new_val) /* new value */);
2230 jump_back(binop(Iop_CmpNE64, mkexpr(old_mem), mkexpr(expd)));
2232 putIReg(rd, mkexpr(old_mem));
2263 putIReg(regRd, unop(Iop_128to64, mkexpr(t0)));
2273 load(Ity_I32, mkexpr(addr)),
2286 load(Ity_I64, mkexpr(addr)),
2304 load(Ity_I32, mkexpr(addr)),
2315 load(Ity_I64, mkexpr(addr)),
2326 load(Ity_I32, mkexpr(addr)),
2337 load(Ity_I64, mkexpr(addr)),
2384 load(Ity_I32, mkexpr(addr)),
2395 load(Ity_I64, mkexpr(addr)),
2437 unop(Iop_8Uto64, mkexpr(t0)),
2441 unop(Iop_8Uto32, mkexpr(t0)),
2470 mkexpr(old), mkexpr(mask[i])),
2473 mkexpr(old), mkU8(shift[i])),
2474 mkexpr(mask[i]))));
2490 mkexpr(old), mkexpr(mask[i])),
2493 mkexpr(old), mkU8(shift[i])),
2494 mkexpr(mask[i]))));
2498 putIReg(regRd, mkexpr(nyu));
2527 mkexpr(old), mkexpr(mask[i])),
2530 mkexpr(old), mkU8(shift[i])),
2531 mkexpr(mask[i]))));
2534 putIReg(regRd, mkexpr(nyu));
2540 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2542 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2544 putIReg( regRt, mkexpr(tmpRt));
2549 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2551 assign ( tmpRt, binop(Iop_Shr64, mkexpr( tmp ),
2553 putIReg( regRt, mkexpr(tmpRt));
2562 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
2563 putIReg(regRt, binop(Iop_Sar64, mkexpr(tmp), mkU8(rsAmt)));
2568 assign ( tmp , binop(Iop_Shl64, mkexpr(tmpRs),
2570 assign ( tmpRt, binop(Iop_Sar64, mkexpr(tmp),
2572 putIReg( regRt, mkexpr(tmpRt));
2637 putIReg(regRd, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)),
2646 mkexpr(t1))));
2649 mkexpr(t1))));
2655 putIReg(regRd, load(Ity_I64, mkexpr(t1)));
2663 mkexpr(t1))));
2666 mkexpr(t1))));
2672 putIReg(regRd, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)),
2681 unop(Iop_16Uto64, load(Ity_I16, mkexpr(t1))));
2684 unop(Iop_16Uto32, load(Ity_I16, mkexpr(t1))));
2692 unop(Iop_8Sto64, load(Ity_I8, mkexpr(t1))));
2695 unop(Iop_8Sto32, load(Ity_I8, mkexpr(t1))));
2751 putAcc(ac, binop(Iop_32HLto64, getIReg(rs), mkexpr(t1)));
2765 putAcc(ac, binop(Iop_32HLto64, mkexpr(t1), getIReg(rs)));
2774 putAcc(ac, mkexpr(t1));
2784 putAcc(ac, mkexpr(t1));
2800 assign(t3, binop(Iop_Add64, mkexpr(t1), mkexpr(t2)));
2802 putAcc(ac, mkexpr(t3));
2813 mkexpr(t2), mkexpr(t1)));
2815 putAcc(ac, mkexpr(t3));
2826 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2828 putAcc(ac, mkexpr(t3));
2839 assign(t3, binop(Iop_Sub64, mkexpr(t1), mkexpr(t2)));
2841 putAcc(ac, mkexpr(t3));
2878 unop(Iop_8Uto32, mkexpr(t0)),
2888 assign(t3, IRExpr_ITE(mkexpr(t1),
2890 IRExpr_ITE(mkexpr(t2),
2893 mkexpr(t0)),
2895 mkexpr(t0))));
2903 unop(Iop_8Uto32, mkexpr(t4)),
2913 assign(t7, IRExpr_ITE(mkexpr(t5),
2915 IRExpr_ITE(mkexpr(t6),
2918 mkexpr(t4)),
2920 mkexpr(t4))));
2928 unop(Iop_8Uto32, mkexpr(t8)),
2938 assign(t11, IRExpr_ITE(mkexpr(t9),
2940 IRExpr_ITE(mkexpr(t10),
2943 mkexpr(t8)),
2945 mkexpr(t8))));
2953 unop(Iop_8Uto32, mkexpr(t12)),
2963 assign(t15, IRExpr_ITE(mkexpr(t13),
2965 IRExpr_ITE(mkexpr(t14),
2968 mkexpr(t12)),
2970 mkexpr(t12))));
2978 unop(Iop_1Sto32, mkexpr(t13)),
2979 unop(Iop_1Sto32, mkexpr(t9))),
2980 unop(Iop_1Sto32, mkexpr(t5))),
2981 unop(Iop_1Sto32, mkexpr(t1))));
2984 mkexpr(t16),
2994 binop(Iop_8HLto16, mkexpr(t15), mkexpr(t11)),
2995 binop(Iop_8HLto16, mkexpr(t7), mkexpr(t3))));
2997 putIReg(rd, mkexpr(t17));
3017 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0)),
3018 binop(Iop_8HLto16, mkexpr(t0), mkexpr(t0))));
3107 unop(Iop_16Uto32, mkexpr(t0)),
3117 assign(t3, IRExpr_ITE(mkexpr(t1),
3119 IRExpr_ITE(mkexpr(t2),
3122 mkexpr(t0)),
3124 mkexpr(t0))));
3130 unop(Iop_16Uto32, mkexpr(t4)),
3140 assign(t7, IRExpr_ITE(mkexpr(t5),
3142 IRExpr_ITE(mkexpr(t6),
3145 mkexpr(t4)),
3147 mkexpr(t4))));
3151 unop(Iop_1Sto32, mkexpr(t5)),
3152 unop(Iop_1Sto32, mkexpr(t1))));
3155 mkexpr(t8),
3163 assign(t9, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
3165 putIReg(rd, mkexpr(t9));
3211 putDSPControl(IRExpr_ITE(mkexpr(t0),
3219 assign(t2, IRExpr_ITE(mkexpr(t0),
3221 IRExpr_ITE(mkexpr(t1),
3227 putIReg(rd, mkexpr(t2));
3256 mkexpr(t1),
3261 mkexpr(t1),
3267 mkexpr(t2),
3272 mkexpr(t2),
3278 mkexpr(t3),
3283 mkexpr(t3),
3288 mkexpr(t4),
3291 mkexpr(t4),
3294 mkexpr(t5),
3388 assign(t1, mkexpr(t0));
3390 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
3395 mkexpr(t1)),
3400 mkexpr(t1)),
3407 mkexpr(t1)),
3412 mkexpr(t1)),
3419 unop(Iop_1Sto32, mkexpr(t3)),
3420 unop(Iop_1Sto32, mkexpr(t4))),
3422 unop(Iop_1Sto32, mkexpr(t5)),
3423 unop(Iop_1Sto32, mkexpr(t6)))));
3425 mkexpr(t7),
3442 mkexpr(t0),
3446 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3451 mkexpr(t9)),
3456 mkexpr(t9)),
3462 mkexpr(t9)),
3467 mkexpr(t9)),
3473 unop(Iop_1Sto32, mkexpr(t10)),
3474 unop(Iop_1Sto32, mkexpr(t11))),
3476 unop(Iop_1Sto32, mkexpr(t12)),
3477 unop(Iop_1Sto32, mkexpr(t13)))));
3479 mkexpr(t14),
3486 putIReg(rt, unop(Iop_64to32, mkexpr(t0)));
3488 putIReg(rt, unop(Iop_64to32, mkexpr(t1)));
3517 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3520 mkexpr(t15)),
3522 unop(Iop_64to32, mkexpr(t0)),
3523 unop(Iop_64to32, mkexpr(t1))));
3528 mkexpr(t1)),
3533 mkexpr(t1)),
3540 mkexpr(t1)),
3545 mkexpr(t1)),
3552 unop(Iop_1Sto32, mkexpr(t3)),
3553 unop(Iop_1Sto32, mkexpr(t4))),
3555 unop(Iop_1Sto32, mkexpr(t5)),
3556 unop(Iop_1Sto32, mkexpr(t6)))));
3558 mkexpr(t7),
3573 mkexpr(t15)),
3578 mkexpr(t0),
3582 mkexpr(t15)),
3586 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3591 mkexpr(t9)),
3596 mkexpr(t9)),
3602 mkexpr(t9)),
3607 mkexpr(t9)),
3613 unop(Iop_1Sto32, mkexpr(t10)),
3614 unop(Iop_1Sto32, mkexpr(t11))),
3616 unop(Iop_1Sto32, mkexpr(t12)),
3617 unop(Iop_1Sto32, mkexpr(t13)))));
3619 mkexpr(t14),
3649 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
3651 putDSPControl(IRExpr_ITE(mkexpr(t2),
3666 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3669 IRExpr_ITE(mkexpr(t3),
3672 mkexpr(t1), mkU32(rs))),
3675 mkU32(63), mkexpr(t1)))));
3677 assign(t5, IRExpr_ITE(mkexpr(t3),
3679 mkexpr(t0), mkexpr(t4)),
3681 mkexpr(t0), mkexpr(t4))));
3685 IRExpr_ITE(mkexpr(t3),
3695 assign(t7, IRExpr_ITE(mkexpr(t3),
3698 mkexpr(t5),
3699 mkexpr(t6))),
3703 mkexpr(t5),
3704 mkexpr(t6))),
3707 putIReg(rt, mkexpr(t7));
3734 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
3736 putDSPControl(IRExpr_ITE(mkexpr(t2),
3752 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
3755 IRExpr_ITE(mkexpr(t3),
3758 mkexpr(t1), mkexpr(t8))),
3761 mkU32(63), mkexpr(t1)))));
3763 assign(t5, IRExpr_ITE(mkexpr(t3),
3765 mkexpr(t0), mkexpr(t4)),
3767 mkexpr(t0), mkexpr(t4))));
3771 IRExpr_ITE(mkexpr(t3),
3777 mkexpr(t8),
3784 mkexpr(t8),
3787 assign(t7, IRExpr_ITE(mkexpr(t3),
3790 mkexpr(t5),
3791 mkexpr(t6))),
3795 mkexpr(t5),
3796 mkexpr(t6))),
3800 mkexpr(t8))))));
3802 putIReg(rt, mkexpr(t7));
3830 assign(t1, IRExpr_ITE(mkexpr(t16),
3831 mkexpr(t0),
3833 mkexpr(t0),
3841 mkexpr(t0),
3850 IRExpr_ITE(mkexpr(t16),
3853 mkexpr(t15),
3855 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
3856 putIReg(rt, unop(Iop_64to32, mkexpr(t9)));
3861 mkexpr(t1)),
3866 mkexpr(t1)),
3874 mkexpr(t1)),
3879 mkexpr(t1)),
3886 unop(Iop_1Sto32, mkexpr(t3)),
3887 unop(Iop_1Sto32, mkexpr(t4))),
3889 unop(Iop_1Sto32, mkexpr(t5)),
3890 unop(Iop_1Sto32, mkexpr(t6)))));
3892 mkexpr(t7),
3902 mkexpr(t9)),
3907 mkexpr(t9)),
3913 mkexpr(t9)),
3918 mkexpr(t9)),
3924 unop(Iop_1Sto32, mkexpr(t10)),
3925 unop(Iop_1Sto32, mkexpr(t11))),
3927 unop(Iop_1Sto32, mkexpr(t12)),
3928 unop(Iop_1Sto32, mkexpr(t13)))));
3930 mkexpr(t14),
3963 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkexpr(t15)));
3968 mkexpr(t1)),
3973 mkexpr(t1)),
3980 mkexpr(t1)),
3985 mkexpr(t1)),
3992 unop(Iop_1Sto32, mkexpr(t3)),
3993 unop(Iop_1Sto32, mkexpr(t4))),
3995 unop(Iop_1Sto32, mkexpr(t5)),
3996 unop(Iop_1Sto32, mkexpr(t6)))));
3998 mkexpr(t7),
4013 mkexpr(t15)),
4018 mkexpr(t0),
4022 mkexpr(t15)),
4026 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
4028 putIReg(rt, unop(Iop_64to32, mkexpr(t9)));
4033 mkexpr(t9)),
4038 mkexpr(t9)),
4044 mkexpr(t9)),
4049 mkexpr(t9)),
4055 unop(Iop_1Sto32, mkexpr(t10)),
4056 unop(Iop_1Sto32, mkexpr(t11))),
4058 unop(Iop_1Sto32, mkexpr(t12)),
4059 unop(Iop_1Sto32, mkexpr(t13)))));
4061 mkexpr(t14),
4091 assign(t1, mkexpr(t0));
4093 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
4099 mkexpr(t1)),
4104 mkexpr(t1)),
4111 mkexpr(t1)),
4116 mkexpr(t1)),
4123 unop(Iop_1Sto32, mkexpr(t3)),
4124 unop(Iop_1Sto32, mkexpr(t4))),
4126 unop(Iop_1Sto32, mkexpr(t5)),
4127 unop(Iop_1Sto32, mkexpr(t6)))));
4129 mkexpr(t7),
4146 mkexpr(t0),
4151 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
4156 mkexpr(t9)),
4161 mkexpr(t9)),
4167 mkexpr(t9)),
4172 mkexpr(t9)),
4178 unop(Iop_1Sto32, mkexpr(t10)),
4179 unop(Iop_1Sto32, mkexpr(t11))),
4181 unop(Iop_1Sto32, mkexpr(t12)),
4182 unop(Iop_1Sto32, mkexpr(t13)))));
4184 mkexpr(t14),
4193 mkexpr(t9)),
4196 mkexpr(t14),
4199 mkexpr(t16),
4203 unop(Iop_64to32, mkexpr(t9))));
4232 mkexpr(t15),
4235 assign(t1, IRExpr_ITE(mkexpr(t17),
4236 mkexpr(t0),
4238 mkexpr(t0),
4240 mkexpr(t15)))));
4245 mkexpr(t1)),
4250 mkexpr(t1)),
4257 mkexpr(t1)),
4262 mkexpr(t1)),
4269 unop(Iop_1Sto32, mkexpr(t3)),
4270 unop(Iop_1Sto32, mkexpr(t4))),
4272 unop(Iop_1Sto32, mkexpr(t5)),
4273 unop(Iop_1Sto32, mkexpr(t6)))));
4275 mkexpr(t7),
4288 IRExpr_ITE(mkexpr(t17),
4292 mkexpr(t0),
4295 mkexpr(t15),
4299 assign(t9, binop(Iop_Add64, mkexpr(t1), mkexpr(t8)));
4304 mkexpr(t9)),
4309 mkexpr(t9)),
4315 mkexpr(t9)),
4320 mkexpr(t9)),
4326 unop(Iop_1Sto32, mkexpr(t10)),
4327 unop(Iop_1Sto32, mkexpr(t11))),
4329 unop(Iop_1Sto32, mkexpr(t12)),
4330 unop(Iop_1Sto32, mkexpr(t13)))));
4332 mkexpr(t14),
4341 mkexpr(t9)),
4344 mkexpr(t14),
4347 mkexpr(t16),
4351 unop(Iop_64to32, mkexpr(t9))));
4377 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkU32(rs)));
4390 putDSPControl(IRExpr_ITE(mkexpr(t2),
4396 mkexpr(t8)));
4404 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4407 IRExpr_ITE(mkexpr(t3),
4410 mkexpr(t1), mkU32(rs))),
4413 mkU32(63), mkexpr(t1)))));
4415 assign(t5, IRExpr_ITE(mkexpr(t3),
4417 mkexpr(t0), mkexpr(t4)),
4419 mkexpr(t0), mkexpr(t4))));
4423 IRExpr_ITE(mkexpr(t3),
4433 assign(t7, IRExpr_ITE(mkexpr(t3),
4436 mkexpr(t5),
4437 mkexpr(t6))),
4441 mkexpr(t5),
4442 mkexpr(t6))),
4445 putIReg(rt, mkexpr(t7));
4473 assign(t2, binop(Iop_CmpLT32U, mkexpr(t1), mkexpr(t8)));
4485 mkexpr(t8),
4488 putDSPControl(IRExpr_ITE(mkexpr(t2),
4494 mkexpr(t9)));
4502 assign(t3, binop(Iop_CmpLE32U, mkexpr(t1), mkU32(31)));
4505 IRExpr_ITE(mkexpr(t3),
4508 mkexpr(t1), mkexpr(t8))),
4511 mkU32(63), mkexpr(t1)))));
4513 assign(t5, IRExpr_ITE(mkexpr(t3),
4515 mkexpr(t0), mkexpr(t4)),
4517 mkexpr(t0), mkexpr(t4))));
4521 IRExpr_ITE(mkexpr(t3),
4527 mkexpr(t8),
4534 mkexpr(t8),
4537 assign(t7, IRExpr_ITE(mkexpr(t3),
4540 mkexpr(t5),
4541 mkexpr(t6))),
4545 mkexpr(t5),
4546 mkexpr(t6))),
4550 mkexpr(t8))))));
4552 putIReg(rt, mkexpr(t7));
4570 assign(t1, binop(Iop_Sar64, mkexpr(t0), mkU8(rs)));
4577 mkexpr(t1)),
4580 mkexpr(t9),
4583 mkexpr(t0)),
4585 mkexpr(t2),
4593 mkexpr(t1),
4602 mkexpr(t3)),
4608 mkexpr(t3))))),
4613 mkexpr(t3)),
4618 mkexpr(t4)),
4629 mkexpr(t1)));
4637 mkexpr(t6)),
4643 mkexpr(t6))))),
4648 mkexpr(t6)),
4653 mkexpr(t7)),
4660 mkexpr(t4)),
4664 mkexpr(t7)),
4667 mkexpr(t1)))));
4686 mkexpr(t0),
4697 mkexpr(t1)),
4700 mkexpr(t9),
4703 mkexpr(t0)),
4705 mkexpr(t2),
4713 mkexpr(t1),
4722 mkexpr(t3)),
4728 mkexpr(t3))))),
4733 mkexpr(t3)),
4738 mkexpr(t4)),
4749 mkexpr(t1)));
4757 mkexpr(t6)),
4763 mkexpr(t6))))),
4768 mkexpr(t6)),
4773 mkexpr(t7)),
4780 mkexpr(t4)),
4784 mkexpr(t7)),
4787 mkexpr(t1)))));
4959 putAcc(ac, mkexpr(t0));
4963 unop(Iop_64to32, mkexpr(t0)),
4967 mkexpr(t0),
4974 putAcc(ac, mkexpr(t1));
4976 assign(t1, binop(Iop_Shr64, mkexpr(t0), mkU8(shift)));
4978 putAcc(ac, mkexpr(t1));
4993 assign(t2, binop(Iop_CmpEQ32, mkexpr(t1), mkU32(0x20)));
4995 mkexpr(t0),
4999 mkexpr(t1)),
5002 mkexpr(t0),
5004 mkexpr(t1))));
5007 IRExpr_ITE(mkexpr(t2),
5009 unop(Iop_64to32, mkexpr(t0)),
5013 mkexpr(t1),
5016 mkexpr(t3),
5017 mkexpr(t4))));
5030 unop(Iop_64to32, mkexpr(t0)),
5035 mkexpr(t1)),
5038 mkexpr(t1),
5045 mkexpr(t1),
5066 putIReg(rd, load(Ity_I32, mkexpr(t0)));
5076 putIReg(rd, unop(Iop_16Sto32, load(Ity_I16, mkexpr(t0))));
5086 putIReg(rd, unop(Iop_8Uto32, load(Ity_I8, mkexpr(t0))));
5122 mkexpr(t1),
5123 mkexpr(t0))));
5129 mkexpr(t2)),
5130 mkexpr(t2)));
5135 mkexpr(t0))));
5140 mkexpr(t3)),
5141 mkexpr(t3)));
5152 mkexpr(t1))))),
5154 mkexpr(t0))));
5157 mkexpr(t0),
5160 mkexpr(t1),
5164 mkexpr(t6),
5165 mkexpr(t8))),
5168 mkexpr(t2)),
5171 mkexpr(t7),
5172 mkexpr(t8)),
5175 mkexpr(t6),
5176 mkexpr(t7)),
5177 mkexpr(t8)))));
5212 mkexpr(t0),
5228 mkexpr(t2),
5244 mkexpr(t4),
5260 mkexpr(t6),
5268 unop(Iop_1Sto32, mkexpr(t7)),
5269 unop(Iop_1Sto32, mkexpr(t5))),
5270 unop(Iop_1Sto32, mkexpr(t3))),
5271 unop(Iop_1Sto32, mkexpr(t1))));
5274 mkexpr(t8),
5283 unop(Iop_32to8, mkexpr(t6)),
5284 unop(Iop_32to8, mkexpr(t4))),
5286 unop(Iop_32to8, mkexpr(t2)),
5287 unop(Iop_32to8, mkexpr(t0)))));
5315 mkexpr(t0),
5331 mkexpr(t2),
5347 mkexpr(t4),
5363 mkexpr(t6),
5370 unop(Iop_1Sto32, mkexpr(t7)),
5371 unop(Iop_1Sto32, mkexpr(t5))),
5372 unop(Iop_1Sto32, mkexpr(t3))),
5373 unop(Iop_1Sto32, mkexpr(t1))));
5376 mkexpr(t8),
5385 unop(Iop_32to8, mkexpr(t6)),
5386 unop(Iop_32to8, mkexpr(t4))),
5388 unop(Iop_32to8, mkexpr(t2)),
5389 unop(Iop_32to8, mkexpr(t0)))));
5421 mkexpr(t0),
5425 assign(t2, IRExpr_ITE(mkexpr(t1),
5427 unop(Iop_32to8, mkexpr(t0))));
5441 mkexpr(t3),
5445 assign(t5, IRExpr_ITE(mkexpr(t4),
5447 unop(Iop_32to8, mkexpr(t3))));
5461 mkexpr(t6),
5465 assign(t8, IRExpr_ITE(mkexpr(t7),
5467 unop(Iop_32to8, mkexpr(t6))));
5481 mkexpr(t9),
5485 assign(t11, IRExpr_ITE(mkexpr(t10),
5487 unop(Iop_32to8, mkexpr(t9))));
5493 unop(Iop_1Sto32, mkexpr(t10)),
5494 unop(Iop_1Sto32, mkexpr(t7))),
5495 unop(Iop_1Sto32, mkexpr(t4))),
5496 unop(Iop_1Sto32, mkexpr(t1))));
5499 mkexpr(t12),
5508 binop(Iop_8HLto16, mkexpr(t11), mkexpr(t8)),
5509 binop(Iop_8HLto16, mkexpr(t5), mkexpr(t2))));
5568 mkexpr(t6),
5571 putDSPControl(IRExpr_ITE(mkexpr(t2),
5578 mkexpr(t7),
5581 putDSPControl(IRExpr_ITE(mkexpr(t3),
5588 mkexpr(t8),
5591 putDSPControl(IRExpr_ITE(mkexpr(t4),
5598 mkexpr(t9),
5601 putDSPControl(IRExpr_ITE(mkexpr(t5),
5606 putIReg(rd, mkexpr(t1));
5639 mkexpr(t0),
5644 mkexpr(t1),
5646 putDSPControl(IRExpr_ITE(mkexpr(t2),
5650 IRExpr_ITE(mkexpr(t3),
5657 IRExpr_ITE(mkexpr(t2),
5659 unop(Iop_32to16, mkexpr(t0))),
5660 IRExpr_ITE(mkexpr(t3),
5662 unop(Iop_32to16, mkexpr(t1)))));
5695 mkexpr(t0),
5700 mkexpr(t1),
5702 putDSPControl(IRExpr_ITE(mkexpr(t2),
5706 IRExpr_ITE(mkexpr(t3),
5712 IRExpr_ITE(mkexpr(t2),
5715 mkexpr(t0))),
5716 IRExpr_ITE(mkexpr(t3),
5719 mkexpr(t1)))));
5740 unop(Iop_32to16, mkexpr(t0))),
5744 putDSPControl(IRExpr_ITE(mkexpr(t1),
5760 unop(Iop_32to16, mkexpr(t2))),
5765 putDSPControl(IRExpr_ITE(mkexpr(t3),
5772 unop(Iop_32to16, mkexpr(t2)),
5773 unop(Iop_32to16, mkexpr(t0))));
5794 mkexpr(t0),
5798 putDSPControl(IRExpr_ITE(mkexpr(t1),
5814 mkexpr(t2),
5818 putDSPControl(IRExpr_ITE(mkexpr(t3),
5825 unop(Iop_32to16, mkexpr(t2)),
5826 unop(Iop_32to16, mkexpr(t0))));
5849 unop(Iop_32HIto16, mkexpr(t0))),
5855 mkexpr(t0),
5858 mkexpr(t6)));
5860 putDSPControl(IRExpr_ITE(mkexpr(t1),
5876 unop(Iop_32HIto16, mkexpr(t2))),
5882 mkexpr(t2),
5885 mkexpr(t7)));
5887 putDSPControl(IRExpr_ITE(mkexpr(t3),
5894 unop(Iop_32to16, mkexpr(t2)),
5895 unop(Iop_32to16, mkexpr(t0))));
5918 unop(Iop_32HIto16, mkexpr(t0))),
5924 mkexpr(t0),
5927 mkexpr(t6)));
5929 putDSPControl(IRExpr_ITE(mkexpr(t1),
5945 unop(Iop_32HIto16, mkexpr(t2))),
5951 mkexpr(t2),
5954 mkexpr(t7)));
5956 putDSPControl(IRExpr_ITE(mkexpr(t3),
5963 unop(Iop_32to16, mkexpr(t2)),
5964 unop(Iop_32to16, mkexpr(t0))));
5985 unop(Iop_32to16, mkexpr(t0))),
5989 putDSPControl(IRExpr_ITE(mkexpr(t1),
6005 unop(Iop_32to16, mkexpr(t2))),
6009 putDSPControl(IRExpr_ITE(mkexpr(t3),
6016 IRExpr_ITE(mkexpr(t3),
6019 mkexpr(t2))),
6020 IRExpr_ITE(mkexpr(t1),
6023 mkexpr(t0)))));
6044 mkexpr(t0), mkU32(0x00010000)),
6047 putDSPControl(IRExpr_ITE(mkexpr(t1),
6063 mkexpr(t2), mkU32(0x00010000)),
6066 putDSPControl(IRExpr_ITE(mkexpr(t3),
6074 IRExpr_ITE(mkexpr(t3),
6076 unop(Iop_32to16, mkexpr(t2))),
6077 IRExpr_ITE(mkexpr(t1),
6079 unop(Iop_32to16, mkexpr(t0)))));
6104 unop(Iop_32HIto16, mkexpr(t0))),
6110 mkexpr(t0),
6113 mkexpr(t6)));
6115 putDSPControl(IRExpr_ITE(mkexpr(t1),
6121 assign(t4, IRExpr_ITE(mkexpr(t1),
6123 mkexpr(t6),
6127 unop(Iop_32to16, mkexpr(t0))));
6139 unop(Iop_32HIto16, mkexpr(t2))),
6145 mkexpr(t2),
6148 mkexpr(t7)));
6150 putDSPControl(IRExpr_ITE(mkexpr(t3),
6156 assign(t5, IRExpr_ITE(mkexpr(t3),
6158 mkexpr(t7),
6162 unop(Iop_32to16, mkexpr(t2))));
6164 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
6189 mkexpr(t0))),
6195 mkexpr(t0),
6198 mkexpr(t6)));
6200 putDSPControl(IRExpr_ITE(mkexpr(t1),
6206 assign(t4, IRExpr_ITE(mkexpr(t1),
6208 mkexpr(t6),
6212 unop(Iop_32to16, mkexpr(t0))));
6224 unop(Iop_32HIto16, mkexpr(t2))),
6230 mkexpr(t2),
6233 mkexpr(t7)));
6235 putDSPControl(IRExpr_ITE(mkexpr(t3),
6241 assign(t5, IRExpr_ITE(mkexpr(t3),
6243 mkexpr(t7),
6247 unop(Iop_32to16, mkexpr(t2))));
6249 putIReg(rd, binop(Iop_16HLto32, mkexpr(t5), mkexpr(t4)));
6266 unop(Iop_64HIto32, mkexpr(t0)),
6269 putDSPControl(IRExpr_ITE(mkexpr(t1),
6277 putIReg(rd, unop(Iop_64to32, mkexpr(t0)));
6300 mkexpr(t0)))));
6304 unop(Iop_64HIto32, mkexpr(t1)),
6308 unop(Iop_64to32, mkexpr(t1)),
6311 assign(t4, binop(Iop_CmpNE32, mkexpr(t2), mkexpr(t3)));
6313 putDSPControl(IRExpr_ITE(mkexpr(t4),
6318 putIReg(rd, unop(Iop_64to32, mkexpr(t1)));
6347 mkexpr(t1),
6349 getIReg(rs), mkexpr(t0))));
6350 putIReg(rd, mkexpr(t2));
6390 unop(Iop_64HIto32, mkexpr(t0)),
6395 unop(Iop_64to32, mkexpr(t0)),
6398 mkexpr(t3)));
6400 putDSPControl(IRExpr_ITE(mkexpr(t1),
6406 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6408 mkexpr(t3),
6412 unop(Iop_64to32, mkexpr(t0))));
6428 unop(Iop_64HIto32, mkexpr(t0)),
6433 unop(Iop_64to32, mkexpr(t0)),
6436 mkexpr(t3)));
6438 putDSPControl(IRExpr_ITE(mkexpr(t1),
6444 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6446 mkexpr(t3),
6450 unop(Iop_64to32, mkexpr(t0))));
6479 assign(t3, IRExpr_ITE(mkexpr(t1),
6480 IRExpr_ITE(mkexpr(t2),
6486 putDSPControl(mkexpr(t3));
6488 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6489 IRExpr_ITE(mkexpr(t2),
6491 mkexpr(t0)),
6492 mkexpr(t0)));
6520 putDSPControl(IRExpr_ITE(mkexpr(t1),
6521 IRExpr_ITE(mkexpr(t2),
6528 putIReg(rd, IRExpr_ITE(mkexpr(t1),
6529 IRExpr_ITE(mkexpr(t2),
6531 mkexpr(t0)),
6532 mkexpr(t0)));
6561 mkexpr(t5),
6567 mkexpr(t6),
6574 mkexpr(t7),
6580 mkexpr(t8),
6586 mkexpr(t0),
6587 mkexpr(t1)),
6598 mkexpr(t7),
6599 mkexpr(t8))),
6605 mkexpr(t5),
6606 mkexpr(t6))),
6610 mkexpr(t1),
6612 mkexpr(t2),
6615 mkexpr(t0),
6617 mkexpr(t3),
6653 putDSPControl(IRExpr_ITE(mkexpr(t1),
6654 IRExpr_ITE(mkexpr(t2),
6661 assign(t3, IRExpr_ITE(mkexpr(t1),
6662 IRExpr_ITE(mkexpr(t2),
6665 mkexpr(t0))),
6666 unop(Iop_32HIto16, mkexpr(t0))));
6690 putDSPControl(IRExpr_ITE(mkexpr(t5),
6691 IRExpr_ITE(mkexpr(t6),
6697 assign(t7, IRExpr_ITE(mkexpr(t5),
6698 IRExpr_ITE(mkexpr(t6),
6701 mkexpr(t4))),
6702 unop(Iop_32HIto16, mkexpr(t4))));
6704 putIReg(rd, binop(Iop_16HLto32, mkexpr(t7), mkexpr(t3)));
6726 putDSPControl(IRExpr_ITE(mkexpr(t1),
6743 putDSPControl(IRExpr_ITE(mkexpr(t2),
6760 putDSPControl(IRExpr_ITE(mkexpr(t3),
6777 putDSPControl(IRExpr_ITE(mkexpr(t4),
6803 putDSPControl(IRExpr_ITE(mkexpr(t1),
6820 putDSPControl(IRExpr_ITE(mkexpr(t2),
6837 putDSPControl(IRExpr_ITE(mkexpr(t3),
6854 putDSPControl(IRExpr_ITE(mkexpr(t4),
6880 putDSPControl(IRExpr_ITE(mkexpr(t1),
6897 putDSPControl(IRExpr_ITE(mkexpr(t2),
6914 putDSPControl(IRExpr_ITE(mkexpr(t3),
6931 putDSPControl(IRExpr_ITE(mkexpr(t4),
6952 mkexpr(t0),
6963 mkexpr(t0),
6973 mkexpr(t0),
6984 mkexpr(t0),
6995 binop(Iop_8HLto16, mkexpr(t4), mkexpr(t3)),
6996 binop(Iop_8HLto16, mkexpr(t2), mkexpr(t1))));
7019 assign(t5, IRExpr_ITE(mkexpr(t1),
7030 assign(t6, IRExpr_ITE(mkexpr(t2),
7042 assign(t7, IRExpr_ITE(mkexpr(t3),
7054 assign(t8, IRExpr_ITE(mkexpr(t4),
7060 mkexpr(t5), mkexpr(t6)),
7061 mkexpr(t7)),
7062 mkexpr(t8)));
7085 assign(t5, IRExpr_ITE(mkexpr(t1),
7096 assign(t6, IRExpr_ITE(mkexpr(t2),
7108 assign(t7, IRExpr_ITE(mkexpr(t3),
7120 assign(t8, IRExpr_ITE(mkexpr(t4),
7125 mkexpr(t5), mkexpr(t6)),
7126 mkexpr(t7)),
7127 mkexpr(t8)));
7150 assign(t5, IRExpr_ITE(mkexpr(t1),
7161 assign(t6, IRExpr_ITE(mkexpr(t2),
7173 assign(t7, IRExpr_ITE(mkexpr(t3),
7185 assign(t8, IRExpr_ITE(mkexpr(t4),
7190 mkexpr(t5), mkexpr(t6)),
7191 mkexpr(t7)),
7192 mkexpr(t8)));
7204 putDSPControl(IRExpr_ITE(mkexpr(t1),
7214 putDSPControl(IRExpr_ITE(mkexpr(t2),
7234 putDSPControl(IRExpr_ITE(mkexpr(t1),
7247 putDSPControl(IRExpr_ITE(mkexpr(t2),
7267 putDSPControl(IRExpr_ITE(mkexpr(t1),
7280 putDSPControl(IRExpr_ITE(mkexpr(t2),
7300 mkexpr(t0),
7308 mkexpr(t0),
7314 putIReg(rd, binop(Iop_16HLto32, mkexpr(t2), mkexpr(t1)));
7392 mkexpr(t4),
7407 mkexpr(t5),
7409 IRExpr_ITE(mkexpr(t6),
7439 mkexpr(t7),
7459 putDSPControl(IRExpr_ITE(mkexpr(t8),
7460 mkexpr(t9),
7485 mkexpr(t10),
7505 putDSPControl(IRExpr_ITE(mkexpr(t11),
7506 mkexpr(t12),
7531 mkexpr(t13),
7551 putDSPControl(IRExpr_ITE(mkexpr(t14),
7552 mkexpr(t15),
7559 mkexpr(t1), mkexpr(t0)),
7561 mkexpr(t3), mkexpr(t2))));
7593 unop(Iop_64HIto32, mkexpr(t0)),
7597 unop(Iop_64to32, mkexpr(t0)),
7600 assign(t2, IRExpr_ITE(mkexpr(t1),
7602 unop(Iop_64to32, mkexpr(t0))));
7603 putDSPControl(IRExpr_ITE(mkexpr(t1),
7619 unop(Iop_64HIto32, mkexpr(t3)),
7623 unop(Iop_64to32, mkexpr(t3)),
7626 assign(t5, IRExpr_ITE(mkexpr(t4),
7628 unop(Iop_64to32, mkexpr(t3))));
7629 putDSPControl(IRExpr_ITE(mkexpr(t4),
7635 mkexpr(t2)),
7636 unop(Iop_32HIto16, mkexpr(t5))));
7685 unop(Iop_32to16, mkexpr(t0)),
7686 unop(Iop_32to16, mkexpr(t1))));
7719 assign(t5, IRExpr_ITE(mkexpr(t1),
7721 putDSPControl(IRExpr_ITE(mkexpr(t1),
7737 assign(t6, IRExpr_ITE(mkexpr(t2),
7739 putDSPControl(IRExpr_ITE(mkexpr(t2),
7756 assign(t7, IRExpr_ITE(mkexpr(t3),
7758 putDSPControl(IRExpr_ITE(mkexpr(t3),
7775 assign(t8, IRExpr_ITE(mkexpr(t4),
7777 putDSPControl(IRExpr_ITE(mkexpr(t4),
7788 mkexpr(t5), mkexpr(t6)),
7789 mkexpr(t7)),
7790 mkexpr(t8)));
7813 assign(t5, IRExpr_ITE(mkexpr(t1),
7815 putDSPControl(IRExpr_ITE(mkexpr(t1),
7831 assign(t6, IRExpr_ITE(mkexpr(t2),
7833 putDSPControl(IRExpr_ITE(mkexpr(t2),
7850 assign(t7, IRExpr_ITE(mkexpr(t3),
7852 putDSPControl(IRExpr_ITE(mkexpr(t3),
7869 assign(t8, IRExpr_ITE(mkexpr(t4),
7871 putDSPControl(IRExpr_ITE(mkexpr(t4),
7882 mkexpr(t5), mkexpr(t6)),
7883 mkexpr(t7)),
7884 mkexpr(t8)));
7907 assign(t5, IRExpr_ITE(mkexpr(t1),
7910 putDSPControl(IRExpr_ITE(mkexpr(t1),
7926 assign(t6, IRExpr_ITE(mkexpr(t2),
7928 putDSPControl(IRExpr_ITE(mkexpr(t2),
7945 assign(t7, IRExpr_ITE(mkexpr(t3),
7947 putDSPControl(IRExpr_ITE(mkexpr(t3),
7964 assign(t8, IRExpr_ITE(mkexpr(t4),
7966 putDSPControl(IRExpr_ITE(mkexpr(t4),
7977 mkexpr(t5), mkexpr(t6)),
7978 mkexpr(t7)),
7979 mkexpr(t8)));
8015 mkexpr(t0),
8020 mkexpr(t0),
8025 mkexpr(t0),
8030 mkexpr(t0),
8043 mkexpr(t3),
8048 mkexpr(t3),
8053 mkexpr(t3),
8058 mkexpr(t3),
8066 mkexpr(t1)),
8068 mkexpr(t2))),
8071 mkexpr(t7)),
8073 mkexpr(t8)))),
8077 mkexpr(t4)),
8079 mkexpr(t5))),
8082 mkexpr(t9)),
8084 mkexpr(t10))))));
8087 mkexpr(t6),
8096 mkexpr(t3),
8100 mkexpr(t0),
8124 mkexpr(t0),
8125 unop(Iop_32to8, mkexpr(t9)))));
8132 mkexpr(t2),
8133 unop(Iop_32to8, mkexpr(t9)))));
8140 mkexpr(t4),
8141 unop(Iop_32to8, mkexpr(t9)))));
8148 mkexpr(t6),
8149 unop(Iop_32to8, mkexpr(t9)))));
8151 mkexpr(t9),
8156 mkexpr(t7),
8157 mkexpr(t5)),
8159 mkexpr(t3),
8160 mkexpr(t1)))));
8188 mkexpr(t11)));
8191 mkexpr(t0),
8196 mkexpr(t0),
8201 mkexpr(t0),
8206 mkexpr(t0),
8216 mkexpr(t11)));
8219 mkexpr(t3),
8224 mkexpr(t3),
8229 mkexpr(t3),
8234 mkexpr(t3),
8242 mkexpr(t1)),
8244 mkexpr(t2))),
8247 mkexpr(t7)),
8249 mkexpr(t8)))),
8253 mkexpr(t4)),
8255 mkexpr(t5))),
8258 mkexpr(t9)),
8260 mkexpr(t10))))));
8263 mkexpr(t6),
8270 unop(Iop_8Uto32, mkexpr(t11)),
8276 mkexpr(t3),
8280 mkexpr(t0),
8320 binop(Iop_8HLto16, mkexpr(t3), mkexpr(t2)),
8321 binop(Iop_8HLto16, mkexpr(t1), mkexpr(t0))));
8346 binop(Iop_Shr32, mkexpr(t1), mkU8(rs)));
8350 mkexpr(t2),
8354 mkexpr(t1),
8367 assign(t5, binop(Iop_Shr32, mkexpr(t4), mkU8(rs)));
8371 mkexpr(t5),
8375 mkexpr(t4),
8388 assign(t8, binop(Iop_Shr32, mkexpr(t7), mkU8(rs)));
8392 mkexpr(t8),
8396 mkexpr(t7),
8409 assign(t11, binop(Iop_Shr32, mkexpr(t10), mkU8(rs)));
8413 mkexpr(t11),
8417 mkexpr(t10),
8428 unop(Iop_32to8, mkexpr(t0)),
8429 unop(Iop_32to8, mkexpr(t3))),
8431 unop(Iop_32to8, mkexpr(t6)),
8432 unop(Iop_32to8, mkexpr(t9)))));
8456 mkexpr(t0),
8468 mkexpr(t2),
8480 mkexpr(t4),
8492 mkexpr(t6),
8499 mkexpr(t7), mkexpr(t5)),
8501 mkexpr(t3), mkexpr(t1))));
8532 mkexpr(t1),
8539 mkexpr(t2),
8543 mkexpr(t1),
8563 mkexpr(t4),
8570 mkexpr(t5),
8574 mkexpr(t4),
8594 mkexpr(t7),
8601 mkexpr(t8),
8605 mkexpr(t7),
8625 mkexpr(t10),
8632 mkexpr(t11),
8636 mkexpr(t10),
8659 mkexpr(t1),
8660 mkexpr(t0))),
8668 mkexpr(t2),
8669 mkexpr(t3)))),
8678 mkexpr(t5),
8679 mkexpr(t6))),
8687 mkexpr(t8),
8688 mkexpr(t9))))));
8707 binop(Iop_Sub32, mkexpr(t9), mkU32(0x1))));
8714 mkexpr(t0),
8717 mkexpr(t8))),
8719 mkexpr(t9)))));
8727 mkexpr(t2),
8730 mkexpr(t8))),
8731 unop(Iop_32to8, mkexpr(t9)))));
8739 mkexpr(t4),
8742 mkexpr(t8))),
8743 unop(Iop_32to8, mkexpr(t9)))));
8751 mkexpr(t6),
8754 mkexpr(t8))),
8755 unop(Iop_32to8, mkexpr(t9)))));
8757 mkexpr(t9),
8762 mkexpr(t7),
8763 mkexpr(t5)),
8765 mkexpr(t3),
8766 mkexpr(t1)))));
8793 mkexpr(t0),
8799 mkexpr(t0),
8803 mkexpr(t1),
8804 mkexpr(t2)));
8806 mkexpr(t3),
8817 mkexpr(t0),
8833 mkexpr(t4),
8839 mkexpr(t4),
8843 mkexpr(t5),
8844 mkexpr(t6)));
8846 mkexpr(t7),
8853 mkexpr(t7),
8865 mkexpr(t4),
8874 unop(Iop_32to16, mkexpr(t4)),
8875 unop(Iop_32to16, mkexpr(t0))));
8896 unop(Iop_32to16, mkexpr(t1)),
8897 unop(Iop_32to16, mkexpr(t0))));
8924 unop(Iop_32to8, mkexpr(t0))));
8928 unop(Iop_32HIto16, mkexpr(t2))),
8932 unop(Iop_32HIto16, mkexpr(t2))),
8935 unop(Iop_1Sto32, mkexpr(t3)),
8936 unop(Iop_1Sto32, mkexpr(t4))));
8943 mkexpr(t5),
8946 mkexpr(t2),
8951 mkexpr(t10),
8956 IRExpr_ITE(mkexpr(t12),
8966 unop(Iop_32to8, mkexpr(t0))));
8970 unop(Iop_32HIto16, mkexpr(t6))),
8974 unop(Iop_32HIto16, mkexpr(t6))),
8977 unop(Iop_1Sto32, mkexpr(t7)),
8978 unop(Iop_1Sto32, mkexpr(t8))));
8986 mkexpr(t9),
8989 mkexpr(t6),
8994 mkexpr(t11),
8999 IRExpr_ITE(mkexpr(t13),
9007 unop(Iop_32to16, mkexpr(t6)),
9008 unop(Iop_32to16, mkexpr(t2))));
9020 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9024 unop(Iop_32to8, mkexpr(t0))));
9028 unop(Iop_32to8, mkexpr(t0))));
9031 IRExpr_ITE(mkexpr(t1),
9033 unop(Iop_32to16, mkexpr(t3))),
9034 IRExpr_ITE(mkexpr(t1),
9036 unop(Iop_32to16, mkexpr(t2)))));
9070 mkexpr(t0),
9076 mkexpr(t0),
9080 mkexpr(t1),
9081 mkexpr(t2)));
9083 mkexpr(t3),
9094 mkexpr(t0),
9103 mkexpr(t3),
9113 mkexpr(t0),
9121 mkexpr(t0),
9123 mkexpr(t8),
9140 mkexpr(t4),
9146 mkexpr(t4),
9150 mkexpr(t5),
9151 mkexpr(t6)));
9153 mkexpr(t7),
9160 mkexpr(t7),
9168 mkexpr(t4),
9175 mkexpr(t12)),
9189 mkexpr(t7),
9191 mkexpr(t13),
9194 mkexpr(t4),
9211 mkexpr(t4),
9214 mkexpr(t9),
9215 mkexpr(t14)));
9217 mkexpr(t10),
9218 mkexpr(t11)));
9249 unop(Iop_32to16, mkexpr(t1)),
9250 unop(Iop_32to16, mkexpr(t0))));
9281 unop(Iop_32to8, mkexpr(t0))));
9285 unop(Iop_32HIto16, mkexpr(t2))),
9289 unop(Iop_32HIto16, mkexpr(t2))),
9292 unop(Iop_1Sto32, mkexpr(t3)),
9293 unop(Iop_1Sto32, mkexpr(t4))));
9300 mkexpr(t5),
9303 mkexpr(t2),
9308 mkexpr(t10),
9313 IRExpr_ITE(mkexpr(t12),
9320 mkexpr(t5),
9325 mkexpr(t10),
9327 mkexpr(t14),
9328 IRExpr_ITE(mkexpr(t12),
9330 mkexpr(t2)),
9331 mkexpr(t14))));
9336 unop(Iop_32to8, mkexpr(t0))));
9340 unop(Iop_32HIto16, mkexpr(t6))),
9344 unop(Iop_32HIto16, mkexpr(t6))),
9347 unop(Iop_1Sto32, mkexpr(t7)),
9348 unop(Iop_1Sto32, mkexpr(t8))));
9356 mkexpr(t9),
9359 mkexpr(t6),
9364 mkexpr(t11),
9369 IRExpr_ITE(mkexpr(t13),
9377 mkexpr(t9),
9382 mkexpr(t11),
9384 mkexpr(t16),
9385 IRExpr_ITE(mkexpr(t13),
9387 mkexpr(t6)),
9388 mkexpr(t16))));
9390 putIReg(rd, binop(Iop_16HLto32, mkexpr(t17), mkexpr(t15)));
9403 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9405 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9413 mkexpr(t2))),
9414 unop(Iop_32to8, mkexpr(t0))));
9422 mkexpr(t2))),
9423 unop(Iop_32to8, mkexpr(t0))));
9426 IRExpr_ITE(mkexpr(t1),
9430 mkexpr(t4))),
9431 IRExpr_ITE(mkexpr(t1),
9434 mkexpr(t3)))));
9474 mkexpr(t2),
9476 mkexpr(t2),
9477 mkexpr(t1)));
9480 mkexpr(t0),
9483 mkexpr(t0),
9486 mkexpr(t1),
9487 mkexpr(t3)),
9488 mkexpr(t3)));
9490 mkexpr(t0),
9497 mkexpr(t0),
9499 mkexpr(t5),
9506 mkexpr(t2),
9513 putIReg(rd, mkexpr(t4));
9551 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9562 unop(Iop_32to8, mkexpr(t0))));
9564 unop(Iop_64HIto32, mkexpr(t3)),
9567 unop(Iop_64HIto32, mkexpr(t3)),
9570 unop(Iop_1Uto32, mkexpr(t4)),
9571 unop(Iop_1Uto32, mkexpr(t5))));
9580 unop(Iop_64to32, mkexpr(t3)),
9584 putDSPControl(IRExpr_ITE(unop(Iop_32to1, mkexpr(t6)),
9588 IRExpr_ITE(mkexpr(t7),
9596 mkexpr(t2)),
9599 putIReg(rd, IRExpr_ITE(unop(Iop_32to1, mkexpr(t6)),
9601 mkexpr(t2)),
9604 IRExpr_ITE(mkexpr(t7),
9606 mkexpr(t3)),
9607 mkexpr(t8))));
9619 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9621 binop(Iop_Sub32, mkexpr(t0), mkU32(1))));
9623 putIReg(rd, IRExpr_ITE(mkexpr(t1),
9629 mkexpr(t2)),
9648 unop(Iop_32to16, mkexpr(t1)),
9649 unop(Iop_32to16, mkexpr(t0))));
9665 assign(t1, binop(Iop_CmpEQ32, mkexpr(t0), mkU32(0x0)));
9670 unop(Iop_32to8, mkexpr(t0))));
9674 unop(Iop_32to8, mkexpr(t0))));
9676 assign(t4, IRExpr_ITE(mkexpr(t1),
9678 unop(Iop_32to16, mkexpr(t3))));
9679 assign(t5, IRExpr_ITE(mkexpr(t1),
9681 unop(Iop_32to16, mkexpr(t2))));
9682 putIReg(rd, binop(Iop_16HLto32, mkexpr(t4), mkexpr(t5)));
9699 putIReg(rd, mkexpr(t0));
9709 putIReg(rd, mkexpr(t0));
9741 mkexpr(t0),
9742 mkexpr(t1)),
9757 mkexpr(t3),
9758 mkexpr(t4)),
9773 mkexpr(t7),
9774 mkexpr(t6)),
9789 mkexpr(t9),
9790 mkexpr(t10)),
9796 mkexpr(t11), mkexpr(t8)),
9798 mkexpr(t5), mkexpr(t2))));
9850 mkexpr(t1),
9851 mkexpr(t5)),
9859 mkexpr(t2),
9860 mkexpr(t6)),
9868 mkexpr(t3),
9869 mkexpr(t7)),
9877 mkexpr(t4),
9878 mkexpr(t8)),
9884 mkexpr(t12), mkexpr(t11)),
9886 mkexpr(t10), mkexpr(t9))));
9907 mkexpr(t0),
9920 mkexpr(t2),
9923 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9953 mkexpr(t0),
9968 mkexpr(t2),
9973 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
9995 mkexpr(t0),
10010 mkexpr(t2),
10015 putIReg(rd, binop(Iop_16HLto32, mkexpr(t3), mkexpr(t1)));
10034 mkexpr(t0),
10040 mkexpr(t0),
10058 mkexpr(t1),
10064 mkexpr(t1),
10074 unop(Iop_32to16, mkexpr(t0)),
10075 unop(Iop_32to16, mkexpr(t1))));
10076 putIReg(rd, mkexpr(t2));
10100 mkexpr(t0),
10104 mkexpr(t0),
10107 mkexpr(t0))));
10112 mkexpr(t0),
10118 mkexpr(t0),
10136 mkexpr(t2),
10140 mkexpr(t2),
10143 mkexpr(t2))));
10148 mkexpr(t2),
10154 mkexpr(t2),
10164 unop(Iop_32to16, mkexpr(t1)),
10165 unop(Iop_32to16, mkexpr(t3))));
10166 putIReg(rd, mkexpr(t4));
10179 mkexpr(t0),
10182 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
10195 mkexpr(t0),
10198 binop(Iop_Shr64, mkexpr(t1), mkU8(0x1))));
10212 mkexpr(t0),
10215 mkexpr(t1),
10218 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
10232 mkexpr(t0),
10235 mkexpr(t1),
10238 binop(Iop_Shr64, mkexpr(t2), mkU8(0x1))));
10257 putDSPControl(IRExpr_ITE(mkexpr(t1),
10258 IRExpr_ITE(mkexpr(t2),
10265 putIReg(rd, IRExpr_ITE(mkexpr(t1),
10266 IRExpr_ITE(mkexpr(t2),
10269 mkexpr(t0))),
10270 unop(Iop_64HIto32, mkexpr(t0))));
10291 putDSPControl(IRExpr_ITE(mkexpr(t1),
10292 IRExpr_ITE(mkexpr(t2),
10299 putIReg(rd, IRExpr_ITE(mkexpr(t1),
10300 IRExpr_ITE(mkexpr(t2),
10303 mkexpr(t0))),
10304 unop(Iop_64HIto32, mkexpr(t0))));
10339 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10340 putAcc(ac, mkexpr(t2));
10368 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10369 putAcc(ac, mkexpr(t2));
10392 assign(t2, binop(Iop_Sub32, mkexpr(t1), mkexpr(t0)));
10394 mkexpr(t4),
10395 unop(Iop_32Sto64, mkexpr(t2))));
10425 mkexpr(t0),
10426 mkexpr(t1))));
10428 binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10429 putAcc(ac, mkexpr(t3));
10466 IRExpr_ITE(mkexpr(t2),
10467 IRExpr_ITE(mkexpr(t3),
10469 mkexpr(t1)),
10470 mkexpr(t1)));
10472 putDSPControl(IRExpr_ITE(mkexpr(t2),
10473 IRExpr_ITE(mkexpr(t3),
10501 IRExpr_ITE(mkexpr(t6),
10502 IRExpr_ITE(mkexpr(t7),
10504 mkexpr(t5)),
10505 mkexpr(t5)));
10507 putDSPControl(IRExpr_ITE(mkexpr(t6),
10508 IRExpr_ITE(mkexpr(t7),
10520 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
10521 mkexpr(t0)));
10522 putAcc(ac, mkexpr(t9));
10559 IRExpr_ITE(mkexpr(t2),
10560 IRExpr_ITE(mkexpr(t3),
10562 mkexpr(t1)),
10563 mkexpr(t1)));
10565 putDSPControl(IRExpr_ITE(mkexpr(t2),
10566 IRExpr_ITE(mkexpr(t3),
10594 IRExpr_ITE(mkexpr(t6),
10595 IRExpr_ITE(mkexpr(t7),
10597 mkexpr(t5)),
10598 mkexpr(t5)));
10600 putDSPControl(IRExpr_ITE(mkexpr(t6),
10601 IRExpr_ITE(mkexpr(t7),
10614 mkexpr(t0),
10615 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
10616 putAcc(ac, mkexpr(t9));
10654 mkexpr(t8),
10666 mkexpr(t8), mkU32(0x0)),
10670 mkexpr(t0), mkexpr(t1)),
10693 mkexpr(t9),
10704 mkexpr(t9),
10709 mkexpr(t3),
10710 mkexpr(t4)),
10715 unop(Iop_32Sto64, mkexpr(t2)),
10716 unop(Iop_32Sto64, mkexpr(t5))));
10718 assign(t7, binop(Iop_Add64, getAcc(ac), mkexpr(t6)));
10720 putAcc(ac, mkexpr(t7));
10748 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10749 assign(t3, binop(Iop_Add64, getAcc(ac), mkexpr(t2)));
10750 putAcc(ac, mkexpr(t3));
10777 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10778 putAcc(ac, mkexpr(t2));
10806 binop(Iop_Add64, mkexpr(t0), mkexpr(t1))));
10807 putAcc(ac, mkexpr(t2));
10837 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
10839 binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
10840 putAcc(ac, mkexpr(t3));
10872 IRExpr_ITE(mkexpr(t2),
10873 IRExpr_ITE(mkexpr(t3),
10875 mkexpr(t1)),
10876 mkexpr(t1)));
10878 putDSPControl(IRExpr_ITE(mkexpr(t2),
10879 IRExpr_ITE(mkexpr(t3),
10892 unop(Iop_64to32, mkexpr(t0))),
10894 unop(Iop_64to32, mkexpr(t4)))));
10899 unop(Iop_64HIto32, mkexpr(t0))),
10901 mkexpr(t4)))),
10904 unop(Iop_64HIto32, mkexpr(t5)),
10907 unop(Iop_64to32, mkexpr(t6)),
10908 unop(Iop_64to32, mkexpr(t5))));
10912 unop(Iop_64to32, mkexpr(t6)),
10916 unop(Iop_64HIto32, mkexpr(t6)),
10921 mkexpr(t6)),
10924 putDSPControl(IRExpr_ITE(mkexpr(t8),
10932 IRExpr_ITE(mkexpr(t8),
10933 mkexpr(t7),
10934 IRExpr_ITE(mkexpr(t9),
10969 IRExpr_ITE(mkexpr(t2),
10970 IRExpr_ITE(mkexpr(t3),
10972 mkexpr(t1)),
10973 mkexpr(t1)));
10975 putDSPControl(IRExpr_ITE(mkexpr(t2),
10976 IRExpr_ITE(mkexpr(t3),
10989 unop(Iop_64to32, mkexpr(t0))),
10991 unop(Iop_64to32, mkexpr(t4)))));
10995 unop(Iop_64HIto32, mkexpr(t0))
11001 mkexpr(t0)),
11003 mkexpr(t4)))))),
11005 unop(Iop_64HIto32, mkexpr(t4)))));
11007 unop(Iop_64to32, mkexpr(t6)),
11008 unop(Iop_64to32, mkexpr(t5))));
11012 unop(Iop_64to32, mkexpr(t6)),
11016 unop(Iop_64HIto32, mkexpr(t6)),
11020 unop(Iop_64HIto32, mkexpr(t6)),
11023 putDSPControl(IRExpr_ITE(mkexpr(t8),
11031 IRExpr_ITE(mkexpr(t8),
11032 mkexpr(t7),
11033 IRExpr_ITE(mkexpr(t9),
11065 binop(Iop_Add32, mkexpr(t0), mkexpr(t1))));
11066 assign(t3, binop(Iop_Sub64, getAcc(ac), mkexpr(t2)));
11067 putAcc(ac, mkexpr(t3));
11108 IRExpr_ITE(mkexpr(t2),
11109 IRExpr_ITE(mkexpr(t3),
11111 mkexpr(t1)),
11112 mkexpr(t1)));
11114 putDSPControl(IRExpr_ITE(mkexpr(t2),
11115 IRExpr_ITE(mkexpr(t3),
11127 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
11133 unop(Iop_64to32, mkexpr(t5)),
11137 unop(Iop_64HIto32, mkexpr(t5)),
11139 putDSPControl(IRExpr_ITE(mkexpr(t6),
11147 IRExpr_ITE(mkexpr(t6),
11148 mkexpr(t5),
11152 mkexpr(t5)),
11158 putAcc(ac, mkexpr(t7));
11198 IRExpr_ITE(mkexpr(t2),
11199 IRExpr_ITE(mkexpr(t3),
11201 mkexpr(t1)),
11202 mkexpr(t1)));
11204 putDSPControl(IRExpr_ITE(mkexpr(t2),
11205 IRExpr_ITE(mkexpr(t3),
11217 assign(t5, binop(Iop_Add64, mkexpr(t0), mkexpr(t4)));
11223 unop(Iop_64to32, mkexpr(t5)),
11227 unop(Iop_64HIto32, mkexpr(t5)),
11229 putDSPControl(IRExpr_ITE(mkexpr(t6),
11237 IRExpr_ITE(mkexpr(t6),
11238 mkexpr(t5),
11242 mkexpr(t5)),
11248 putAcc(ac, mkexpr(t7));
11272 mkexpr(t0),
11278 mkexpr(t1),
11282 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
11284 putDSPControl(IRExpr_ITE(mkexpr(t3),
11294 mkexpr(t0), mkexpr(t1))));
11295 putAcc(ac, IRExpr_ITE(mkexpr(t3),
11299 mkexpr(t4),
11301 mkexpr(t5)),
11303 mkexpr(t5),
11329 mkexpr(t0),
11335 mkexpr(t1),
11339 assign(t3, binop(Iop_CmpEQ32, mkexpr(t2), mkU32(0x0)));
11341 putDSPControl(IRExpr_ITE(mkexpr(t3),
11351 mkexpr(t0), mkexpr(t1))));
11352 putAcc(ac, IRExpr_ITE(mkexpr(t3),
11356 mkexpr(t4),
11358 mkexpr(t5)),
11360 mkexpr(t5),
11399 IRExpr_ITE(mkexpr(t2),
11400 IRExpr_ITE(mkexpr(t3),
11402 mkexpr(t1)),
11403 mkexpr(t1)));
11405 putDSPControl(IRExpr_ITE(mkexpr(t2),
11406 IRExpr_ITE(mkexpr(t3),
11433 IRExpr_ITE(mkexpr(t6),
11434 IRExpr_ITE(mkexpr(t7),
11436 mkexpr(t5)),
11437 mkexpr(t5)));
11439 putDSPControl(IRExpr_ITE(mkexpr(t6),
11440 IRExpr_ITE(mkexpr(t7),
11452 binop(Iop_Add64, mkexpr(t4), mkexpr(t8)),
11453 mkexpr(t0)));
11454 putAcc(ac, mkexpr(t9));
11491 IRExpr_ITE(mkexpr(t2),
11492 IRExpr_ITE(mkexpr(t3),
11494 mkexpr(t1)),
11495 mkexpr(t1)));
11497 putDSPControl(IRExpr_ITE(mkexpr(t2),
11498 IRExpr_ITE(mkexpr(t3),
11527 IRExpr_ITE(mkexpr(t6),
11528 IRExpr_ITE(mkexpr(t7),
11530 mkexpr(t5)),
11531 mkexpr(t5)));
11533 putDSPControl(IRExpr_ITE(mkexpr(t6),
11534 IRExpr_ITE(mkexpr(t7),
11546 mkexpr(t0),
11547 binop(Iop_Add64, mkexpr(t4), mkexpr(t8))));
11548 putAcc(ac, mkexpr(t9));
11595 mkexpr(t2)),
11597 mkexpr(t3))),
11600 mkexpr(t1)));
11605 mkexpr(t2)),
11607 mkexpr(t3))),
11643 mkexpr(t6)),
11645 mkexpr(t7))),
11648 mkexpr(t5)));
11653 mkexpr(t6)),
11655 mkexpr(t7))),
11667 mkexpr(t0),
11668 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11674 mkexpr(t9)),
11680 mkexpr(t9),
11684 mkexpr(t9)),
11688 mkexpr(t9),
11692 mkexpr(t9))));
11695 mkexpr(t9)),
11706 mkexpr(t9)),
11709 mkexpr(t10),
11761 mkexpr(t2)),
11763 mkexpr(t3))),
11766 mkexpr(t1)));
11771 mkexpr(t2)),
11773 mkexpr(t3))),
11809 mkexpr(t6)),
11811 mkexpr(t7))),
11814 mkexpr(t5)));
11819 mkexpr(t6)),
11821 mkexpr(t7))),
11833 mkexpr(t0),
11834 binop(Iop_Add64, mkexpr(t8), mkexpr(t4))));
11840 mkexpr(t9)),
11846 mkexpr(t9),
11850 mkexpr(t9)),
11854 mkexpr(t9),
11858 mkexpr(t9))));
11861 mkexpr(t9)),
11872 mkexpr(t9)),
11875 mkexpr(t10),
11901 mkexpr(t1),
11908 mkexpr(t1),
11918 mkexpr(t1),
11920 getIReg(rs), mkexpr(t2))));
11936 mkexpr(t1),
11944 mkexpr(t1),
11956 unop(Iop_32to8, mkexpr(t2)))));
11959 mkexpr(t1),
11963 mkexpr(t3)),
11983 unop(Iop_32to8, mkexpr(t1))));
11994 putIReg(rt, binop(Iop_Or32, mkexpr(t2), mkexpr(t3)));
12214 lastn = mkexpr(t0);
12225 lastn = mkexpr(t0);
12235 assign(t1, unop(Iop_64HIto32, mkexpr(t0)));
12236 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
12249 putDReg(fs, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12262 assign(t2, IRExpr_ITE(mkexpr(t1),
12274 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12275 dis_branch(False, mkexpr(t3), imm, &bstmt);
12280 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12281 dis_branch(False, mkexpr(t3), imm, &bstmt);
12285 lastn = dis_branch_likely(binop(Iop_CmpNE32, mkexpr(t2),
12290 lastn = dis_branch_likely(binop(Iop_CmpEQ32, mkexpr(t2),
12447 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12478 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
12548 assign(t4, IRExpr_ITE(mkexpr(t3), mkexpr(t1), mkexpr(t2)));
12555 mkexpr(f))));
12558 unop(Iop_ReinterpF64asI64, mkexpr(t4))), True));
12560 putFReg(fd, unop (Iop_ReinterpI64asF64, mkexpr(t5)));
12563 mkexpr(t4)));
12576 putDReg(fd, IRExpr_ITE(mkexpr(t3), getDReg(fs), getDReg(fd)));
12604 assign(t4, IRExpr_ITE(mkexpr(t3), mkexpr(t1), mkexpr(t2)));
12612 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12614 unop(Iop_ReinterpF64asI64, mkexpr(t4))), True));
12616 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12619 mkexpr(t4)));
12631 putDReg(fd, IRExpr_ITE(mkexpr(t3), getDReg(fs), getDReg(fd)));
12650 assign(t2, IRExpr_ITE(mkexpr(t1),
12661 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12662 assign(t4, IRExpr_ITE(mkexpr(t3),
12664 putDReg(fd, mkexpr(t4));
12685 assign(t2, IRExpr_ITE(mkexpr(t1),
12696 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
12697 assign(t4, IRExpr_ITE(mkexpr(t3),
12698 mkexpr(t5), mkexpr(t6)));
12705 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12707 unop(Iop_ReinterpF64asI64, mkexpr(t4))),
12710 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12713 mkexpr(t4)));
12731 assign(t2, IRExpr_ITE(mkexpr(t1),
12742 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12743 assign(t4, IRExpr_ITE(mkexpr(t3),
12745 putDReg(fd, mkexpr(t4));
12765 assign(t2, IRExpr_ITE(mkexpr(t1),
12776 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
12777 assign(t4, IRExpr_ITE(mkexpr(t3),
12778 mkexpr(t5), mkexpr(t6)));
12786 unop(Iop_ReinterpF64asI64, mkexpr(f))));
12788 unop(Iop_ReinterpF64asI64, mkexpr(t4))),
12791 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t7)));
12794 mkexpr(t4)));
12828 assign(t1, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
12830 putFReg(fs, mkWidenFromF32(tyF, mkexpr(t1)));
12847 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12848 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
12870 assign(t1, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12872 assign(t2, binop(Iop_And32, mkexpr(t0),
12874 assign(t3, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12876 assign(t4, binop(Iop_And32, mkexpr(t0),
12878 putFCSR(binop(Iop_Or32, binop(Iop_Or32, mkexpr(t1),
12879 mkexprmkexpr(t3),
12880 mkexpr(t4))));
12883 assign(t2, binop(Iop_And32, mkexpr(t0),
12886 assign(t4, binop(Iop_And32, mkexpr(t0),
12890 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12891 mkexpr(t3), mkexpr(t4))), mkexpr(t5)));
12894 assign(t2, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
12897 assign(t4, binop(Iop_And32, mkexpr(t0),
12900 assign(t6, binop(Iop_And32, mkexpr(t0),
12903 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
12904 mkexpr(t3), mkexpr(t4))), binop(Iop_Or32,
12905 mkexpr(t5), mkexpr(t6))));
12907 putFCSR(mkexpr(t0));
12928 assign(t2, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12930 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12933 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12934 mkexpr(t3)), False));
12937 assign(t2, binop(Iop_And32, mkexpr(t0),
12939 assign(t3, binop(Iop_And32, mkexpr(t0),
12942 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12943 mkexpr(t3)), False));
12946 assign(t2, binop(Iop_And32, mkexpr(t0),
12948 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
12951 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
12952 mkexpr(t3)), False));
12975 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12977 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
12979 putFReg(fd, unop(Iop_F32toF64, mkexpr(t3)));
12995 assign(t1, unop(Iop_64to32, mkexpr(t0)));
12996 putDReg(fd,unop(Iop_I32StoF64, mkexpr(t1)));
13001 putDReg(fd, unop(Iop_I32StoF64, mkexpr(t0)));
13013 get_IR_roundingmode(), mkexpr(t0)));
13036 assign(t1, unop(Iop_64to32, mkexpr(t0)));
13038 get_IR_roundingmode(), mkexpr(t1))));
13043 mkexpr(t0)));
13053 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t0)));
13063 get_IR_roundingmode(), mkexpr(t0))));
13091 assign(t1, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13092 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
13112 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
13146 putDReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
13180 assign(t1, unop(Iop_64to32, mkexpr(t0)));
13182 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
13185 mkexpr(t3)));
13187 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
13201 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
13208 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13230 assign(t1, unop(Iop_64to32, mkexpr(t0)));
13232 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
13235 mkexpr(t3)));
13237 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
13251 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
13259 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13281 assign(t1, unop(Iop_64to32, mkexpr(t0)));
13283 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
13286 mkexpr(t3)));
13288 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
13303 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
13310 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13332 assign(t1, unop(Iop_64to32, mkexpr(t0)));
13334 assign(t3, unop(Iop_ReinterpI32asF32, mkexpr(t1)));
13337 mkexpr(t3)));
13339 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t4)));
13352 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
13358 unop(Iop_ReinterpI32asF32, mkexpr(t0))));
13378 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t0)));
13448 putIReg(rt, mkexpr(val));
13460 putDReg(rt, mkexpr(val));
13482 assign(t1, load(Ity_F32, mkexpr(t0)));
13484 mkexpr(t1)), True));
13485 putDReg(ft, unop(Iop_ReinterpI64asF64, mkexpr(t2)));
13490 putFReg(ft, load(Ity_F32, mkexpr(t0)));
13501 assign(t2, unop(Iop_64to32, mkexpr(t0)));
13502 store(mkexpr(t1), unop(Iop_ReinterpI32asF32, mkexpr(t2)));
13505 store(mkexpr(t1), getFReg(ft));
13517 putDReg(ft, load(Ity_F64, mkexpr(t1)));
13524 store(mkexpr(t1), getDReg(ft));
13530 putIReg(rt, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)), True));
13537 putIReg(rt, unop(Iop_8Sto64, load(Ity_I8, mkexpr(t1))));
13539 putIReg(rt, unop(Iop_8Sto32, load(Ity_I8, mkexpr(t1))));
13546 putIReg(rt, unop(Iop_8Uto64, load(Ity_I8, mkexpr(t1))));
13548 putIReg(rt, unop(Iop_8Uto32, load(Ity_I8, mkexpr(t1))));
13555 putIReg(rt, unop(Iop_16Sto64, load(Ity_I16, mkexpr(t1))));
13557 putIReg(rt, unop(Iop_16Sto32, load(Ity_I16, mkexpr(t1))));
13564 putIReg(rt, unop(Iop_16Uto64, load(Ity_I16, mkexpr(t1))));
13566 putIReg(rt, unop(Iop_16Uto32, load(Ity_I16, mkexpr(t1))));
13593 assign(t3, load(Ity_F32, mkexpr(t2)));
13596 mkexpr(t3)), True));
13598 putFReg(fd, unop(Iop_ReinterpI64asF64, mkexpr(t4)));
13602 putFReg(fd, load(Ity_F32, mkexpr(t0)));
13615 putFReg(fd, load(Ity_F64, mkexpr(t0)));
13622 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13625 putFReg(fd, load(Ity_F32, mkexpr(t0)));
13626 putFReg(fd + 1, load(Ity_F32, mkexpr(t1)));
13628 putFReg(fd + 1, load(Ity_F32, mkexpr(t0)));
13629 putFReg(fd, load(Ity_F32, mkexpr(t1)));
13641 assign(t1, binop(Iop_And64, mkexpr(t0),
13643 putFReg(fd, load(Ity_F64, mkexpr(t1)));
13652 store(mkexpr(t0), getLoFromF64(tyF, getFReg(fs)));
13658 store(mkexpr(t0), getFReg(fs));
13668 store(mkexpr(t0), getFReg(fs));
13674 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
13677 store(mkexpr(t0), getFReg(fs));
13678 store(mkexpr(t1), getFReg(fs + 1));
13680 store(mkexpr(t0), getFReg(fs + 1));
13681 store(mkexpr(t1), getFReg(fs));
13692 assign(t1, binop(Iop_And64, mkexpr(t0), mkU64(0xfffffffffffffff8ULL)));
13693 store(mkexpr(t1), getFReg(fs));
13708 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
13726 putFReg(fd, mkWidenFromF32(tyF, mkexpr(t1)));
13745 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t1))));
13754 putDReg(fd, unop(Iop_NegF64, mkexpr(t1)));
13766 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t1))));
13775 putDReg(fd, unop(Iop_NegF64, mkexpr(t1)));
13805 load(Ity_I32, mkexpr(t2)),
13810 mkexpr(t4)),
13821 mkexpr(t4))))));
13823 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13824 mkexpr(t3)), True));
13841 assign(t3, binop(Iop_Shl32, load(Ity_I32, mkexpr(t2)), narrowTo(Ity_I8,
13842 binop(Iop_Shl32, binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)),
13853 mkexpr(t4))))));
13855 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13880 load(Ity_I32, mkexpr(t2)),
13882 binop(Iop_Shl32, mkexpr(t4), mkU8(0x03)))));
13888 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13890 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t5),
13891 mkexpr(t3)), True));
13909 assign(t3, binop(Iop_Shr32, load(Ity_I32, mkexpr(t2)),
13910 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4),
13917 binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
13919 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
13926 store(mkexpr(t1), mkNarrowTo32(ty, getIReg(rt)));
13970 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFF8ULL)));
13974 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x7)));
13978 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x1)),
13982 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x2)),
13986 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x3)),
13990 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x4)),
13994 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x5)),
13998 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
14003 store(mkexpr(t2), mkexpr(H_byte));
14004 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14005 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14006 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
14007 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
14008 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
14009 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
14010 store(mkexpr(t1), mkexpr(A_byte));
14014 assign(B_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
14018 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x6)),
14022 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x5)),
14026 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x4)),
14030 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkexpr(t3), mkU64(0x3)),
14034 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14039 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x7)), mkexpr(H_byte));
14040 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14041 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14042 store(binop(Iop_Add64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
14043 store(binop(Iop_Add64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
14044 store(binop(Iop_Add64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
14045 store(binop(Iop_Add64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
14046 store(mkexpr(t1), mkexpr(A_byte));
14094 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFF8ULL)));
14098 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x7)));
14102 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x1), mkexpr(t3)),
14106 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x2), mkexpr(t3)),
14110 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x3), mkexpr(t3)),
14114 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x4), mkexpr(t3)),
14118 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x5), mkexpr(t3)),
14122 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x7)),
14127 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x7)), mkexpr(A_byte));
14128 store(binop(Iop_Add64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
14129 mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
14130 store(binop(Iop_Add64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
14131 store(binop(Iop_Add64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
14132 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14133 store(binop(Iop_Add64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14134 store(mkexpr(t1), mkexpr(H_byte));
14138 assign(B_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x5), mkexpr(t3)),
14142 assign(C_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x4), mkexpr(t3)),
14146 assign(D_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x3), mkexpr(t3)),
14150 assign(E_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x2), mkexpr(t3)),
14154 assign(F_pos, IRExpr_ITE(binop(Iop_CmpLT64U, mkU64(0x1), mkexpr(t3)),
14158 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14163 store(mkexpr(t2), mkexpr(A_byte));
14164 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(B_pos)), mkexpr(B_byte));
14165 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(C_pos)), mkexpr(C_byte));
14166 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(D_pos)), mkexpr(D_byte));
14167 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(E_pos)), mkexpr(E_byte));
14168 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14169 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14170 store(mkexpr(t1), mkexpr(H_byte));
14178 store(mkexpr(t1), narrowTo(Ity_I8, getIReg(rt)));
14184 store(mkexpr(t1), narrowTo(Ity_I16, getIReg(rt)));
14212 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL)));
14216 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x3)));
14220 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14224 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14229 store(mkexpr(t2), mkexpr(H_byte));
14230 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14231 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14232 store(mkexpr(t1), mkexpr(E_byte));
14236 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14240 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14244 store(binop(Iop_Add64, mkexpr(t2), mkU64(3)), mkexpr(H_byte));
14245 store(binop(Iop_Add64, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14246 store(binop(Iop_Add64, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14247 store(mkexpr(t1), mkexpr(E_byte));
14273 assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFCULL)));
14277 assign(t3, binop(Iop_And32, mkexpr(t1), mkU32(0x3)));
14281 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14285 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14290 store(mkexpr(t2), mkexpr(H_byte));
14291 store(binop(Iop_Add32, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14292 store(binop(Iop_Sub32, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14293 store(mkexpr(t1), mkexpr(E_byte));
14297 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14301 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14305 store(binop(Iop_Add32, mkexpr(t2), mkU32(3)), mkexpr(H_byte));
14306 store(binop(Iop_Add32, mkexpr(t2), mkexpr(G_pos)), mkexpr(G_byte));
14307 store(binop(Iop_Add32, mkexpr(t1), mkexpr(F_pos)), mkexpr(F_byte));
14308 store(mkexpr(t1), mkexpr(E_byte));
14339 assign(t2, binop(Iop_And64, mkexpr(t1), mkU64(0xFFFFFFFFFFFFFFFCULL)));
14343 assign(t3, binop(Iop_And64, mkexpr(t1), mkU64(0x3)));
14347 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14351 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14356 store(binop(Iop_Add64, mkexpr(t2), mkU64(0x3)), mkexpr(E_byte));
14357 store(binop(Iop_Add64, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14358 store(binop(Iop_Add64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14359 store(mkexpr(t1), mkexpr(H_byte));
14363 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x3)),
14367 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ64, mkexpr(t3), mkU64(0x0)),
14372 store(mkexpr(t2), mkexpr(E_byte));
14373 store(binop(Iop_Add64, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14374 store(binop(Iop_Sub64, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14375 store(mkexpr(t1), mkexpr(H_byte));
14400 assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFCULL)));
14404 assign(t3, binop(Iop_And32, mkexpr(t1), mkU32(0x3)));
14408 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14412 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14417 store(binop(Iop_Add32, mkexpr(t2), mkU32(0x3)), mkexpr(E_byte));
14418 store(binop(Iop_Add32, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14419 store(binop(Iop_Add32, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14420 store(mkexpr(t1), mkexpr(H_byte));
14424 assign(F_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x3)),
14428 assign(G_pos, IRExpr_ITE(binop(Iop_CmpEQ32, mkexpr(t3), mkU32(0x0)),
14433 store(mkexpr(t2), mkexpr(E_byte));
14434 store(binop(Iop_Add32, mkexpr(t2), mkexpr(F_pos)), mkexpr(F_byte));
14435 store(binop(Iop_Sub32, mkexpr(t1), mkexpr(G_pos)), mkexpr(G_byte));
14436 store(mkexpr(t1), mkexpr(H_byte));
14471 mkexpr(tmpRs32), mkexpr(tmpRt32)));
14472 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpRes), True));
14494 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14495 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14497 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14498 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14525 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14526 mkexpr(t3))));
14528 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14529 unop(Iop_64to32, mkexpr(t3)))));
14530 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14532 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14533 mkexpr(t3))));
14534 putLO(mkexpr(t4));
14557 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14558 assign(t5, binop(Iop_Add64, mkexpr(t3), mkexpr(t4)));
14560 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14561 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14588 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
14589 mkexpr(t3))));
14590 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
14591 unop(Iop_64to32, mkexpr(t3)))));
14592 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
14594 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32,
14595 mkexpr(t3))));
14596 putLO(mkexpr(t4));
14619 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14620 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14622 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14623 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14649 assign(t4, unop(Iop_64to32, mkexpr(t3))); /* new lo */
14653 mkexpr(t2),
14654 mkexpr(t4)));
14656 assign(t6, IRExpr_ITE(mkexpr(t5),
14657 binop(Iop_Sub32, mkexpr(t1), mkU32(0x1)),
14658 mkexpr(t1)));
14660 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14661 mkexpr(t3))));
14662 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14685 assign(t4, binop(Iop_32HLto64, mkexpr(t1), mkexpr(t2)));
14686 assign(t5, binop(Iop_Sub64, mkexpr(t4), mkexpr(t3)));
14688 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t5)), True));
14689 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t5)), True));
14715 assign(t4, unop(Iop_64to32, mkexpr(t3))); /* new lo */
14719 mkexpr(t2),
14720 mkexpr(t4)));
14722 assign(t6, IRExpr_ITE(mkexpr(t5),
14724 mkexpr(t1),
14726 mkexpr(t1)));
14728 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32,
14729 mkexpr(t3))));
14730 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
14743 putIReg(rd, unop(Iop_128to64, mkexpr(t0)));
14761 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
14764 store(getIReg(rs), binop(Iop_Add32, mkexpr(t0), mkexpr(t1)));
14777 putIReg(rt, mkexpr(t1));
14780 store(getIReg(rs), binop(Iop_Add64, mkexpr(t0), mkexpr(t1)));
14789 putIReg(rt, mkWidenFrom32(ty, mkexpr(t1), True));
14790 store(getIReg(rs), mkexpr(t0));
14799 putIReg(rt, mkexpr(t1));
14800 store(getIReg(rs), mkexpr(t0));
14810 assign(tmpClz32, unop(Iop_Clz32, mkexpr(tmpRs32)));
14811 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpClz32), True));
14815 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14830 assign(t1, binop(Iop_CmpEQ32, mkexpr(tmpRs32), mkU32(0xffffffff)));
14831 assign(tmpClo32, IRExpr_ITE(mkexpr(t1),
14833 unop(Iop_Clz32, unop(Iop_Not32, mkexpr(tmpRs32)))));
14835 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpClo32), True));
14840 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14852 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14862 putIReg(rd, IRExpr_ITE(mkexpr(t1),
14889 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14911 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
14943 assign(t1, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
14944 assign(tmpT1, binop(Iop_Shr64, mkexpr(t1), mkU8(1)));
14945 assign(t2, binop(Iop_Shl64, mkexpr(tmpT1), mkU8(lsAmt)));
14946 assign(tmpT2, binop(Iop_Shl64, mkexpr(t2), mkU8(1)));
14951 assign(t3, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
14952 assign(tmpT3, binop(Iop_Shl64, mkexpr(t3), mkU8(1)));
14953 assign(t4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(rsAmt)));
14954 assign(tmpT4, binop(Iop_Shr64, mkexpr(t4), mkU8(1)));
14960 assign(tmpT5, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
14961 assign(tmpT6, binop(Iop_Shr64, mkexpr(tmpT5), mkU8(rsAmt)));
14963 assign(tmpT7, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT4)));
14964 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT6), mkexpr(tmpT7)));
14965 putIReg(rt, mkexpr(tmpRd));
14994 assign(tmpT1, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
14995 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(rsAmt)));
14999 assign(tmpT3, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
15000 assign(tmpT4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(rsAmt)));
15004 assign(tmpT5, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
15005 assign(tmpT6, binop(Iop_Shr64, mkexpr(tmpT5), mkU8(lsAmt)));
15007 assign(tmpT7, binop(Iop_Shl64, mkexpr(tmpT6), mkU8(rsAmt)));
15008 assign(tmpT8, binop(Iop_Shl64, mkexpr(tmpT7), mkU8(lsAmt)));
15010 assign(tmpT9, binop(Iop_Or64, mkexpr(tmpT8), mkexpr(tmpT4)));
15011 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT9)));
15012 putIReg(rt, mkexpr(tmpRd));
15042 assign(tmp, binop(Iop_Shl64, mkexpr(tmpRt), mkU8(lsAmt)));
15043 assign(tmpT1, binop(Iop_Shl64, mkexpr(tmp), mkU8(1)));
15044 assign(tmp1, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(rsAmt)));
15045 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmp1), mkU8(1)));
15049 assign(tmpT3, binop(Iop_Shr64, mkexpr(tmpRt), mkU8(rsAmt)));
15050 assign(tmpT4, binop(Iop_Shr64, mkexpr(tmpT3), mkU8(lsAmt)));
15051 assign(tmpT5, binop(Iop_Shl64, mkexpr(tmpT4), mkU8(rsAmt)));
15052 assign(tmpT6, binop(Iop_Shl64, mkexpr(tmpT5), mkU8(lsAmt)));
15056 assign(tmpT7, binop(Iop_Shl64, mkexpr(tmpRs), mkU8(lsAmt)));
15057 assign(tmpT8, binop(Iop_Shr64, mkexpr(tmpT7), mkU8(rsAmt)));
15059 assign(tmpT9, binop(Iop_Or64, mkexpr(tmpT2), mkexpr(tmpT8)));
15060 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT6), mkexpr(tmpT9)));
15061 putIReg(rt, mkexpr(tmpRd));
15082 assign(tmpT1, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT5)));
15083 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(8)));
15084 assign(tmpT3, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT6)));
15085 assign(tmpT4, binop(Iop_Shl64, mkexpr(tmpT3), mkU8(8)));
15086 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT4), mkexpr(tmpT2)));
15087 putIReg(rd, mkexpr(tmpRd));
15103 assign(tmpT1, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT5)));
15104 assign(tmpT2, binop(Iop_Shr64, mkexpr(tmpT1), mkU8(16)));
15105 assign(tmpT3, binop(Iop_And64, mkexpr(tmpRt), mkexpr(tmpT6)));
15106 assign(tmpT4, binop(Iop_Shl64, mkexpr(tmpT3), mkU8(16)));
15107 assign(tmpT7, binop(Iop_Or64, mkexpr(tmpT4), mkexpr(tmpT2)));
15108 assign(tmpT8, binop(Iop_Shl64, mkexpr(tmpT7), mkU8(32)));
15109 assign(tmpT9, binop(Iop_Shr64, mkexpr(tmpT7), mkU8(32)));
15110 assign(tmpRd, binop(Iop_Or64, mkexpr(tmpT8), mkexpr(tmpT9)));
15111 putIReg(rd, mkexpr(tmpRd));
15137 putIReg(rt, mkexpr(val));
15147 putIReg(rt, mkexpr(val));
15172 assign(t1, binop(Iop_Shr32, mkexpr(t0), mkU8(32 - size - lsb)));
15179 assign(t3, binop(Iop_Shr32, mkexpr(t2), mkU8(32 - lsb)));
15189 assign(t5, binop(Iop_Shl32, mkexpr(t4), mkU8(msb + 1)));
15194 assign(t6, binop(Iop_Or32, mkexpr(t5), mkexpr(t1)));
15195 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t6),
15196 mkexpr(t3)), True));
15198 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
15199 mkexpr(t5)), True));
15202 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Or32, mkexpr(t1),
15203 mkexpr(t3)), True));
15220 putIReg(rt, mkWidenFrom32(ty, binop(Iop_Shr32, mkexpr(t0),
15243 putIReg(rt, binop(Iop_Shr64, mkexpr(t1), mkU8(rsAmt)));
15265 mkexpr(t0), mkexpr(t1)),
15266 binop(Iop_Or32, mkexpr(t2),
15267 mkexpr(t3))), True));
15521 assign(t2, IRExpr_ITE(mkexpr(t1),
15531 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
15532 putIReg(rd, IRExpr_ITE(mkexpr(t3), getIReg(rs), getIReg(rd)));
15540 assign(t2, IRExpr_ITE(mkexpr(t1),
15550 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
15551 putIReg(rd, IRExpr_ITE(mkexpr(t3), getIReg(rs), getIReg(rd)));
15565 mkexpr(t1)), binop(Iop_And64, getIReg(rd),mkexpr(t2))));
15572 mkexpr(t1)), binop(Iop_And32, getIReg(rd),
15573 mkexpr(t2))));
15588 mkexpr(t2)), binop(Iop_And64, getIReg(rd),
15589 mkexpr(t1))));
15596 mkexpr(t2)), binop(Iop_And32, getIReg(rd),
15597 mkexpr(t1))));
15621 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15622 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15645 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15646 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15670 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15671 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32), mkexpr(tmpRt32)));
15674 binop(Iop_And32, mkexpr(t1), mkU32(0x80000000)),
15677 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15680 binop(Iop_And32, mkexpr(t3), mkU32(0x80000000)),
15684 binop(Iop_Or32, mkexpr(t2), mkexpr(t4)),
15691 putIReg(rd, mkWidenFrom32(ty, mkexpr(t0), True));
15702 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15703 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15709 assign(t2, binop(Iop_DivModS64to32, mkexpr(t1), getIReg(rt)));
15711 putHI(unop(Iop_64HIto32, mkexpr(t2)));
15712 putLO(unop(Iop_64to32, mkexpr(t2)));
15724 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
15725 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
15730 assign(t2, binop(Iop_DivModU64to32, mkexpr(t1), getIReg(rt)));
15731 putHI(unop(Iop_64HIto32, mkexpr(t2)));
15732 putLO(unop(Iop_64to32, mkexpr(t2)));
15742 putHI(unop(Iop_128HIto64, mkexpr(t0)));
15743 putLO(unop(Iop_128to64, mkexpr(t0)));
15752 putHI(unop(Iop_128HIto64, mkexpr(t0)));
15753 putLO(unop(Iop_128to64, mkexpr(t0)));
15762 putHI(unop(Iop_128HIto64, mkexpr(t1)));
15763 putLO(unop(Iop_128to64, mkexpr(t1)));
15773 assign(t2, binop(Iop_DivModU128to64, mkexpr(t1), getIReg(rt)));
15775 putHI(unop(Iop_128HIto64, mkexpr(t2)));
15776 putLO(unop(Iop_128to64, mkexpr(t2)));
15868 assign(t5, binop(Iop_Mul32, mkexpr(tmpRt32), mkU32(-1)));
15869 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32), mkexpr(t5)));
15870 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32), mkexpr(t5)));
15872 mkexpr(t1), mkU32(0x80000000)), mkU32(0x80000000))));
15874 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
15876 mkexpr(t3), mkU32(0x80000000)), mkU32(0x80000000))));
15878 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
15879 mkexpr(t4)), mkU32(0)), Ijk_SigFPE_IntOvf,
15884 putIReg(rd, mkWidenFrom32(ty, mkexpr(t0), True));
15937 lastn = mkexpr(t0);
15946 lastn = mkexpr(t0);
15951 lastn = mkexpr(t0);
15992 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkU8(sa)));
15993 assign(tmpRd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
15994 putIReg(rd, mkexpr(tmpRd));
16009 assign(tmpRs8, mkNarrowTo8(ty, mkexpr(tmp)));
16011 assign(tmpSh32, binop(Iop_Shl32, mkexpr(tmpRt32), mkexpr(tmpRs8)));
16012 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
16032 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkU8(sa)));
16035 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkU8(sa)));
16037 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
16060 assign(t2, binop(Iop_Sar64, mkexpr(t1), mkexpr(t4)));
16063 assign(tmpSh32, binop(Iop_Sar32, mkexpr(tmpRt32), mkexpr(t4)));
16065 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
16084 assign(tmpSh32, binop(Iop_Shr32, mkexpr(tmpRt32), mkU8(sa)));
16085 putIReg(rd, mkWidenFrom32(ty, mkexpr(tmpSh32), True));
16416 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16417 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(tmpRt64)));
16420 binop(Iop_And64, mkexpr(t1),
16424 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16427 binop(Iop_And64, mkexpr(t3),
16432 binop(Iop_Or64, mkexpr(t2), mkexpr(t4)),
16438 putIReg(rd, mkexpr(t0));
16468 mkexpr(tmpRt64),
16470 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64), mkexpr(t5)));
16471 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64), mkexpr(t5)));
16475 mkexpr(t1),
16479 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16483 mkexpr(t3),
16487 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16488 mkexpr(t4)), mkU64(0)), Ijk_SigFPE_IntOvf,
16715 dis_branch(False, unop(Iop_Not1, binop(Iop_CmpLT32U, mkexpr(t0),
16814 assign(t0, binop(Iop_Add32, mkexpr(tmpRs32),
16816 assign(t1, binop(Iop_Xor32, mkexpr(tmpRs32),
16819 mkexpr(t1), mkU32(0x80000000)), mkU32(0x80000000))));
16821 assign(t3, binop(Iop_Xor32, mkexpr(t0), mkexpr(tmpRs32)));
16823 mkexpr(t3), mkU32(0x80000000)), mkU32(0x80000000))));
16825 stmt(IRStmt_Exit(binop(Iop_CmpEQ32, binop(Iop_Or32, mkexpr(t2),
16826 mkexpr(t4)), mkU32(0)), Ijk_SigFPE_IntOvf,
16831 putIReg(rt, mkWidenFrom32(ty, mkexpr(t0), True));
16908 assign(t0, binop(Iop_Add64, mkexpr(tmpRs64),
16910 assign(t1, binop(Iop_Xor64, mkexpr(tmpRs64),
16913 mkexpr(t1), mkU64(0x8000000000000000ULL)),
16916 assign(t3, binop(Iop_Xor64, mkexpr(t0), mkexpr(tmpRs64)));
16918 mkexpr(t3), mkU64(0x8000000000000000ULL)),
16921 stmt(IRStmt_Exit(binop(Iop_CmpEQ64, binop(Iop_Or64, mkexpr(t2),
16922 mkexpr(t4)), mkU64(0)), Ijk_SigFPE_IntOvf,
16926 putIReg(rt, mkexpr(t0));
16954 assign(t3, binop(Iop_Shl64, load(Ity_I64, mkexpr(t2)),
16956 mkexpr(t4)), mkU8(3)))));
16963 assign(t5, binop(Iop_Mul64, mkexpr(t4), mkU64(0x8)));
16966 narrowTo(Ity_I8, mkexpr(t5))));
16968 assign(t7, binop(Iop_And64, getIReg(rt), mkexpr(t6)));
16970 putIReg(rt, binop(Iop_Or64, mkexpr(t7), mkexpr(t3)));
16993 assign(t3, binop(Iop_Shr64, load(Ity_I64, mkexpr(t2)),
16994 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(3)))));
17000 narrowTo(Ity_I8, binop(Iop_Shl64, mkexpr(t4), mkU8(0x3)))))));
17002 putIReg(rt, binop(Iop_Or64, mkexpr(t5), mkexpr(t3)));
17010 putIReg(rt, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)), False));
17019 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), NULL /* this is a load */ ));
17021 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), NULL /* this is a load */ ));
17024 putIReg(rt, unop(Iop_32Sto64, mkexpr(t2)));
17026 putIReg(rt, mkexpr(t2));
17036 (Iend_LE, t2, mkexpr(t1), NULL /* this is a load */ ));
17039 (Iend_BE, t2, mkexpr(t1), NULL /* this is a load */ ));
17042 putIReg(rt, mkexpr(t2));
17051 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), mkNarrowTo32(ty, getIReg(rt))));
17053 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), mkNarrowTo32(ty, getIReg(rt))));
17056 putIReg(rt, unop(mode64 ? Iop_1Uto64 : Iop_1Uto32, mkexpr(t2)));
17065 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), getIReg(rt)));
17067 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), getIReg(rt)));
17070 putIReg(rt, unop(Iop_1Uto64, mkexpr(t2)));
17076 putIReg(rt, load(Ity_I64, mkexpr(t1)));
17082 store(mkexpr(t1), getIReg(rt));
17092 assign(t1, binop(Iop_Shl32, mkexpr(t0), mkU8(rt)));
17095 mkexpr(t1),
17113 assign(t2, binop(Iop_Shl64, mkexpr(t0), mkexpr(t1)));
17116 mkexpr(t2),
17132 assign(t1, binop(Iop_Shl32, mkexpr(t0), mkU8(rt)));
17135 mkexpr(t1),
17153 assign(t2, binop(Iop_Shl64, mkexpr(t0), mkexpr(t1)));
17156 mkexpr(t2),