Lines Matching refs:HReg
98 HReg* vregmap;
99 HReg* vregmapHI;
115 static HReg lookupIRTemp ( ISelEnv* env, IRTemp tmp ) in lookupIRTemp()
122 static void lookupIRTempPair ( HReg* vrHI, HReg* vrLO, in lookupIRTempPair()
141 static HReg newVRegI ( ISelEnv* env ) in newVRegI()
143 HReg reg = mkHReg(True/*virtual reg*/, HRcInt64, 0, env->vreg_ctr); in newVRegI()
148 static HReg newVRegD ( ISelEnv* env ) in newVRegD()
150 HReg reg = mkHReg(True/*virtual reg*/, HRcFlt64, 0, env->vreg_ctr); in newVRegD()
155 static HReg newVRegV ( ISelEnv* env ) in newVRegV()
157 HReg reg = mkHReg(True/*virtual reg*/, HRcVec128, 0, env->vreg_ctr); in newVRegV()
195 static HReg iselIntExpr_R_wrk ( ISelEnv* env, IRExpr* e );
196 static HReg iselIntExpr_R ( ISelEnv* env, IRExpr* e );
198 static void iselInt128Expr_wrk ( /*OUT*/HReg* rHi, HReg* rLo,
200 static void iselInt128Expr ( /*OUT*/HReg* rHi, HReg* rLo,
203 static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e );
204 static HReg iselDblExpr ( ISelEnv* env, IRExpr* e );
206 static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e );
207 static HReg iselFltExpr ( ISelEnv* env, IRExpr* e );
209 static HReg iselF16Expr_wrk ( ISelEnv* env, IRExpr* e );
210 static HReg iselF16Expr ( ISelEnv* env, IRExpr* e );
212 static HReg iselV128Expr_wrk ( ISelEnv* env, IRExpr* e );
213 static HReg iselV128Expr ( ISelEnv* env, IRExpr* e );
215 static void iselV256Expr_wrk ( /*OUT*/HReg* rHi, HReg* rLo,
217 static void iselV256Expr ( /*OUT*/HReg* rHi, HReg* rLo,
262 static HReg mk_baseblock_128bit_access_addr ( ISelEnv* env, UInt off ) in mk_baseblock_128bit_access_addr()
265 HReg r = newVRegI(env); in mk_baseblock_128bit_access_addr()
271 static HReg get_baseblock_register ( void ) in get_baseblock_register()
278 static HReg widen_z_32_to_64 ( ISelEnv* env, HReg src ) in widen_z_32_to_64()
280 HReg dst = newVRegI(env); in widen_z_32_to_64()
288 static HReg widen_s_16_to_64 ( ISelEnv* env, HReg src ) in widen_s_16_to_64()
290 HReg dst = newVRegI(env); in widen_s_16_to_64()
299 static HReg widen_z_16_to_64 ( ISelEnv* env, HReg src ) in widen_z_16_to_64()
301 HReg dst = newVRegI(env); in widen_z_16_to_64()
310 static HReg widen_s_32_to_64 ( ISelEnv* env, HReg src ) in widen_s_32_to_64()
312 HReg dst = newVRegI(env); in widen_s_32_to_64()
321 static HReg widen_s_8_to_64 ( ISelEnv* env, HReg src ) in widen_s_8_to_64()
323 HReg dst = newVRegI(env); in widen_s_8_to_64()
330 static HReg widen_z_8_to_64 ( ISelEnv* env, HReg src ) in widen_z_8_to_64()
332 HReg dst = newVRegI(env); in widen_z_8_to_64()
415 HReg irrm = iselIntExpr_R(env, mode); in set_FPCR_rounding_mode()
416 HReg tL = newVRegI(env); in set_FPCR_rounding_mode()
417 HReg tR = newVRegI(env); in set_FPCR_rounding_mode()
418 HReg t3 = newVRegI(env); in set_FPCR_rounding_mode()
483 HReg argregs[ARM64_N_ARGREGS]; in doHelperCall()
484 HReg tmpregs[ARM64_N_ARGREGS]; in doHelperCall()
574 HReg r_vecRetAddr = INVALID_HREG; in doHelperCall()
880 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_AMode_wrk()
895 HReg reg = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_AMode_wrk()
903 HReg reg1 = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_AMode_wrk()
904 HReg reg2 = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_AMode_wrk()
910 HReg reg = iselIntExpr_R(env, e); in iselIntExpr_AMode_wrk()
960 HReg r = iselIntExpr_R ( env, e ); in iselIntExpr_RIA_wrk()
1232 HReg r = iselIntExpr_R ( env, e ); in iselIntExpr_RIL_wrk()
1283 HReg r = iselIntExpr_R ( env, e ); in iselIntExpr_RI6_wrk()
1309 HReg rTmp = lookupIRTemp(env, e->Iex.RdTmp.tmp); in iselCondCode_wrk()
1332 HReg rTmp = iselIntExpr_R(env, e->Iex.Unop.arg); in iselCondCode_wrk()
1343 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg); in iselCondCode_wrk()
1353 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg); in iselCondCode_wrk()
1363 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg); in iselCondCode_wrk()
1373 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg); in iselCondCode_wrk()
1387 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselCondCode_wrk()
1409 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselCondCode_wrk()
1430 static HReg iselIntExpr_R ( ISelEnv* env, IRExpr* e ) in iselIntExpr_R()
1432 HReg r = iselIntExpr_R_wrk(env, e); in iselIntExpr_R()
1443 static HReg iselIntExpr_R_wrk ( ISelEnv* env, IRExpr* e ) in iselIntExpr_R_wrk()
1457 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1498 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1499 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1514 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1515 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1530 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1531 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1546 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1547 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1555 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1557 HReg dst = zx ? widen_z_32_to_64(env, argL) in iselIntExpr_R_wrk()
1567 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1568 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1569 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1577 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1578 HReg extL = (isS ? widen_s_32_to_64 : widen_z_32_to_64)(env, argL); in iselIntExpr_R_wrk()
1579 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1580 HReg extR = (isS ? widen_s_32_to_64 : widen_z_32_to_64)(env, argR); in iselIntExpr_R_wrk()
1581 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1589 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1590 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1591 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1598 HReg hi32s = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1599 HReg lo32s = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1600 HReg lo32 = widen_z_32_to_64(env, lo32s); in iselIntExpr_R_wrk()
1601 HReg hi32 = newVRegI(env); in iselIntExpr_R_wrk()
1611 HReg dL = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1612 HReg dR = (isD ? iselDblExpr : iselFltExpr)(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1613 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1614 HReg imm = newVRegI(env); in iselIntExpr_R_wrk()
1678 HReg src = (srcIsD ? iselDblExpr : iselFltExpr) in iselIntExpr_R_wrk()
1680 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1702 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselIntExpr_R_wrk()
1703 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselIntExpr_R_wrk()
1704 HReg res = newVRegI(env); in iselIntExpr_R_wrk()
1724 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1725 HReg dst = widen_z_16_to_64(env, src); in iselIntExpr_R_wrk()
1733 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1740 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1741 HReg dst = widen_z_32_to_64(env, src); in iselIntExpr_R_wrk()
1750 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1757 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1758 HReg dst = widen_z_8_to_64(env, src); in iselIntExpr_R_wrk()
1762 HReg rHi, rLo; in iselIntExpr_R_wrk()
1768 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1769 HReg dst = widen_s_8_to_64(env, src); in iselIntExpr_R_wrk()
1774 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1775 HReg dst = widen_s_16_to_64(env, src); in iselIntExpr_R_wrk()
1780 HReg src = iselIntExpr_R(env, arg); in iselIntExpr_R_wrk()
1781 HReg dst = widen_s_32_to_64(env, src); in iselIntExpr_R_wrk()
1786 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1787 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1792 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1793 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1802 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1803 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1812 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1813 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1824 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1825 HReg pre = iselIntExpr_R(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1826 HReg src = widen_z_32_to_64(env, pre); in iselIntExpr_R_wrk()
1835 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1836 HReg src = iselV128Expr(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1842 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1843 HReg src = iselDblExpr(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1848 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1849 HReg src = iselFltExpr(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1858 HReg zero = newVRegI(env); in iselIntExpr_R_wrk()
1859 HReg one = newVRegI(env); in iselIntExpr_R_wrk()
1860 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1884 HReg src = iselV128Expr(env, e->Iex.Unop.arg); in iselIntExpr_R_wrk()
1885 HReg tmp = newVRegV(env); in iselIntExpr_R_wrk()
1886 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1923 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1926 HReg src = lookupIRTemp(env, e->Iex.Unop.arg->Iex.RdTmp.tmp); in iselIntExpr_R_wrk()
1931 HReg zero = newVRegI(env); in iselIntExpr_R_wrk()
1932 HReg one = newVRegI(env); in iselIntExpr_R_wrk()
1957 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1965 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1973 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1981 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
1992 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
2022 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
2039 HReg r1 = iselIntExpr_R(env, e->Iex.ITE.iftrue); in iselIntExpr_R_wrk()
2040 HReg r0 = iselIntExpr_R(env, e->Iex.ITE.iffalse); in iselIntExpr_R_wrk()
2041 HReg dst = newVRegI(env); in iselIntExpr_R_wrk()
2069 static void iselInt128Expr ( HReg* rHi, HReg* rLo, in iselInt128Expr()
2083 static void iselInt128Expr_wrk ( HReg* rHi, HReg* rLo, in iselInt128Expr_wrk()
2096 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselInt128Expr_wrk()
2097 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselInt128Expr_wrk()
2098 HReg dstLo = newVRegI(env); in iselInt128Expr_wrk()
2099 HReg dstHi = newVRegI(env); in iselInt128Expr_wrk()
2127 static HReg iselV128Expr ( ISelEnv* env, IRExpr* e ) in iselV128Expr()
2129 HReg r = iselV128Expr_wrk( env, e ); in iselV128Expr()
2136 static HReg iselV128Expr_wrk ( ISelEnv* env, IRExpr* e ) in iselV128Expr_wrk()
2150 HReg res = newVRegV(env); in iselV128Expr_wrk()
2188 HReg res = newVRegV(env); in iselV128Expr_wrk()
2189 HReg rN = iselIntExpr_R(env, e->Iex.Load.addr); in iselV128Expr_wrk()
2198 HReg addr = mk_baseblock_128bit_access_addr(env, offs); in iselV128Expr_wrk()
2199 HReg res = newVRegV(env); in iselV128Expr_wrk()
2219 HReg src = iselV128Expr(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2220 HReg imm = newVRegV(env); in iselV128Expr_wrk()
2221 HReg res = newVRegV(env); in iselV128Expr_wrk()
2247 HReg res = newVRegV(env); in iselV128Expr_wrk()
2248 HReg arg = iselV128Expr(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2301 HReg arg = iselV128Expr(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2302 HReg zero = newVRegV(env); in iselV128Expr_wrk()
2303 HReg res = newVRegV(env); in iselV128Expr_wrk()
2321 HReg vHi, vLo; in iselV128Expr_wrk()
2326 HReg res = newVRegV(env); in iselV128Expr_wrk()
2327 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2332 HReg res = newVRegV(env); in iselV128Expr_wrk()
2333 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2341 HReg res = newVRegV(env); in iselV128Expr_wrk()
2342 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2350 HReg res = newVRegV(env); in iselV128Expr_wrk()
2351 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg); in iselV128Expr_wrk()
2368 HReg arg = iselV128Expr(env, e->Iex.Binop.arg2); in iselV128Expr_wrk()
2369 HReg res = newVRegV(env); in iselV128Expr_wrk()
2378 HReg res = newVRegV(env); in iselV128Expr_wrk()
2379 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselV128Expr_wrk()
2380 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselV128Expr_wrk()
2439 HReg res = newVRegV(env); in iselV128Expr_wrk()
2440 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1); in iselV128Expr_wrk()
2441 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2); in iselV128Expr_wrk()
2591 HReg res = newVRegV(env); in iselV128Expr_wrk()
2592 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1); in iselV128Expr_wrk()
2593 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2); in iselV128Expr_wrk()
2698 HReg src = iselV128Expr(env, argL); in iselV128Expr_wrk()
2699 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2801 HReg src = iselV128Expr(env, argL); in iselV128Expr_wrk()
2802 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2803 HReg fpsr = newVRegI(env); in iselV128Expr_wrk()
2823 HReg scratch = newVRegV(env); in iselV128Expr_wrk()
2859 HReg src = iselV128Expr(env, argL); in iselV128Expr_wrk()
2860 HReg srcZ = newVRegV(env); in iselV128Expr_wrk()
2864 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2889 HReg iSrcL = iselIntExpr_R(env, e->Iex.Binop.arg1); in iselV128Expr_wrk()
2890 HReg iSrcR = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselV128Expr_wrk()
2891 HReg vSrcL = newVRegV(env); in iselV128Expr_wrk()
2892 HReg vSrcR = newVRegV(env); in iselV128Expr_wrk()
2893 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2934 HReg argL = iselV128Expr(env, triop->arg2); in iselV128Expr_wrk()
2935 HReg argR = iselV128Expr(env, triop->arg3); in iselV128Expr_wrk()
2936 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2954 HReg srcHi = iselV128Expr(env, argHi); in iselV128Expr_wrk()
2955 HReg srcLo = iselV128Expr(env, argLo); in iselV128Expr_wrk()
2956 HReg dst = newVRegV(env); in iselV128Expr_wrk()
2981 static HReg iselDblExpr ( ISelEnv* env, IRExpr* e ) in iselDblExpr()
2983 HReg r = iselDblExpr_wrk( env, e ); in iselDblExpr()
2993 static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e ) in iselDblExpr_wrk()
3006 HReg src = newVRegI(env); in iselDblExpr_wrk()
3007 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3013 HReg src = newVRegI(env); in iselDblExpr_wrk()
3014 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3026 HReg addr = iselIntExpr_R(env, e->Iex.Load.addr); in iselDblExpr_wrk()
3027 HReg res = newVRegD(env); in iselDblExpr_wrk()
3035 HReg rD = newVRegD(env); in iselDblExpr_wrk()
3036 HReg rN = get_baseblock_register(); in iselDblExpr_wrk()
3045 HReg src = iselDblExpr(env, e->Iex.Unop.arg); in iselDblExpr_wrk()
3046 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3051 HReg src = iselDblExpr(env, e->Iex.Unop.arg); in iselDblExpr_wrk()
3052 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3057 HReg src = iselFltExpr(env, e->Iex.Unop.arg); in iselDblExpr_wrk()
3058 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3063 HReg src = iselF16Expr(env, e->Iex.Unop.arg); in iselDblExpr_wrk()
3064 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3073 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg); in iselDblExpr_wrk()
3074 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3090 HReg src = iselDblExpr(env, e->Iex.Binop.arg2); in iselDblExpr_wrk()
3091 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3107 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselDblExpr_wrk()
3109 HReg dstS = newVRegD(env); in iselDblExpr_wrk()
3129 HReg argL = iselDblExpr(env, triop->arg2); in iselDblExpr_wrk()
3130 HReg argR = iselDblExpr(env, triop->arg3); in iselDblExpr_wrk()
3131 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3141 HReg r1 = iselDblExpr(env, e->Iex.ITE.iftrue); in iselDblExpr_wrk()
3142 HReg r0 = iselDblExpr(env, e->Iex.ITE.iffalse); in iselDblExpr_wrk()
3143 HReg dst = newVRegD(env); in iselDblExpr_wrk()
3164 static HReg iselFltExpr ( ISelEnv* env, IRExpr* e ) in iselFltExpr()
3166 HReg r = iselFltExpr_wrk( env, e ); in iselFltExpr()
3176 static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e ) in iselFltExpr_wrk()
3193 HReg src = newVRegI(env); in iselFltExpr_wrk()
3194 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3200 HReg src = newVRegI(env); in iselFltExpr_wrk()
3201 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3213 HReg addr = iselIntExpr_R(env, e->Iex.Load.addr); in iselFltExpr_wrk()
3214 HReg res = newVRegD(env); in iselFltExpr_wrk()
3222 HReg rD = newVRegD(env); in iselFltExpr_wrk()
3223 HReg rN = get_baseblock_register(); in iselFltExpr_wrk()
3232 HReg src = iselFltExpr(env, e->Iex.Unop.arg); in iselFltExpr_wrk()
3233 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3238 HReg src = iselFltExpr(env, e->Iex.Unop.arg); in iselFltExpr_wrk()
3239 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3244 HReg src = iselF16Expr(env, e->Iex.Unop.arg); in iselFltExpr_wrk()
3245 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3259 HReg src = iselFltExpr(env, e->Iex.Binop.arg2); in iselFltExpr_wrk()
3260 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3273 HReg srcD = iselDblExpr(env, e->Iex.Binop.arg2); in iselFltExpr_wrk()
3275 HReg dstS = newVRegD(env); in iselFltExpr_wrk()
3291 HReg srcI = iselIntExpr_R(env, e->Iex.Binop.arg2); in iselFltExpr_wrk()
3293 HReg dstS = newVRegD(env); in iselFltExpr_wrk()
3313 HReg argL = iselFltExpr(env, triop->arg2); in iselFltExpr_wrk()
3314 HReg argR = iselFltExpr(env, triop->arg3); in iselFltExpr_wrk()
3315 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3325 HReg r1 = iselFltExpr(env, e->Iex.ITE.iftrue); in iselFltExpr_wrk()
3326 HReg r0 = iselFltExpr(env, e->Iex.ITE.iffalse); in iselFltExpr_wrk()
3327 HReg dst = newVRegD(env); in iselFltExpr_wrk()
3348 static HReg iselF16Expr ( ISelEnv* env, IRExpr* e ) in iselF16Expr()
3350 HReg r = iselF16Expr_wrk( env, e ); in iselF16Expr()
3360 static HReg iselF16Expr_wrk ( ISelEnv* env, IRExpr* e ) in iselF16Expr_wrk()
3369 HReg rD = newVRegD(env); in iselF16Expr_wrk()
3370 HReg rN = get_baseblock_register(); in iselF16Expr_wrk()
3379 HReg srcS = iselFltExpr(env, e->Iex.Binop.arg2); in iselF16Expr_wrk()
3381 HReg dstH = newVRegD(env); in iselF16Expr_wrk()
3386 HReg srcD = iselDblExpr(env, e->Iex.Binop.arg2); in iselF16Expr_wrk()
3388 HReg dstH = newVRegD(env); in iselF16Expr_wrk()
3406 static void iselV256Expr ( /*OUT*/HReg* rHi, HReg* rLo, in iselV256Expr()
3417 static void iselV256Expr_wrk ( /*OUT*/HReg* rHi, /*OUT*/HReg* rLo, in iselV256Expr_wrk()
3454 HReg argL = iselV128Expr(env, e->Iex.Binop.arg1); in iselV256Expr_wrk()
3455 HReg argR = iselV128Expr(env, e->Iex.Binop.arg2); in iselV256Expr_wrk()
3456 HReg fpsr = newVRegI(env); in iselV256Expr_wrk()
3457 HReg resHi = newVRegV(env); in iselV256Expr_wrk()
3458 HReg resLo = newVRegV(env); in iselV256Expr_wrk()
3535 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data); in iselStmt()
3541 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data); in iselStmt()
3547 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data); in iselStmt()
3553 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data); in iselStmt()
3559 HReg qD = iselV128Expr(env, stmt->Ist.Store.data); in iselStmt()
3560 HReg addr = iselIntExpr_R(env, stmt->Ist.Store.addr); in iselStmt()
3565 HReg dD = iselDblExpr(env, stmt->Ist.Store.data); in iselStmt()
3566 HReg addr = iselIntExpr_R(env, stmt->Ist.Store.addr); in iselStmt()
3571 HReg sD = iselFltExpr(env, stmt->Ist.Store.data); in iselStmt()
3572 HReg addr = iselIntExpr_R(env, stmt->Ist.Store.addr); in iselStmt()
3585 HReg rD = iselIntExpr_R(env, stmt->Ist.Put.data); in iselStmt()
3591 HReg rD = iselIntExpr_R(env, stmt->Ist.Put.data); in iselStmt()
3597 HReg rD = iselIntExpr_R(env, stmt->Ist.Put.data); in iselStmt()
3603 HReg rD = iselIntExpr_R(env, stmt->Ist.Put.data); in iselStmt()
3609 HReg qD = iselV128Expr(env, stmt->Ist.Put.data); in iselStmt()
3610 HReg addr = mk_baseblock_128bit_access_addr(env, offs); in iselStmt()
3615 HReg dD = iselDblExpr(env, stmt->Ist.Put.data); in iselStmt()
3616 HReg bbp = get_baseblock_register(); in iselStmt()
3621 HReg sD = iselFltExpr(env, stmt->Ist.Put.data); in iselStmt()
3622 HReg bbp = get_baseblock_register(); in iselStmt()
3627 HReg hD = iselF16Expr(env, stmt->Ist.Put.data); in iselStmt()
3628 HReg bbp = get_baseblock_register(); in iselStmt()
3644 HReg dst = lookupIRTemp(env, tmp); in iselStmt()
3645 HReg rD = iselIntExpr_R(env, stmt->Ist.WrTmp.data); in iselStmt()
3660 HReg zero = newVRegI(env); in iselStmt()
3661 HReg one = newVRegI(env); in iselStmt()
3662 HReg dst = lookupIRTemp(env, tmp); in iselStmt()
3670 HReg src = iselDblExpr(env, stmt->Ist.WrTmp.data); in iselStmt()
3671 HReg dst = lookupIRTemp(env, tmp); in iselStmt()
3676 HReg src = iselFltExpr(env, stmt->Ist.WrTmp.data); in iselStmt()
3677 HReg dst = lookupIRTemp(env, tmp); in iselStmt()
3682 HReg src = iselV128Expr(env, stmt->Ist.WrTmp.data); in iselStmt()
3683 HReg dst = lookupIRTemp(env, tmp); in iselStmt()
3688 HReg srcHi, srcLo, dstHi, dstLo; in iselStmt()
3742 HReg dst = lookupIRTemp(env, d->tmp); in iselStmt()
3755 HReg dst = lookupIRTemp(env, d->tmp); in iselStmt()
3756 HReg tmp = newVRegI(env); // the address of the returned value in iselStmt()
3781 HReg r_dst = lookupIRTemp(env, res); in iselStmt()
3782 HReg raddr = iselIntExpr_R(env, stmt->Ist.LLSC.addr); in iselStmt()
3802 HReg rD = iselIntExpr_R(env, stmt->Ist.LLSC.storedata); in iselStmt()
3803 HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr); in iselStmt()
3822 HReg r_res = lookupIRTemp(env, res); in iselStmt()
3887 HReg r = iselIntExpr_R(env, IRExpr_Const(stmt->Ist.Exit.dst)); in iselStmt()
3904 HReg r = iselIntExpr_R(env, IRExpr_Const(stmt->Ist.Exit.dst)); in iselStmt()
3961 HReg r = iselIntExpr_R(env, next); in iselNext()
3972 HReg r = iselIntExpr_R(env, next); in iselNext()
3998 HReg r = iselIntExpr_R(env, next); in iselNext()
4033 HReg hreg, hregHI; in iselSB_ARM64()
4060 env->vregmap = LibVEX_Alloc_inline(env->n_vregmap * sizeof(HReg)); in iselSB_ARM64()
4061 env->vregmapHI = LibVEX_Alloc_inline(env->n_vregmap * sizeof(HReg)); in iselSB_ARM64()