Home | History | Annotate | Download | only in priv

Lines Matching refs:mkexpr

292    assign(t2, binop(Iop_And32, mkexpr(t1), mkU32(0xFFFFFFFC))); \
294 assign(t4, binop(Iop_And32, mkexpr(t1), mkU32(0x00000003)))
595 static IRExpr *mkexpr(IRTemp tmp)
669 assign(t1, binop(Iop_Sub8, mkU8(32), mkexpr(t0)));
670 return binop(Iop_Or32, binop(Iop_Shl32, src, mkexpr(t1)),
671 binop(Iop_Shr32, src, mkexpr(t0)));
816 assign(t1, unop(Iop_64to32, mkexpr(t0)));
817 return unop(Iop_ReinterpI32asF32, mkexpr(t1));
843 stmt(IRStmt_Exit(mkexpr(t0), Ijk_Boring,
870 *set = IRStmt_Exit(mkexpr(t0), link ? Ijk_Call : Ijk_Boring,
895 assign(t3, unop(Iop_ReinterpF32asI32, mkexpr(t0)));
896 assign(t4, unop(Iop_ReinterpF32asI32, mkexpr(t1)));
897 assign(t5, binop(Iop_32HLto64, mkexpr(t4), mkexpr(t3)));
898 assign(t2, unop(Iop_ReinterpI64asF64, mkexpr(t5)));
900 return mkexpr(t2);
920 assign(t6, unop(Iop_ReinterpF64asI64, mkexpr(t1)));
921 assign(t4, unop(Iop_64HIto32, mkexpr(t6))); // hi
922 assign(t5, unop(Iop_64to32, mkexpr(t6))); //lo
923 putFReg(dregNo, unop(Iop_ReinterpI32asF32, mkexpr(t5)));
924 putFReg(dregNo + 1, unop(Iop_ReinterpI32asF32, mkexpr(t4)));
959 return binop(Iop_Xor32, mkexpr(rm_MIPS), binop(Iop_And32,
960 binop(Iop_Shl32, mkexpr(rm_MIPS), mkU8(1)), mkU32(2)));
1003 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))), mkU32(2)),
1004 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1005 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1007 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1))); // UN
1008 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1011 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1))); // NGT
1012 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1021 setFPUCondCode(mkexpr(t0), fpc_cc);
1024 setFPUCondCode(mkexpr(t1), fpc_cc);
1027 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1031 setFPUCondCode(mkexpr(t3), fpc_cc);
1034 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1038 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1042 setFPUCondCode(mkexpr(t2), fpc_cc);
1048 setFPUCondCode(mkexpr(t0), fpc_cc);
1051 setFPUCondCode(mkexpr(t1), fpc_cc);
1054 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1058 setFPUCondCode(mkexpr(t3), fpc_cc);
1061 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1065 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1069 setFPUCondCode(mkexpr(t2), fpc_cc);
1099 binop(Iop_Shr32, mkexpr(ccIR), mkU8(5))), mkU32(2)),
1100 binop(Iop_And32, binop(Iop_Xor32, mkexpr(ccIR),
1101 binop(Iop_Shr32, mkexpr(ccIR), mkU8(6))),
1104 assign(t0, binop(Iop_And32, mkexpr(ccMIPS), mkU32(0x1))); // UN
1105 assign(t1, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1108 mkexpr(ccMIPS), mkU8(0x2))), mkU32(0x1))); // NGT
1109 assign(t3, binop(Iop_And32, binop(Iop_Shr32, mkexpr(ccMIPS),
1118 setFPUCondCode(mkexpr(t0), fpc_cc);
1121 setFPUCondCode(mkexpr(t1), fpc_cc);
1124 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1128 setFPUCondCode(mkexpr(t3), fpc_cc);
1131 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1135 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1139 setFPUCondCode(mkexpr(t2), fpc_cc);
1145 setFPUCondCode(mkexpr(t0), fpc_cc);
1148 setFPUCondCode(mkexpr(t1), fpc_cc);
1151 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t1)),
1155 setFPUCondCode(mkexpr(t3), fpc_cc);
1158 setFPUCondCode(binop(Iop_Or32, mkexpr(t0), mkexpr(t3)),
1162 setFPUCondCode(binop(Iop_Or32, mkexpr(t3), mkexpr(t1)),
1166 setFPUCondCode(mkexpr(t2), fpc_cc);
1333 lastn = mkexpr(t0);
1340 lastn = mkexpr(t0);
1358 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
1367 assign(t3, binop(Iop_CmpEQ32, mkU32(1), mkexpr(t2)));
1368 dis_branch(False, mkexpr(t3), imm, &bstmt);
1373 assign(t3, binop(Iop_CmpEQ32, mkU32(0), mkexpr(t2)));
1374 dis_branch(False, mkexpr(t3), imm, &bstmt);
1378 lastn = dis_branch_likely(binop(Iop_CmpNE32, mkexpr(t2),
1383 lastn = dis_branch_likely(binop(Iop_CmpEQ32, mkexpr(t2),
1577 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1578 mkexpr(t2), mkexpr(t1)));
1581 mkexpr(t4)));
1591 putDReg(fd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1613 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1614 mkexpr(t2), mkexpr(t1)));
1617 mkexpr(t4)));
1628 putDReg(fd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1650 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
1657 mkexpr(t2))));
1658 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1660 putDReg(fd, mkexpr(t4));
1677 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
1685 mkexpr(t2))));
1686 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1687 mkexpr(t5), mkexpr(t6)));
1690 mkexpr(t4)));
1709 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
1716 mkexpr(t2))));
1717 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1719 putDReg(fd, mkexpr(t4));
1736 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
1743 mkexpr(t2))));
1744 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
1745 mkexpr(t6), mkexpr(t5)));
1747 mkexpr(t4)));
1798 assign(t1, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
1800 assign(t2, binop(Iop_And32, mkexpr(t0),
1802 assign(t3, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
1804 assign(t4, binop(Iop_And32, mkexpr(t0),
1806 putFCSR(binop(Iop_Or32, binop(Iop_Or32, mkexpr(t1),
1807 mkexpr(t2)), binop(Iop_Or32, mkexpr(t3),
1808 mkexpr(t4))));
1811 assign(t2, binop(Iop_And32, mkexpr(t0),
1814 assign(t4, binop(Iop_And32, mkexpr(t0),
1818 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
1819 mkexpr(t3), mkexpr(t4))), mkexpr(t5)));
1822 assign(t2, binop(Iop_Shl32, binop(Iop_And32, mkexpr(t0),
1825 assign(t4, binop(Iop_And32, mkexpr(t0),
1828 assign(t6, binop(Iop_And32, mkexpr(t0),
1831 mkexpr(t1), mkexpr(t2)), binop(Iop_Or32,
1832 mkexpr(t3), mkexpr(t4))), binop(Iop_Or32,
1833 mkexpr(t5), mkexpr(t6))));
1835 putFCSR(mkexpr(t0));
1856 assign(t2, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
1858 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
1861 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
1862 mkexpr(t3)), False));
1865 assign(t2, binop(Iop_And32, mkexpr(t0),
1867 assign(t3, binop(Iop_And32, mkexpr(t0),
1870 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
1871 mkexpr(t3)), False));
1874 assign(t2, binop(Iop_And32, mkexpr(t0),
1876 assign(t3, binop(Iop_Shr32, binop(Iop_And32, mkexpr(t0),
1879 binop(Iop_Or32, mkexpr(t1), mkexpr(t2)),
1880 mkexpr(t3)), False));
1902 putDReg(fd, unop(Iop_I32StoF64, mkexpr(t0)));
1918 mkexpr(t0)));
1948 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
1988 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
2011 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
2034 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
2056 putFReg(fd, unop(Iop_ReinterpI32asF32, mkexpr(t0)));
2132 putIReg(rt, mkexpr(val));
2139 putFReg(ft, load(Ity_F32, mkexpr(t1)));
2146 store(mkexpr(t1), getFReg(ft));
2163 putFReg(ft, load(Ity_F32, mkexpr(t1)));
2164 putFReg(ft + 1, load(Ity_F32, mkexpr(t2)));
2166 putFReg(ft + 1, load(Ity_F32, mkexpr(t1)));
2167 putFReg(ft, load(Ity_F32, mkexpr(t2)));
2181 store(mkexpr(t1), getFReg(ft));
2182 store(mkexpr(t2), getFReg(ft + 1));
2184 store(mkexpr(t1), getFReg(ft + 1));
2185 store(mkexpr(t2), getFReg(ft));
2193 putIReg(rt, mkWidenFrom32(ty, load(Ity_I32, mkexpr(t1)), True));
2199 putIReg(rt, unop(Iop_8Sto32, load(Ity_I8, mkexpr(t1))));
2205 putIReg(rt, unop(Iop_8Uto32, load(Ity_I8, mkexpr(t1))));
2211 putIReg(rt, unop(Iop_16Sto32, load(Ity_I16, mkexpr(t1))));
2217 putIReg(rt, unop(Iop_16Uto32, load(Ity_I16, mkexpr(t1))));
2235 putFReg(fd, load(Ity_F32, mkexpr(t0)));
2245 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
2248 putFReg(fd, load(Ity_F32, mkexpr(t0)));
2249 putFReg(fd + 1, load(Ity_F32, mkexpr(t1)));
2251 putFReg(fd + 1, load(Ity_F32, mkexpr(t0)));
2252 putFReg(fd, load(Ity_F32, mkexpr(t1)));
2264 assign(t1, binop(Iop_And64, mkexpr(t0), mkU64(0xfffffffffffffff8ULL)));
2265 putFReg(fd, load(Ity_F64, mkexpr(t1)));
2273 store(mkexpr(t0), getFReg(fs));
2284 assign(t1, binop(Iop_Add32, mkexpr(t0), mkU32(4)));
2287 store(mkexpr(t0), getFReg(fs));
2288 store(mkexpr(t1), getFReg(fs + 1));
2290 store(mkexpr(t0), getFReg(fs + 1));
2291 store(mkexpr(t1), getFReg(fs));
2308 putFReg(fd, mkWidenFromF32(tyF, triop(Iop_AddF32, rm, mkexpr(t1),
2318 putDReg(fd, triop(Iop_AddF64, rm, mkexpr(t1), getDReg(fmt)));
2329 mkexpr(t1), getLoFromF64(tyF, getFReg(fmt)))));
2338 putDReg(fd, triop(Iop_SubF64, rm, mkexpr(t1), getDReg(fmt)));
2349 assign(t2, triop(Iop_AddF32, rm, mkexpr(t1),
2352 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t2))));
2362 assign(t2, triop(Iop_AddF64, rm, mkexpr(t1), getDReg(fmt)));
2363 putDReg(fd, unop(Iop_NegF64, mkexpr(t2)));
2374 assign(t2, triop(Iop_SubF32, rm, mkexpr(t1), getLoFromF64(tyF,
2377 putFReg(fd, mkWidenFromF32(tyF, unop(Iop_NegF32, mkexpr(t2))));
2387 assign(t2, triop(Iop_SubF64, rm, mkexpr(t1), getDReg(fmt)));
2388 putDReg(fd, unop(Iop_NegF64, mkexpr(t2)));
2416 assign(t3, binop(Iop_Shl32, load(Ity_I32, mkexpr(t2)), narrowTo(Ity_I8,
2417 binop(Iop_Shl32, binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)),
2424 binop(Iop_Add32, mkexpr(t4), mkU32(0x1)), mkU8(0x3))))));
2426 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
2449 assign(t3, binop(Iop_Shr32, load(Ity_I32, mkexpr(t2)),
2450 narrowTo(Ity_I8, binop(Iop_Shl32, mkexpr(t4),
2457 binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
2459 putIReg(rt, binop(Iop_Or32, mkexpr(t5), mkexpr(t3)));
2466 store(mkexpr(t1), mkNarrowTo32(ty, getIReg(rt)));
2472 store(mkexpr(t1), narrowTo(Ity_I8, getIReg(rt)));
2478 store(mkexpr(t1), narrowTo(Ity_I16, getIReg(rt)));
2501 binop(Iop_Shl32, binop(Iop_Sub32, mkU32(0x03), mkexpr(t4)),
2511 assign(t5, binop(Iop_Mul32, binop(Iop_Sub32, mkU32(0x3), mkexpr(t4)),
2515 mkexpr(t5))));
2516 assign(t7, binop(Iop_Xor32, mkU32(0xFFFFFFFF), mkexpr(t6)));
2517 assign(t8, binop(Iop_And32, load(Ity_I32, mkexpr(t2)), mkexpr(t7)));
2518 store(mkexpr(t2), binop(Iop_Or32, mkexpr(t8), mkexpr(t3)));
2542 binop(Iop_Shl32, mkexpr(t4), mkU8(3)))));
2546 assign(t5, binop(Iop_And32, load(Ity_I32, mkexpr(t2)), unop(Iop_Not32,
2548 binop(Iop_Shl32, mkexpr(t4), mkU8(0x3)))))));
2550 store(mkexpr(t2), binop(Iop_Xor32, mkexpr(t5), mkexpr(t3)));
2576 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
2577 mkexpr(t3))));
2579 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
2580 unop(Iop_64to32, mkexpr(t3)))));
2581 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
2583 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32, mkexpr(t3))));
2584 putLO(mkexpr(t4));
2602 assign(t4, binop(Iop_Add32, mkexpr(t2), unop(Iop_64to32,
2603 mkexpr(t3))));
2604 assign(t5, unop(Iop_1Uto32, binop(Iop_CmpLT32U, mkexpr(t4),
2605 unop(Iop_64to32, mkexpr(t3)))));
2606 assign(t6, binop(Iop_Add32, mkexpr(t5), mkexpr(t1)));
2608 putHI(binop(Iop_Add32, mkexpr(t6), unop(Iop_64HIto32, mkexpr(t3))));
2609 putLO(mkexpr(t4));
2626 assign(t4, unop(Iop_64to32, mkexpr(t3))); //new lo
2629 assign(t5, unop(Iop_1Sto32, binop(Iop_CmpLT32U, mkexpr(t2),
2630 mkexpr(t4))));
2632 assign(t6, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t5)), mkexpr(t1),
2633 binop(Iop_Sub32, mkexpr(t1), mkU32(0x1))));
2635 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32, mkexpr(t3))));
2636 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
2653 assign(t4, unop(Iop_64to32, mkexpr(t3))); //new lo
2656 assign(t5, unop(Iop_1Sto32, binop(Iop_CmpLT32U, mkexpr(t2),
2657 mkexpr(t4))));
2659 assign(t6, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t5)),
2660 mkexpr(t1), binop(Iop_Sub32, mkexpr(t1), mkU32(0x1))));
2662 putHI(binop(Iop_Sub32, mkexpr(t6), unop(Iop_64HIto32, mkexpr(t3))));
2663 putLO(binop(Iop_Sub32, mkexpr(t2), mkexpr(t4)));
2672 putIReg(rd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
2682 putIReg(rd, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
2722 assign(t1, binop(Iop_Shr32, mkexpr(t0), mkU8(32 - size - lsb)));
2728 assign(t3, binop(Iop_Shr32, mkexpr(t2), mkU8(32 - lsb)));
2736 assign(t5, binop(Iop_Shl32, mkexpr(t4), mkU8(msb + 1)));
2741 assign(t6, binop(Iop_Or32, mkexpr(t5), mkexpr(t1)));
2742 putIReg(rt, binop(Iop_Or32, mkexpr(t6), mkexpr(t3)));
2744 putIReg(rt, binop(Iop_Or32, mkexpr(t1), mkexpr(t5)));
2749 putIReg(rt, binop(Iop_Or32, mkexpr(t1), mkexpr(t3)));
2765 putIReg(rt, binop(Iop_Shr32, mkexpr(t0), mkU8(32 - size)));
2798 putIReg(rd, binop(Iop_Or32, binop(Iop_Or32, mkexpr(t0),
2799 mkexpr(t1)), binop(Iop_Or32, mkexpr(t2), mkexpr(t3))));
2841 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
2848 mkexpr(t2))));
2849 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
2851 putIReg(rd, mkexpr(t4));
2863 assign(t2, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t1)),
2870 mkexpr(t2))));
2871 assign(t4, IRExpr_Mux0X(unop(Iop_32to8, mkexpr(t3)),
2873 putIReg(rd, mkexpr(t4));
2889 mkexpr(t1)), binop(Iop_And32, getIReg(rd),
2890 mkexpr(t2))));
2906 mkexpr(t2)), binop(Iop_And32, getIReg(rd),
2907 mkexpr(t1))));
2919 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
2920 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
2930 putHI(mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(t2)), True));
2931 putLO(mkWidenFrom32(ty, unop(Iop_64to32, mkexpr(t2)), True));
2940 putIReg(rd, mkexpr(t2));
2951 assign(t2, binop(Iop_DivModS64to32, mkexpr(t1), getIReg(rt)));
2953 putHI(unop(Iop_64HIto32, mkexpr(t2)));
2954 putLO(unop(Iop_64to32, mkexpr(t2)));
2964 assign(t2, binop(Iop_DivModU64to32, mkexpr(t1), getIReg(rt)));
2965 putHI(unop(Iop_64HIto32, mkexpr(t2)));
2966 putLO(unop(Iop_64to32, mkexpr(t2)));
3029 lastn = mkexpr(t0);
3037 lastn = mkexpr(t0);
3378 stmt(IRStmt_LLSC(Iend_LE, t2, mkexpr(t1), NULL /*this is a load */ ));
3380 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), NULL /*this is a load */ ));
3383 putIReg(rt, mkexpr(t2));
3392 mkexpr(t1), mkNarrowTo32(ty, getIReg(rt))));
3394 stmt(IRStmt_LLSC(Iend_BE, t2, mkexpr(t1), mkNarrowTo32(ty, getIReg(rt))));
3397 putIReg(rt, unop(Iop_1Uto32, mkexpr(t2)));