Lines Matching defs:hreg
54 - A mapping from IRTemp to HReg. This tells the insn selector
76 HReg *vregmap;
77 HReg *vregmapHI;
90 static HReg s390_isel_int_expr(ISelEnv *, IRExpr *);
94 static void s390_isel_int128_expr(HReg *, HReg *, ISelEnv *, IRExpr *);
95 static HReg s390_isel_float_expr(ISelEnv *, IRExpr *);
96 static void s390_isel_float128_expr(HReg *, HReg *, ISelEnv *, IRExpr *);
123 static HReg
135 lookupIRTemp128(HReg *hi, HReg *lo, ISelEnv *env, IRTemp tmp)
146 static HReg
149 HReg reg = mkHReg(env->vreg_ctr, HRcInt64, True /* virtual */ );
157 static HReg
160 HReg reg = mkHReg(env->vreg_ctr, HRcFlt64, True /* virtual */ );
169 static __inline__ HReg
177 static __inline__ HReg
280 s390_opnd_copy(UChar size, HReg dst, s390_opnd_RMI opnd)
300 s390_opnd_reg(HReg reg)
360 HReg tmpregs[S390_NUM_GPRPARMS];
402 HReg finalreg;
453 static HReg
454 convert_s390_fpcc_to_vex(ISelEnv *env, HReg cc_s390)
456 HReg cc0, cc1, b2, b6, cc_vex;
491 s390_isel_int128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env,
537 HReg r10, r11, h1;
568 HReg r10, r11, h1;
596 HReg r10, r11, hi, lo;
635 s390_isel_int128_expr(HReg *dst_hi, HReg *dst_lo, ISelEnv *env, IRExpr *expr)
667 static HReg
687 HReg dst = newVRegI(env);
702 HReg h1, res;
724 HReg r10, r11;
764 HReg r10, r11;
818 HReg op_hi, op_lo, f13, f15;
840 HReg h2;
871 HReg cc_s390, h2;
885 HReg op1_hi, op1_lo, op2_hi, op2_lo, f12, f13, f14, f15, cc_s390;
1007 HReg dst, h1;
1078 HReg dst_hi, dst_lo;
1085 HReg dst_hi, dst_lo;
1185 HReg r10, r11;
1210 HReg dst = newVRegI(env);
1228 HReg dst = newVRegI(env);
1246 HReg dst = newVRegI(env);
1266 HReg dst, tmp, rX;
1317 static HReg
1320 HReg dst = s390_isel_int_expr_wrk(env, expr);
1375 s390_isel_float128_expr_wrk(HReg *dst_hi, HReg *dst_lo, ISelEnv *env,
1433 HReg op1_hi, op1_lo, op2_hi, op2_lo, f12, f13, f14, f15;
1476 HReg op_hi, op_lo, f12, f13, f14, f15;
1522 HReg op_hi, op_lo, op, f12, f13, f14, f15;
1588 s390_isel_float128_expr(HReg *dst_hi, HReg *dst_lo, ISelEnv *env, IRExpr *expr)
1604 static HReg
1621 HReg dst = newVRegF(env);
1634 HReg dst = newVRegF(env);
1648 HReg dst = newVRegF(env);
1667 HReg op1, op2, op3, dst;
1700 HReg h1, op2, dst;
1729 HReg h1, dst;
1756 HReg op_hi, op_lo, f12, f13, f14, f15;
1804 HReg h1, dst;
1807 HReg dst_hi, dst_lo;
1864 static HReg
1867 HReg dst = s390_isel_float_expr_wrk(env, expr);
1901 HReg reg = lookupIRTemp(env, tmp);
1924 HReg dst = s390_isel_int_expr(env, arg);
1937 HReg dst;
1967 HReg reg1, reg2;
2031 HReg op1;
2048 HReg op1;
2064 HReg op1;
2106 HReg src;
2140 HReg src;
2174 HReg src, dst;
2178 HReg dst_hi, dst_lo, res_hi, res_lo;
2210 HReg dst_hi, dst_lo, res_hi, res_lo;
2250 HReg dst = lookupIRTemp(env, d->tmp);
2263 HReg op3 = s390_isel_int_expr(env, cas->dataLo); /* new value */
2264 HReg op1 = s390_isel_int_expr(env, cas->expdLo); /* expected value */
2265 HReg old = lookupIRTemp(env, cas->oldLo);
2355 HReg hreg, hregHI;
2375 /* Make up an IRTemp -> virtual HReg mapping. This doesn't
2382 env->vregmap = LibVEX_Alloc(env->n_vregmap * sizeof(HReg));
2383 env->vregmapHI = LibVEX_Alloc(env->n_vregmap * sizeof(HReg));
2392 hregHI = hreg = INVALID_HREG;
2398 hreg = mkHReg(j++, HRcInt64, True);
2402 hreg = mkHReg(j++, HRcInt64, True);
2406 hreg = mkHReg(j++, HRcInt64, True);
2412 hreg = mkHReg(j++, HRcFlt64, True);
2416 hreg = mkHReg(j++, HRcFlt64, True);
2426 env->vregmap[i] = hreg;