Home | History | Annotate | Download | only in priv

Lines Matching defs:hreg

75    - A mapping from IRTemp to HReg.  This tells the insn selector
84 32-bit virtual HReg, which holds the high half
114 HReg* vregmap;
115 HReg* vregmapHI;
129 static HReg lookupIRTemp ( ISelEnv* env, IRTemp tmp )
136 static void lookupIRTemp64 ( HReg* vrHI, HReg* vrLO, ISelEnv* env, IRTemp tmp )
154 static HReg newVRegI ( ISelEnv* env )
156 HReg reg = mkHReg(True/*virtual reg*/, HRcInt32, 0/*enc*/, env->vreg_ctr);
161 static HReg newVRegD ( ISelEnv* env )
163 HReg reg = mkHReg(True/*virtual reg*/, HRcFlt64, 0/*enc*/, env->vreg_ctr);
168 static HReg newVRegF ( ISelEnv* env )
170 HReg reg = mkHReg(True/*virtual reg*/, HRcFlt32, 0/*enc*/, env->vreg_ctr);
175 static HReg newVRegV ( ISelEnv* env )
177 HReg reg = mkHReg(True/*virtual reg*/, HRcVec128, 0/*enc*/, env->vreg_ctr);
232 static HReg iselIntExpr_R_wrk ( ISelEnv* env, IRExpr* e );
233 static HReg iselIntExpr_R ( ISelEnv* env, IRExpr* e );
235 static void iselInt64Expr_wrk ( HReg* rHi, HReg* rLo,
237 static void iselInt64Expr ( HReg* rHi, HReg* rLo,
240 static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e );
241 static HReg iselDblExpr ( ISelEnv* env, IRExpr* e );
243 static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e );
244 static HReg iselFltExpr ( ISelEnv* env, IRExpr* e );
246 static HReg iselNeon64Expr_wrk ( ISelEnv* env, IRExpr* e );
247 static HReg iselNeon64Expr ( ISelEnv* env, IRExpr* e );
249 static HReg iselNeonExpr_wrk ( ISelEnv* env, IRExpr* e );
250 static HReg iselNeonExpr ( ISelEnv* env, IRExpr* e );
282 static ARMInstr* mk_iMOVds_RR ( HReg dst, HReg src )
295 HReg rTmp = newVRegI(env);
322 HReg irrm = iselIntExpr_R(env, mode);
323 HReg tL = newVRegI(env);
324 HReg tR = newVRegI(env);
325 HReg t3 = newVRegI(env);
387 HReg argregs[ARM_N_ARGREGS];
388 HReg tmpregs[ARM_N_ARGREGS];
549 HReg raHi, raLo;
598 HReg raHi, raLo;
779 HReg reg;
790 HReg reg = iselIntExpr_R(env, e);
845 HReg reg;
856 HReg reg = iselIntExpr_R(env, e);
897 HReg reg;
908 HReg reg = iselIntExpr_R(env, e);
923 HReg reg = iselIntExpr_R(env, e);
988 HReg r = iselIntExpr_R ( env, e );
1037 HReg r = iselIntExpr_R ( env, e );
1063 HReg rTmp = lookupIRTemp(env, e->Iex.RdTmp.tmp);
1080 HReg rTmp = iselIntExpr_R(env, e->Iex.Unop.arg);
1090 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1100 HReg r1 = iselIntExpr_R(env, e->Iex.Unop.arg);
1110 HReg tHi, tLo;
1111 HReg tmp = newVRegI(env);
1127 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1145 HReg r;
1173 static HReg iselIntExpr_R ( ISelEnv* env, IRExpr* e )
1175 HReg r = iselIntExpr_R_wrk(env, e);
1186 static HReg iselIntExpr_R_wrk ( ISelEnv* env, IRExpr* e )
1200 HReg dst = newVRegI(env);
1232 //zz HReg junk = newVRegF(env);
1233 //zz HReg dst = newVRegI(env);
1234 //zz HReg srcL = iselDblExpr(env, triop->arg2);
1235 //zz HReg srcR = iselDblExpr(env, triop->arg3);
1264 HReg dst = newVRegI(env);
1265 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1277 HReg dst = newVRegI(env);
1278 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1293 HReg dst = newVRegI(env);
1294 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1305 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1306 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1307 HReg dst = newVRegI(env);
1318 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1319 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1320 HReg dst = newVRegI(env);
1329 HReg dL = iselDblExpr(env, e->Iex.Binop.arg1);
1330 HReg dR = iselDblExpr(env, e->Iex.Binop.arg2);
1331 HReg dst = newVRegI(env);
1352 HReg valD = iselDblExpr(env, e->Iex.Binop.arg2);
1355 HReg valF = newVRegF(env);
1360 HReg dst = newVRegI(env);
1369 HReg res = newVRegI(env);
1370 HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
1401 HReg rHi, rLo;
1411 HReg res = newVRegI(env);
1412 HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
1492 HReg regL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1493 HReg regR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1494 HReg res = newVRegI(env);
1516 //zz HReg dst = newVRegI(env);
1517 //zz HReg src = iselIntExpr_R(env, expr32);
1532 //zz HReg dst = newVRegI(env);
1546 //zz HReg dst = newVRegI(env);
1560 //zz HReg dst = newVRegI(env);
1570 //zz HReg dst;
1584 //zz HReg dst;
1597 HReg dst = newVRegI(env);
1598 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1606 //zz HReg dst = newVRegI(env);
1607 //zz HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1617 HReg dst = newVRegI(env);
1618 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1626 HReg dst = newVRegI(env);
1627 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1636 HReg dst = newVRegI(env);
1637 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1642 HReg rHi, rLo;
1647 HReg rHi, rLo;
1652 HReg rHi, rLo;
1654 HReg tHi = newVRegI(env);
1655 HReg tLo = newVRegI(env);
1656 HReg tmp = iselNeon64Expr(env, e->Iex.Unop.arg);
1672 HReg dst = lookupIRTemp(env, e->Iex.Unop.arg->Iex.RdTmp.tmp);
1677 HReg dst = newVRegI(env);
1685 HReg dst = newVRegI(env);
1703 //zz HReg dst = newVRegI(env);
1712 //zz HReg dst = newVRegI(env);
1713 //zz HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1719 HReg dst = newVRegI(env);
1720 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1726 HReg dst = newVRegI(env);
1727 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1735 HReg dst = newVRegI(env);
1736 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
1743 //zz HReg dst = newVRegI(env);
1744 //zz HReg vec = iselVecExpr(env, e->Iex.Unop.arg);
1754 HReg dst = newVRegI(env);
1755 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
1783 HReg arg = iselIntExpr_R(env, e->Iex.Unop.arg);
1784 HReg res = newVRegI(env);
1800 HReg dst = newVRegI(env);
1808 //zz HReg dst = newVRegI(env);
1824 //zz HReg dst = newVRegI(env);
1838 HReg
1868 HReg dst = newVRegI(env);
1884 HReg r1 = iselIntExpr_R(env, e->Iex.ITE.iftrue);
1886 HReg dst = newVRegI(env);
1913 static void iselInt64Expr ( HReg* rHi, HReg* rLo, ISelEnv* env, IRExpr* e )
1926 static void iselInt64Expr_wrk ( HReg* rHi, HReg* rLo, ISelEnv* env, IRExpr* e )
1936 HReg tHi = newVRegI(env);
1937 HReg tLo = newVRegI(env);
1949 HReg tHi = newVRegI(env);
1950 HReg tLo = newVRegI(env);
1951 HReg tmp = iselNeon64Expr(env, e);
1963 HReg tLo, tHi, rA;
1981 HReg tHi = newVRegI(env);
1982 HReg tLo = newVRegI(env);
1997 HReg argL = iselIntExpr_R(env, e->Iex.Binop.arg1);
1998 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
1999 HReg tHi = newVRegI(env);
2000 HReg tLo = newVRegI(env);
2014 HReg xLo, xHi, yLo, yHi;
2015 HReg tHi = newVRegI(env);
2016 HReg tLo = newVRegI(env);
2027 HReg xLo, xHi, yLo, yHi;
2028 HReg tHi = newVRegI(env);
2029 HReg tLo = newVRegI(env);
2057 HReg dstHi = newVRegI(env);
2058 HReg dstLo = newVRegI(env);
2059 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
2068 HReg yLo, yHi;
2069 HReg tHi = newVRegI(env);
2070 HReg tLo = newVRegI(env);
2071 HReg zero = newVRegI(env);
2094 HReg srcLo, srcHi;
2095 HReg tmp1 = newVRegI(env);
2096 HReg tmp2 = newVRegI(env);
2114 HReg dst = newVRegI(env);
2137 HReg r1hi, r1lo, r0hi, r0lo, dstHi, dstLo;
2159 HReg tHi = newVRegI(env);
2160 HReg tLo = newVRegI(env);
2161 HReg tmp = iselNeon64Expr(env, e);
2177 static HReg iselNeon64Expr ( ISelEnv* env, IRExpr* e )
2179 HReg r;
2188 static HReg iselNeon64Expr_wrk ( ISelEnv* env, IRExpr* e )
2200 HReg rLo, rHi;
2201 HReg res = newVRegD(env);
2209 HReg res = newVRegD(env);
2218 HReg addr = newVRegI(env);
2219 HReg res = newVRegD(env);
2233 HReg rLo, rHi;
2234 HReg res = newVRegD(env);
2241 HReg res = newVRegD(env);
2242 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2243 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2249 HReg res = newVRegD(env);
2250 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2251 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2257 HReg res = newVRegD(env);
2258 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2259 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2267 HReg rHi = iselIntExpr_R(env, e->Iex.Binop.arg1);
2268 HReg rLo = iselIntExpr_R(env, e->Iex.Binop.arg2);
2269 HReg res = newVRegD(env);
2278 HReg res = newVRegD(env);
2279 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2280 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2294 HReg res = newVRegD(env);
2295 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2296 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2303 HReg res = newVRegD(env);
2304 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2305 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2312 HReg res = newVRegD(env);
2313 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2314 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2328 HReg rD = newVRegD(env);
2329 HReg rM = newVRegD(env);
2330 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2331 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2354 HReg rD = newVRegD(env);
2355 HReg rM = newVRegD(env);
2356 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2357 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2378 HReg rD = newVRegD(env);
2379 HReg rM = newVRegD(env);
2380 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2381 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2401 HReg res = newVRegD(env);
2402 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2403 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2420 HReg res = newVRegD(env);
2421 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2422 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2439 HReg res = newVRegD(env);
2440 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2441 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2455 HReg res = newVRegD(env);
2456 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2457 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2467 HReg res = newVRegD(env);
2468 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2469 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2486 HReg res = newVRegD(env);
2487 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2488 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2504 HReg res = newVRegD(env);
2505 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2506 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2521 HReg res = newVRegD(env);
2522 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2523 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2538 HReg res = newVRegD(env);
2539 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2540 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2555 HReg res = newVRegD(env);
2556 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2557 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2572 HReg res = newVRegD(env);
2573 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2574 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2575 HReg argR2 = newVRegD(env);
2576 HReg zero = newVRegD(env);
2596 HReg res = newVRegD(env);
2597 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2598 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2614 HReg res = newVRegD(env);
2615 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2616 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2617 HReg argR2 = newVRegD(env);
2618 HReg zero = newVRegD(env);
2636 HReg res = newVRegD(env);
2637 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2638 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2654 HReg res = newVRegD(env);
2655 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2656 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2673 HReg res = newVRegD(env);
2674 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2675 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2692 HReg res = newVRegD(env);
2693 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2716 HReg res = newVRegD(env);
2717 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2740 HReg res = newVRegD(env);
2741 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2764 HReg res = newVRegD(env);
2765 HReg tmp = newVRegD(env);
2766 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2767 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2768 HReg argR2 = newVRegI(env);
2787 HReg res = newVRegD(env);
2788 HReg tmp = newVRegD(env);
2789 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2802 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2821 HReg res = newVRegD(env);
2822 HReg tmp = newVRegD(env);
2823 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2824 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
2825 HReg argR2 = newVRegI(env);
2843 HReg res = newVRegD(env);
2844 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2845 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2860 HReg res = newVRegD(env);
2861 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2862 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2877 HReg res = newVRegD(env);
2878 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2879 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2894 HReg res = newVRegD(env);
2895 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2896 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2909 HReg res = newVRegD(env);
2910 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2911 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2919 HReg res = newVRegD(env);
2920 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2921 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2935 HReg res = newVRegD(env);
2936 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2937 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2952 HReg res = newVRegD(env);
2953 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2954 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2967 HReg res = newVRegD(env);
2968 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2969 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2978 HReg res = newVRegD(env);
2979 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2980 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
2995 HReg res = newVRegD(env);
2996 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
2997 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3012 HReg res = newVRegD(env);
3013 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3014 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3029 HReg res = newVRegD(env);
3030 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3031 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3044 HReg res = newVRegD(env);
3045 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3046 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3052 HReg res = newVRegD(env);
3053 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3054 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3061 HReg res = newVRegD(env);
3062 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3063 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3069 HReg res = newVRegD(env);
3070 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3071 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3077 HReg res = newVRegD(env);
3078 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3079 HReg
3085 HReg res = newVRegD(env);
3086 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3087 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3093 HReg res = newVRegD(env);
3094 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3095 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3101 HReg res = newVRegD(env);
3102 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3103 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3109 HReg res = newVRegD(env);
3110 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3111 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
3120 HReg res = newVRegD(env);
3121 HReg arg = iselNeon64Expr(env, e->Iex.Binop.arg1);
3147 HReg res = newVRegD(env);
3148 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3184 HReg rLo = iselIntExpr_R(env, e->Iex.Unop.arg);
3185 HReg rHi = newVRegI(env);
3186 HReg res = newVRegD(env);
3194 HReg rLo = iselIntExpr_R(env, e->Iex.Unop.arg);
3195 HReg rHi = newVRegI(env);
3198 HReg res = newVRegD(env);
3210 HReg rLo, rHi;
3211 HReg res = newVRegD(env);
3246 HReg res = newVRegD(env);
3247 HReg arg = iselNeon64Expr(env, mi.bindee[0]);
3251 HReg res = newVRegD(env);
3252 HReg arg = iselNeon64Expr(env, mi.bindee[0]);
3256 HReg res = newVRegD(env);
3257 HReg arg = iselNeon64Expr(env, mi.bindee[0]);
3261 HReg res = newVRegD(env);
3262 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3263 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3268 HReg res = newVRegD(env);
3269 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3270 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3275 HReg res = newVRegD(env);
3276 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3277 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3282 HReg res = newVRegD(env);
3283 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3284 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3289 HReg res = newVRegD(env);
3290 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3291 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3296 HReg res = newVRegD(env);
3297 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3298 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3303 HReg res = newVRegD(env);
3304 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3312 HReg res, arg;
3395 HReg res = newVRegD(env);
3396 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3410 HReg res = newVRegD(env);
3411 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3425 HReg res = newVRegD(env);
3426 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3438 HReg res = newVRegD(env);
3439 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3446 HReg x_lsh = newVRegD(env);
3447 HReg x_rsh = newVRegD(env);
3448 HReg lsh_amt = newVRegD(env);
3449 HReg rsh_amt = newVRegD(env);
3450 HReg zero = newVRegD(env);
3451 HReg tmp = newVRegD(env);
3452 HReg tmp2 = newVRegD(env);
3453 HReg res = newVRegD(env);
3454 HReg x = newVRegD(env);
3455 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3475 HReg res = newVRegD(env);
3476 HReg tmp = newVRegD(env);
3477 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3492 HReg res = newVRegD(env);
3493 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3508 HReg res = newVRegD(env);
3509 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3524 HReg res = newVRegD(env);
3525 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3540 HReg res = newVRegD(env);
3541 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3556 HReg res = newVRegD(env);
3557 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3572 HReg res = newVRegD(env);
3573 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3586 HReg res = newVRegD(env);
3587 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3596 HReg res = newVRegD(env);
3597 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3612 HReg res = newVRegD(env);
3613 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3626 HReg res = newVRegD(env);
3627 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3633 HReg res = newVRegD(env);
3634 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3640 HReg res = newVRegD(env);
3641 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3647 HReg res = newVRegD(env);
3648 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3654 HReg res = newVRegD(env);
3655 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3661 HReg res = newVRegD(env);
3662 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3668 HReg res = newVRegD(env);
3669 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
3682 HReg res = newVRegD(env);
3683 HReg argL = iselNeon64Expr(env, mi.bindee[0]);
3684 HReg argR = iselNeon64Expr(env, mi.bindee[1]);
3689 HReg res = newVRegD(env);
3690 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3697 HReg res = newVRegD(env);
3698 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3704 HReg res = newVRegD(env);
3705 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3711 HReg res = newVRegD(env);
3712 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
3727 HReg res = newVRegD(env);
3728 HReg argL = iselNeon64Expr(env, triop->arg2);
3729 HReg argR = iselNeon64Expr(env, triop->arg1);
3748 HReg res = newVRegD(env);
3749 HReg dreg = iselNeon64Expr(env, triop->arg1);
3750 HReg arg = iselIntExpr_R(env, triop->arg3);
3778 HReg rLo, rHi;
3779 HReg res = newVRegD(env);
3790 static HReg iselNeonExpr ( ISelEnv* env, IRExpr* e )
3792 HReg r;
3801 static HReg iselNeonExpr_wrk ( ISelEnv* env, IRExpr* e )
3818 HReg res = newVRegV(env);
3823 HReg res = newVRegV(env);
3832 HReg res = newVRegV(env);
3840 HReg addr = newVRegI(env);
3841 HReg res = newVRegV(env);
3879 HReg res = newVRegV(env);
3880 HReg arg = iselNeonExpr(env, mi.bindee[0]);
3884 HReg res = newVRegV(env);
3885 HReg arg = iselNeonExpr(env, mi.bindee[0]);
3889 HReg res = newVRegV(env);
3890 HReg arg = iselNeonExpr(env, mi.bindee[0]);
3894 HReg res = newVRegV(env);
3895 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3896 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3901 HReg res = newVRegV(env);
3902 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3903 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3908 HReg res = newVRegV(env);
3909 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3910 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3915 HReg res = newVRegV(env);
3916 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3917 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3922 HReg res = newVRegV(env);
3923 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3924 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3929 HReg res = newVRegV(env);
3930 HReg argL = iselNeonExpr(env, mi.bindee[0]);
3931 HReg argR = iselNeonExpr(env, mi.bindee[1]);
3936 HReg res = newVRegV(env);
3937 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
3945 HReg res, arg;
4028 HReg res = newVRegV(env);
4029 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4043 HReg res = newVRegV(env);
4044 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4058 HReg res = newVRegV(env);
4059 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4071 HReg res = newVRegV(env);
4072 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4079 HReg x_lsh = newVRegV(env);
4080 HReg x_rsh = newVRegV(env);
4081 HReg lsh_amt = newVRegV(env);
4082 HReg rsh_amt = newVRegV(env);
4083 HReg zero = newVRegV(env);
4084 HReg tmp = newVRegV(env);
4085 HReg tmp2 = newVRegV(env);
4086 HReg res = newVRegV(env);
4087 HReg x = newVRegV(env);
4088 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4108 HReg res = newVRegV(env);
4109 HReg tmp = newVRegV(env);
4110 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4125 HReg res = newVRegV(env);
4126 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4141 HReg res = newVRegV(env);
4142 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4157 HReg res = newVRegV(env);
4158 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4173 HReg res = newVRegV(env);
4174 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4187 HReg res = newVRegV(env);
4188 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4196 HReg res = newVRegV(env);
4197 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4211 HReg res = newVRegV(env);
4212 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4224 HReg res = newVRegV(env);
4225 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4231 HReg res = newVRegV(env);
4232 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4238 HReg res = newVRegV(env);
4239 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4245 HReg res = newVRegV(env);
4246 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4252 HReg res = newVRegV(env);
4253 HReg arg = iselNeon64Expr(env, e->Iex.Unop.arg);
4259 HReg res = newVRegV(env);
4260 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4266 HReg res = newVRegV(env);
4267 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4273 HReg res = newVRegV(env);
4274 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4280 HReg res = newVRegV(env);
4281 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4287 HReg res = newVRegV(env);
4288 HReg argL = iselNeonExpr(env, e->Iex.Unop.arg);
4294 HReg res = newVRegV(env);
4295 HReg arg = iselNeonExpr(env, e->Iex.Unop.arg);
4319 HReg res = newVRegV(env);
4325 HReg tmp1 = newVRegV(env);
4326 HReg tmp2 = newVRegV(env);
4327 HReg res = newVRegV(env);
4338 HReg tmp1 = newVRegV(env);
4339 HReg tmp2 = newVRegV(env);
4340 HReg res = newVRegV(env);
4356 HReg w3, w2, w1, w0;
4357 HReg res = newVRegV(env);
4392 HReg res = newVRegV(env);
4393 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4394 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4400 HReg res = newVRegV(env);
4401 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4402 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4408 HReg res = newVRegV(env);
4409 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4410 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4444 HReg res = newVRegV(env);
4445 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4446 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4462 HReg res = newVRegV(env);
4463 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4464 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4471 HReg res = newVRegV(env);
4472 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4473 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4487 HReg rD = newVRegV(env);
4488 HReg rM = newVRegV(env);
4489 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4490 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4515 HReg rD = newVRegV(env);
4516 HReg rM = newVRegV(env);
4517 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4518 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4543 HReg rD = newVRegV(env);
4544 HReg rM = newVRegV(env);
4545 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4546 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4568 HReg res = newVRegV(env);
4569 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4570 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4589 HReg res = newVRegV(env);
4590 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4591 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4610 HReg res = newVRegV(env);
4611 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4612 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4631 HReg res = newVRegV(env);
4632 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4633 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4652 HReg res = newVRegV(env);
4653 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4654 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4672 HReg res = newVRegV(env);
4673 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4674 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4689 HReg res = newVRegV(env);
4690 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4691 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4706 HReg res = newVRegV(env);
4707 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4708 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4723 HReg res = newVRegV(env);
4724 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4725 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4741 HReg res = newVRegV(env);
4742 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4743 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4744 HReg argR2 = newVRegV(env);
4745 HReg zero = newVRegV(env);
4765 HReg res = newVRegV(env);
4766 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4767 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4784 HReg res = newVRegV(env);
4785 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4786 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4787 HReg argR2 = newVRegV(env);
4788 HReg zero = newVRegV(env);
4808 HReg res = newVRegV(env);
4809 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4810 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4827 HReg res = newVRegV(env);
4828 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4829 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4846 HReg res = newVRegV(env);
4847 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4848 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
4865 HReg res = newVRegV(env);
4866 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4889 HReg res = newVRegV(env);
4890 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4913 HReg res = newVRegV(env);
4914 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4937 HReg res = newVRegV(env);
4938 HReg tmp = newVRegV(env);
4939 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4940 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4941 HReg argR2 = newVRegI(env);
4961 HReg res = newVRegV(env);
4962 HReg tmp = newVRegV(env);
4963 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4964 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4982 HReg res = newVRegV(env);
4983 HReg
4984 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
4985 HReg argR = iselIntExpr_R(env, e->Iex.Binop.arg2);
4986 HReg argR2 = newVRegI(env);
5004 HReg res = newVRegV(env);
5005 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5006 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5021 HReg res = newVRegV(env);
5022 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5023 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5038 HReg res = newVRegV(env);
5039 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5040 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5055 HReg res = newVRegV(env);
5056 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5057 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5072 HReg res = newVRegV(env);
5073 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5074 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5090 HReg res = newVRegV(env);
5091 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5092 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5107 HReg res = newVRegV(env);
5108 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5109 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5123 HReg res = newVRegV(env);
5124 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5125 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5139 HReg res = newVRegV(env);
5140 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5141 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5153 HReg res = newVRegV(env);
5154 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5155 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5162 HReg res = newVRegV(env);
5163 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5164 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5170 HReg res = newVRegV(env);
5171 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5172 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5178 HReg res = newVRegV(env);
5179 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5180 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5186 HReg res = newVRegV(env);
5187 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5188 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5194 HReg res = newVRegV(env);
5195 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5196 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5202 HReg res = newVRegV(env);
5203 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5204 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5210 HReg res = newVRegV(env);
5211 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5212 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5219 HReg res = newVRegV(env);
5220 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5221 HReg argR = iselNeon64Expr(env, e->Iex.Binop.arg2);
5231 HReg res = newVRegV(env);
5232 HReg arg = iselNeonExpr(env, e->Iex.Binop.arg1);
5258 HReg res = newVRegV(env);
5259 HReg argL = iselNeon64Expr(env, e->Iex.Binop.arg1);
5286 HReg res = newVRegV(env);
5287 HReg argL = iselNeonExpr(env, e->Iex.Binop.arg1);
5288 HReg argR = iselNeonExpr(env, e->Iex.Binop.arg2);
5311 HReg res = newVRegV(env);
5312 HReg argL = iselNeonExpr(env, triop->arg2);
5313 HReg argR = iselNeonExpr(env, triop->arg1);
5332 HReg res = newVRegV(env);
5333 HReg argL = iselNeonExpr(env, triop->arg2);
5334 HReg argR = iselNeonExpr(env, triop->arg3);
5353 HReg r1 = iselNeonExpr(env, e->Iex.ITE.iftrue);
5354 HReg r0 = iselNeonExpr(env, e->Iex.ITE.iffalse);
5355 HReg dst = newVRegV(env);
5376 static HReg iselDblExpr ( ISelEnv* env, IRExpr* e )
5378 HReg r = iselDblExpr_wrk( env, e );
5388 static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e )
5402 HReg z32 = newVRegI(env);
5403 HReg dst = newVRegD(env);
5412 HReg res = newVRegD(env);
5423 HReg res = newVRegD(env);
5434 HReg srcHi, srcLo;
5435 HReg dst = newVRegD(env);
5442 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
5443 HReg dst = newVRegD(env);
5448 HReg src = iselDblExpr(env, e->Iex.Unop.arg);
5449 HReg dst = newVRegD(env);
5454 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5455 HReg dst = newVRegD(env);
5461 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
5462 HReg f32 = newVRegF(env);
5463 HReg dst = newVRegD(env);
5481 HReg src = iselDblExpr(env, e->Iex.Binop.arg2);
5482 HReg dst = newVRegD(env);
5500 HReg argL = iselDblExpr(env, triop->arg2);
5501 HReg argR = iselDblExpr(env, triop->arg3);
5502 HReg dst = newVRegD(env);
5521 HReg r1 = iselDblExpr(env, e->Iex.ITE.iftrue);
5522 HReg r0 = iselDblExpr(env, e->Iex.ITE.iffalse);
5523 HReg dst = newVRegD(env);
5545 static HReg iselFltExpr ( ISelEnv* env, IRExpr* e )
5547 HReg r = iselFltExpr_wrk( env, e );
5557 static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e )
5569 HReg res = newVRegF(env);
5580 HReg res = newVRegF(env);
5588 HReg dst = newVRegF(env);
5589 HReg src = iselIntExpr_R(env, e->Iex.Unop.arg);
5594 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5595 HReg dst = newVRegF(env);
5600 HReg src = iselFltExpr(env, e->Iex.Unop.arg);
5601 HReg dst = newVRegF(env);
5614 HReg src = iselFltExpr(env, e->Iex.Binop.arg2);
5615 HReg dst = newVRegF(env);
5620 HReg valD = iselDblExpr(env, e->Iex.Binop.arg2);
5622 HReg valS = newVRegF(env);
5642 HReg argL = iselFltExpr(env, triop->arg2);
5643 HReg argR = iselFltExpr(env, triop->arg3);
5644 HReg dst = newVRegF(env);
5664 HReg r1 = iselFltExpr(env, e->Iex.ITE.iftrue);
5665 HReg r0 = iselFltExpr(env, e->Iex.ITE.iffalse);
5666 HReg dst = newVRegF(env);
5703 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data);
5709 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data);
5717 HReg rD = iselIntExpr_R(env, stmt->Ist.Store.data);
5724 HReg dD = iselNeon64Expr(env, stmt->Ist.Store.data);
5728 HReg rDhi, rDlo, rA;
5739 HReg dD = iselDblExpr(env, stmt->Ist.Store.data);
5745 HReg fD = iselFltExpr(env, stmt->Ist.Store.data);
5751 HReg qD = iselNeonExpr(env, stmt->Ist.Store.data);
5774 HReg rD = iselIntExpr_R(env, sg->data);
5782 HReg rD = iselIntExpr_R(env, sg->data);
5809 HReg rAlt = iselIntExpr_R(env, lg->alt);
5811 HReg rD = lookupIRTemp(env, lg->dst);
5822 HReg rAlt = iselIntExpr_R(env, lg->alt);
5824 HReg rD = lookupIRTemp(env, lg->dst);
5848 HReg rD = iselIntExpr_R(env, stmt->Ist.Put.data);
5855 HReg addr = newVRegI(env);
5856 HReg qD = iselNeon64Expr(env, stmt->Ist.Put.data);
5861 HReg rDhi, rDlo;
5878 HReg rD = iselDblExpr(env, stmt->Ist.Put.data);
5886 HReg rD = iselFltExpr(env, stmt->Ist.Put.data);
5891 HReg addr = newVRegI(env);
5892 HReg qD = iselNeonExpr(env, stmt->Ist.Put.data);
5910 HReg dst = lookupIRTemp(env, tmp);
5922 HReg dst = lookupIRTemp(env, tmp);
5930 HReg src = iselNeon64Expr(env, stmt->Ist.WrTmp.data);
5931 HReg dst = lookupIRTemp(env, tmp);
5934 HReg rHi, rLo, dstHi, dstLo;
5943 HReg src = iselDblExpr(env, stmt->Ist.WrTmp.data);
5944 HReg dst = lookupIRTemp(env, tmp);
5949 HReg src = iselFltExpr(env, stmt->Ist.WrTmp.data);
5950 HReg dst = lookupIRTemp(env, tmp);
5955 HReg src = iselNeonExpr(env, stmt->Ist.WrTmp.data);
5956 HReg dst = lookupIRTemp(env, tmp);
6006 HReg tmp = lookupIRTemp(env, d->tmp);
6010 HReg dstHi, dstLo;
6024 HReg dst = lookupIRTemp(env, d->tmp);
6042 HReg dst = lookupIRTemp(env, d->tmp);
6043 HReg tmp = newVRegI(env);
6044 HReg r13 = hregARM_R13(); // sp
6068 HReg r_dst = lookupIRTemp(env, res);
6069 HReg raddr = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
6082 HReg raddr = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
6090 HReg dst = lookupIRTemp(env, res);
6094 HReg r_dst_hi, r_dst_lo;
6108 HReg rD = iselIntExpr_R(env, stmt->Ist.LLSC.storedata);
6109 HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
6126 HReg rDhi, rDlo;
6128 HReg rA = iselIntExpr_R(env, stmt->Ist.LLSC.addr);
6139 HReg r_res = lookupIRTemp(env, res);
6199 HReg r = iselIntExpr_R(env, IRExpr_Const(stmt->Ist.Exit.dst));
6215 HReg r = iselIntExpr_R(env, IRExpr_Const(stmt->Ist.Exit.dst));
6272 HReg r = iselIntExpr_R(env, next);
6283 HReg r = iselIntExpr_R(env, next);
6307 HReg r = iselIntExpr_R(env, next);
6342 HReg hreg, hregHI;
6369 /* Make up an IRTemp -> virtual HReg mapping. This doesn't
6372 env->vregmap = LibVEX_Alloc_inline(env->n_vregmap * sizeof(HReg));
6373 env->vregmapHI = LibVEX_Alloc_inline(env->n_vregmap * sizeof(HReg));
6384 hregHI = hreg = INVALID_HREG;
6389 case Ity_I32: hreg = mkHReg(True, HRcInt32, 0, j++); break;
6392 hreg = mkHReg(True, HRcFlt64, 0, j++);
6395 hreg = mkHReg(True, HRcInt32, 0, j++);
6398 case Ity_F32: hreg = mkHReg(True, HRcFlt32, 0, j++); break;
6399 case Ity_F64: hreg = mkHReg(True, HRcFlt64, 0, j++); break;
6400 case Ity_V128: hreg = mkHReg(True, HRcVec128, 0, j++); break;
6404 env->vregmap[i] = hreg;