Lines Matching refs:IEndianess
383 IREndness IEndianess );
385 IREndness IEndianess );
398 IREndness IEndianess );
401 IREndness IEndianess );
406 IREndness IEndianess );
408 IREndness IEndianess );
414 IREndness IEndianess );
416 IREndness IEndianess );
422 IREndness IEndianess );
424 IREndness IEndianess );
439 IREndness IEndianess );
442 IREndness IEndianess );
447 IREndness IEndianess );
451 IREndness IEndianess );
457 IREndness IEndianess );
460 IREndness IEndianess );
465 IREndness IEndianess );
469 IREndness IEndianess );
472 IREndness IEndianess );
474 IREndness IEndianess );
477 IREndness IEndianess );
479 IREndness IEndianess );
482 IREndness IEndianess );
484 IREndness IEndianess );
487 IREndness IEndianess );
489 IREndness IEndianess );
493 IREndness IEndianess );
495 IREndness IEndianess );
497 IREndness IEndianess );
499 IREndness IEndianess );
503 IRExpr* e, IREndness IEndianess );
505 IRExpr* e, IREndness IEndianess );
632 IRExpr* off, Int bias, IREndness IEndianess ) in genGuestArrayOffset() argument
664 roff = iselWordExpr_R(env, off, IEndianess); in genGuestArrayOffset()
722 IREndness IEndianess) in doHelperCall() argument
896 IEndianess) )); in doHelperCall()
903 iselInt64Expr(&rHi,&rLo, env, arg, IEndianess); in doHelperCall()
913 IEndianess) )); in doHelperCall()
973 tmpregs[argreg] = iselWordExpr_R(env, arg, IEndianess); in doHelperCall()
980 iselInt64Expr(&rHi,&rLo, env, arg, IEndianess); in doHelperCall()
985 tmpregs[argreg] = iselWordExpr_R(env, arg, IEndianess); in doHelperCall()
1002 cc = iselCondCode( env, guard, IEndianess ); in doHelperCall()
1165 IREndness IEndianess ) in _set_FPU_rounding_mode() argument
1189 r_src = roundModeIRtoPPC( env, iselWordExpr_R(env, mode, IEndianess) ); in _set_FPU_rounding_mode()
1217 IREndness IEndianess ) in set_FPU_rounding_mode() argument
1219 _set_FPU_rounding_mode(env, mode, False, IEndianess); in set_FPU_rounding_mode()
1223 IREndness IEndianess ) in set_FPU_DFP_rounding_mode() argument
1225 _set_FPU_rounding_mode(env, mode, True, IEndianess); in set_FPU_DFP_rounding_mode()
1260 static HReg mk_AvDuplicateRI( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in mk_AvDuplicateRI() argument
1264 PPCRI* ri = iselWordExpr_RI(env, e, IEndianess); in mk_AvDuplicateRI()
1339 static HReg isNan ( ISelEnv* env, HReg vSrc, IREndness IEndianess ) in isNan() argument
1345 zeros = mk_AvDuplicateRI(env, mkU32(0), IEndianess); in isNan()
1346 msk_exp = mk_AvDuplicateRI(env, mkU32(0x7F800000), IEndianess); in isNan()
1347 msk_mnt = mk_AvDuplicateRI(env, mkU32(0x7FFFFF), IEndianess); in isNan()
1383 static HReg iselWordExpr_R ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselWordExpr_R() argument
1385 HReg r = iselWordExpr_R_wrk(env, e, IEndianess); in iselWordExpr_R()
1398 IREndness IEndianess ) in iselWordExpr_R_wrk() argument
1418 if (e->Iex.Load.end != IEndianess) in iselWordExpr_R_wrk()
1422 IEndianess ); in iselWordExpr_R_wrk()
1453 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1459 e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1463 e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1486 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1492 ri_srcR = iselWordExpr_RH5u(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1494 ri_srcR = iselWordExpr_RH6u(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1535 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1536 HReg r_srcR = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1553 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1554 HReg r_srcR = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1575 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1576 HReg r_srcR = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1590 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1591 HReg r_srcR = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1610 HReg srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1612 IEndianess); in iselWordExpr_R_wrk()
1625 HReg srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1627 IEndianess); in iselWordExpr_R_wrk()
1638 HReg r1 = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1639 HReg r2 = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1650 HReg r_Hi = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1651 HReg r_Lo = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1682 fr_srcL = iselDblExpr(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1683 fr_srcR = iselDblExpr(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1687 fr_srcL = iselDfp64Expr(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_R_wrk()
1688 fr_srcR = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1693 IEndianess); in iselWordExpr_R_wrk()
1695 IEndianess); in iselWordExpr_R_wrk()
1752 HReg fsrc = iselDblExpr(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1757 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselWordExpr_R_wrk()
1784 IEndianess); in iselWordExpr_R_wrk()
1789 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselWordExpr_R_wrk()
1809 HReg fr_src = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_R_wrk()
1814 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselWordExpr_R_wrk()
1835 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselWordExpr_R_wrk()
1837 IEndianess); in iselWordExpr_R_wrk()
1860 HReg r_src = iselWordExpr_R(env, expr32, IEndianess); in iselWordExpr_R_wrk()
1871 IRExpr_Load(IEndianess,Ity_I16,bind(0))) ); in iselWordExpr_R_wrk()
1876 IEndianess ); in iselWordExpr_R_wrk()
1889 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1898 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1912 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1925 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1938 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1953 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1960 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1964 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1974 iselInt64Expr(&rHi,&rLo, env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1978 return iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1983 return iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
1990 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2000 iselInt128Expr(&rHi,&rLo, env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2007 iselInt128Expr(&rHi,&rLo, env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2016 PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2026 PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2040 PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2058 r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2071 r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2079 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2089 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2101 HReg vec = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2116 if (IEndianess == Iend_LE) in iselWordExpr_R_wrk()
2136 HReg vec = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2148 if (IEndianess == Iend_LE) { in iselWordExpr_R_wrk()
2174 return iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2182 HReg fr_src = iselDblExpr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2206 HReg fr_src = iselFltExpr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2226 HReg fr_src = iselDfp64Expr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2259 IEndianess) ) ); in iselWordExpr_R_wrk()
2262 if (IEndianess == Iend_LE) { in iselWordExpr_R_wrk()
2295 IEndianess) ) ); in iselWordExpr_R_wrk()
2299 if (IEndianess == Iend_LE) { in iselWordExpr_R_wrk()
2323 HReg fr_src = iselDfp64Expr(env, e->Iex.Unop.arg, IEndianess); in iselWordExpr_R_wrk()
2343 IEndianess); in iselWordExpr_R_wrk()
2378 IEndianess ); in iselWordExpr_R_wrk()
2407 IEndianess ); in iselWordExpr_R_wrk()
2441 PPCRI* r1 = iselWordExpr_RI(env, e->Iex.ITE.iftrue, IEndianess); in iselWordExpr_R_wrk()
2442 HReg r0 = iselWordExpr_R(env, e->Iex.ITE.iffalse, IEndianess); in iselWordExpr_R_wrk()
2445 PPCCondCode cc = iselCondCode(env, e->Iex.ITE.cond, IEndianess); in iselWordExpr_R_wrk()
2522 IREndness IEndianess ) in iselWordExpr_AMode() argument
2524 PPCAMode* am = iselWordExpr_AMode_wrk(env, e, xferTy, IEndianess); in iselWordExpr_AMode()
2531 IRType xferTy, IREndness IEndianess ) in iselWordExpr_AMode_wrk() argument
2560 IEndianess) ); in iselWordExpr_AMode_wrk()
2566 HReg r_base = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_AMode_wrk()
2567 HReg r_idx = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_AMode_wrk()
2584 IEndianess) ); in iselWordExpr_AMode_wrk()
2590 HReg r_base = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselWordExpr_AMode_wrk()
2591 HReg r_idx = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselWordExpr_AMode_wrk()
2599 return PPCAMode_IR( 0, iselWordExpr_R(env,e,IEndianess) ); in iselWordExpr_AMode_wrk()
2613 IREndness IEndianess ) in iselWordExpr_RH() argument
2615 PPCRH* ri = iselWordExpr_RH_wrk(env, syned, e, IEndianess); in iselWordExpr_RH()
2634 IREndness IEndianess ) in iselWordExpr_RH_wrk() argument
2667 return PPCRH_Reg( iselWordExpr_R ( env, e, IEndianess ) ); in iselWordExpr_RH_wrk()
2677 static PPCRI* iselWordExpr_RI ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselWordExpr_RI() argument
2679 PPCRI* ri = iselWordExpr_RI_wrk(env, e, IEndianess); in iselWordExpr_RI()
2695 IREndness IEndianess ) in iselWordExpr_RI_wrk() argument
2717 return PPCRI_Reg( iselWordExpr_R ( env, e, IEndianess ) ); in iselWordExpr_RI_wrk()
2728 IREndness IEndianess ) in iselWordExpr_RH5u() argument
2732 ri = iselWordExpr_RH5u_wrk(env, e, IEndianess); in iselWordExpr_RH5u()
2750 IREndness IEndianess ) in iselWordExpr_RH5u_wrk() argument
2764 return PPCRH_Reg( iselWordExpr_R ( env, e, IEndianess ) ); in iselWordExpr_RH5u_wrk()
2775 IREndness IEndianess ) in iselWordExpr_RH6u() argument
2779 ri = iselWordExpr_RH6u_wrk(env, e, IEndianess); in iselWordExpr_RH6u()
2797 IREndness IEndianess ) in iselWordExpr_RH6u_wrk() argument
2811 return PPCRH_Reg( iselWordExpr_R ( env, e, IEndianess ) ); in iselWordExpr_RH6u_wrk()
2822 IREndness IEndianess ) in iselCondCode() argument
2825 return iselCondCode_wrk(env,e, IEndianess); in iselCondCode()
2830 IREndness IEndianess ) in iselCondCode_wrk() argument
2848 PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg, IEndianess); in iselCondCode_wrk()
2858 HReg src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselCondCode_wrk()
2875 HReg arg = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselCondCode_wrk()
2889 HReg r1 = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselCondCode_wrk()
2907 HReg r1 = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselCondCode_wrk()
2908 PPCRH* ri2 = iselWordExpr_RH(env, syned, e->Iex.Binop.arg2, IEndianess); in iselCondCode_wrk()
2931 iselInt64Expr( &hi, &lo, env, e->Iex.Unop.arg, IEndianess ); in iselCondCode_wrk()
2937 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselCondCode_wrk()
2956 HReg r1 = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselCondCode_wrk()
2957 PPCRH* ri2 = iselWordExpr_RH(env, syned, e->Iex.Binop.arg2, IEndianess); in iselCondCode_wrk()
2979 HReg arg = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselCondCode_wrk()
3018 ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselInt128Expr() argument
3021 iselInt128Expr_wrk(rHi, rLo, env, e, IEndianess); in iselInt128Expr()
3033 ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselInt128Expr_wrk() argument
3053 HReg r_srcL = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselInt128Expr_wrk()
3054 HReg r_srcR = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselInt128Expr_wrk()
3068 *rHi = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselInt128Expr_wrk()
3069 *rLo = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselInt128Expr_wrk()
3098 IREndness IEndianess ) in iselInt128Expr_to_32x4() argument
3101 iselInt128Expr_to_32x4_wrk(rHi, rMedHi, rMedLo, rLo, env, e, IEndianess); in iselInt128Expr_to_32x4()
3118 IREndness IEndianess ) in iselInt128Expr_to_32x4_wrk() argument
3134 iselInt64Expr(rHi, rMedHi, env, e->Iex.Binop.arg1, IEndianess); in iselInt128Expr_to_32x4_wrk()
3135 iselInt64Expr(rMedLo, rLo, env, e->Iex.Binop.arg2, IEndianess); in iselInt128Expr_to_32x4_wrk()
3156 IREndness IEndianess ) in iselInt64Expr() argument
3159 iselInt64Expr_wrk(rHi, rLo, env, e, IEndianess); in iselInt64Expr()
3172 IREndness IEndianess ) in iselInt64Expr_wrk() argument
3178 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselInt64Expr_wrk()
3181 HReg r_addr = iselWordExpr_R(env, e->Iex.Load.addr, IEndianess); in iselInt64Expr_wrk()
3232 iselInt64Expr(&eXHi, &eXLo, env, e->Iex.ITE.iftrue, IEndianess); in iselInt64Expr_wrk()
3233 iselInt64Expr(&e0Hi, &e0Lo, env, e->Iex.ITE.iffalse, IEndianess); in iselInt64Expr_wrk()
3238 PPCCondCode cc = iselCondCode(env, e->Iex.ITE.cond, IEndianess); in iselInt64Expr_wrk()
3257 IEndianess); in iselInt64Expr_wrk()
3259 IEndianess); in iselInt64Expr_wrk()
3280 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1, IEndianess); in iselInt64Expr_wrk()
3281 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2, IEndianess); in iselInt64Expr_wrk()
3294 iselInt64Expr(&xHi, &xLo, env, e->Iex.Binop.arg1, IEndianess); in iselInt64Expr_wrk()
3295 iselInt64Expr(&yHi, &yLo, env, e->Iex.Binop.arg2, IEndianess); in iselInt64Expr_wrk()
3307 *rHi = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselInt64Expr_wrk()
3308 *rLo = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselInt64Expr_wrk()
3319 IEndianess); in iselInt64Expr_wrk()
3324 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselInt64Expr_wrk()
3347 HReg fr_src = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselInt64Expr_wrk()
3351 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselInt64Expr_wrk()
3373 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselInt64Expr_wrk()
3375 IEndianess); in iselInt64Expr_wrk()
3403 iselInt64Expr(&argHi, &argLo, env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3422 iselInt64Expr(&argHi, &argLo, env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3441 HReg src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3450 HReg fr_src = iselDfp64Expr(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3477 iselDfp128Expr(&r_srcHi, &r_srcLo, env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3495 HReg tLo = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3511 env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3526 env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3539 HReg vec = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3569 PPCCondCode cond = iselCondCode(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3585 iselInt64Expr(&xHi, &xLo, env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3598 HReg fr_src = iselDblExpr(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3623 HReg fr_src = iselDfp64Expr(env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3667 iselInt64Expr( &tmpHi, &tmpLo, env, e->Iex.Unop.arg, IEndianess ); in iselInt64Expr_wrk()
3677 if (IEndianess == Iend_LE) { in iselInt64Expr_wrk()
3715 iselInt64Expr(&tmpHi, &tmpLo, env, e->Iex.Unop.arg, IEndianess); in iselInt64Expr_wrk()
3725 if (IEndianess == Iend_LE) { in iselInt64Expr_wrk()
3763 static HReg iselFltExpr ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselFltExpr() argument
3765 HReg r = iselFltExpr_wrk( env, e, IEndianess ); in iselFltExpr()
3775 static HReg iselFltExpr_wrk ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselFltExpr_wrk() argument
3786 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselFltExpr_wrk()
3791 IEndianess); in iselFltExpr_wrk()
3833 HReg fsrc = iselDblExpr(env, e->Iex.Unop.arg, IEndianess); in iselFltExpr_wrk()
3851 HReg isrc = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselFltExpr_wrk()
3856 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselFltExpr_wrk()
3879 iselInt64Expr(&isrcHi, &isrcLo, env, e->Iex.Binop.arg2, IEndianess); in iselFltExpr_wrk()
3882 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselFltExpr_wrk()
3935 static HReg iselDblExpr ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselDblExpr() argument
3937 HReg r = iselDblExpr_wrk( env, e, IEndianess ); in iselDblExpr()
3947 static HReg iselDblExpr_wrk ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselDblExpr_wrk() argument
3989 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselDblExpr_wrk()
3994 IEndianess); in iselDblExpr_wrk()
4021 IEndianess); in iselDblExpr_wrk()
4023 IEndianess); in iselDblExpr_wrk()
4025 IEndianess); in iselDblExpr_wrk()
4026 set_FPU_rounding_mode( env, e->Iex.Qop.details->arg1, IEndianess ); in iselDblExpr_wrk()
4049 HReg r_srcL = iselDblExpr(env, triop->arg2, IEndianess); in iselDblExpr_wrk()
4050 HReg r_srcR = iselDblExpr(env, triop->arg3, IEndianess); in iselDblExpr_wrk()
4051 set_FPU_rounding_mode( env, triop->arg1, IEndianess ); in iselDblExpr_wrk()
4065 HReg fr_src = iselDblExpr(env, e->Iex.Binop.arg2, IEndianess); in iselDblExpr_wrk()
4066 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDblExpr_wrk()
4076 HReg r_src = iselDblExpr(env, e->Iex.Binop.arg2, IEndianess); in iselDblExpr_wrk()
4077 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDblExpr_wrk()
4086 HReg isrc = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselDblExpr_wrk()
4091 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDblExpr_wrk()
4116 IEndianess); in iselDblExpr_wrk()
4119 set_FPU_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDblExpr_wrk()
4155 HReg fr_src = iselDblExpr(env, e->Iex.Unop.arg, IEndianess); in iselDblExpr_wrk()
4169 IEndianess); in iselDblExpr_wrk()
4172 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselDblExpr_wrk()
4182 HReg src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselDblExpr_wrk()
4202 HReg res = iselFltExpr(env, e->Iex.Unop.arg, IEndianess); in iselDblExpr_wrk()
4214 HReg fr1 = iselDblExpr(env, e->Iex.ITE.iftrue, IEndianess); in iselDblExpr_wrk()
4215 HReg fr0 = iselDblExpr(env, e->Iex.ITE.iffalse, IEndianess); in iselDblExpr_wrk()
4218 PPCCondCode cc = iselCondCode(env, e->Iex.ITE.cond, IEndianess); in iselDblExpr_wrk()
4229 static HReg iselDfp32Expr(ISelEnv* env, IRExpr* e, IREndness IEndianess) in iselDfp32Expr() argument
4231 HReg r = iselDfp32Expr_wrk( env, e, IEndianess ); in iselDfp32Expr()
4238 static HReg iselDfp32Expr_wrk(ISelEnv* env, IRExpr* e, IREndness IEndianess) in iselDfp32Expr_wrk() argument
4256 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselDfp32Expr_wrk()
4261 IEndianess); in iselDfp32Expr_wrk()
4270 HReg fr_src = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselDfp32Expr_wrk()
4271 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp32Expr_wrk()
4281 static HReg iselDfp64Expr(ISelEnv* env, IRExpr* e, IREndness IEndianess) in iselDfp64Expr() argument
4283 HReg r = iselDfp64Expr_wrk( env, e, IEndianess ); in iselDfp64Expr()
4290 static HReg iselDfp64Expr_wrk(ISelEnv* env, IRExpr* e, IREndness IEndianess) in iselDfp64Expr_wrk() argument
4312 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselDfp64Expr_wrk()
4317 IEndianess); in iselDfp64Expr_wrk()
4337 IEndianess); in iselDfp64Expr_wrk()
4340 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselDfp64Expr_wrk()
4345 HReg fr_src = iselDfp32Expr(env, e->Iex.Unop.arg, IEndianess); in iselDfp64Expr_wrk()
4351 IEndianess ); in iselDfp64Expr_wrk()
4355 IEndianess ); in iselDfp64Expr_wrk()
4358 HReg fr_srcL = iselDblExpr(env, e->Iex.Binop.arg1, IEndianess); in iselDfp64Expr_wrk()
4359 HReg fr_srcR = iselDblExpr(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4386 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp64Expr_wrk()
4388 IEndianess); in iselDfp64Expr_wrk()
4394 PPCRI* r_rmc = iselWordExpr_RI(env, e->Iex.Binop.arg1, IEndianess); in iselDfp64Expr_wrk()
4401 fr_src = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4406 HReg fr_src = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4407 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp64Expr_wrk()
4415 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp64Expr_wrk()
4420 HReg tmp = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4428 IEndianess); in iselDfp64Expr_wrk()
4446 HReg fr_src = iselDfp64Expr(env, e->Iex.Binop.arg1, IEndianess); in iselDfp64Expr_wrk()
4447 PPCRI* shift = iselWordExpr_RI(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4464 HReg fr_srcR = iselDfp64Expr(env, e->Iex.Binop.arg2, IEndianess); in iselDfp64Expr_wrk()
4470 HReg tmp = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselDfp64Expr_wrk()
4480 IEndianess); in iselDfp64Expr_wrk()
4514 HReg r_srcL = iselDfp64Expr( env, triop->arg2, IEndianess ); in iselDfp64Expr_wrk()
4515 HReg r_srcR = iselDfp64Expr( env, triop->arg3, IEndianess ); in iselDfp64Expr_wrk()
4517 set_FPU_DFP_rounding_mode( env, triop->arg1, IEndianess ); in iselDfp64Expr_wrk()
4529 HReg r_srcL = iselDfp64Expr(env, triop->arg2, IEndianess); in iselDfp64Expr_wrk()
4530 HReg r_srcR = iselDfp64Expr(env, triop->arg3, IEndianess); in iselDfp64Expr_wrk()
4531 PPCRI* rmc = iselWordExpr_RI(env, triop->arg1, IEndianess); in iselDfp64Expr_wrk()
4539 HReg r_srcR = iselDfp64Expr(env, triop->arg3, IEndianess); in iselDfp64Expr_wrk()
4540 PPCRI* rmc = iselWordExpr_RI(env, triop->arg1, IEndianess); in iselDfp64Expr_wrk()
4542 HReg i8_val = iselWordExpr_R(env, triop->arg2, IEndianess); in iselDfp64Expr_wrk()
4565 IREndness IEndianess) in iselDfp128Expr() argument
4567 iselDfp128Expr_wrk( rHi, rLo, env, e, IEndianess ); in iselDfp128Expr()
4574 IREndness IEndianess) in iselDfp128Expr_wrk() argument
4595 HReg tmp = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselDfp128Expr_wrk()
4602 IEndianess); in iselDfp128Expr_wrk()
4613 HReg r_src = iselDfp64Expr(env, e->Iex.Unop.arg, IEndianess); in iselDfp128Expr_wrk()
4634 r_srcHi = iselDfp64Expr( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp128Expr_wrk()
4635 r_srcLo = iselDfp64Expr( env, e->Iex.Binop.arg2, IEndianess ); in iselDfp128Expr_wrk()
4644 set_FPU_DFP_rounding_mode( env, e->Iex.Binop.arg1, IEndianess ); in iselDfp128Expr_wrk()
4646 IEndianess); in iselDfp128Expr_wrk()
4660 PPCRI* shift = iselWordExpr_RI(env, e->Iex.Binop.arg2, IEndianess); in iselDfp128Expr_wrk()
4664 IEndianess); in iselDfp128Expr_wrk()
4679 PPCRI* r_rmc = iselWordExpr_RI(env, e->Iex.Binop.arg1, IEndianess); in iselDfp128Expr_wrk()
4683 IEndianess); in iselDfp128Expr_wrk()
4700 IEndianess); in iselDfp128Expr_wrk()
4704 HReg tmp = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselDfp128Expr_wrk()
4711 IEndianess); in iselDfp128Expr_wrk()
4759 iselDfp128Expr( &r_dstHi, &r_dstLo, env, triop->arg2, IEndianess ); in iselDfp128Expr_wrk()
4760 iselDfp128Expr( &r_srcRHi, &r_srcRLo, env, triop->arg3, IEndianess ); in iselDfp128Expr_wrk()
4761 set_FPU_DFP_rounding_mode( env, triop->arg1, IEndianess ); in iselDfp128Expr_wrk()
4777 PPCRI* rmc = iselWordExpr_RI(env, triop->arg1, IEndianess); in iselDfp128Expr_wrk()
4780 iselDfp128Expr(&r_dstHi, &r_dstLo, env, triop->arg2, IEndianess); in iselDfp128Expr_wrk()
4781 iselDfp128Expr(&r_srcHi, &r_srcLo, env, triop->arg3, IEndianess); in iselDfp128Expr_wrk()
4793 PPCRI* rmc = iselWordExpr_RI(env, triop->arg1, IEndianess); in iselDfp128Expr_wrk()
4796 HReg i8_val = iselWordExpr_R(env, triop->arg2, IEndianess); in iselDfp128Expr_wrk()
4799 iselDfp128Expr(&r_srcHi, &r_srcLo, env, triop->arg3, IEndianess); in iselDfp128Expr_wrk()
4841 static HReg iselVecExpr ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselVecExpr() argument
4843 HReg r = iselVecExpr_wrk( env, e, IEndianess ); in iselVecExpr()
4853 static HReg iselVecExpr_wrk ( ISelEnv* env, IRExpr* e, IREndness IEndianess ) in iselVecExpr_wrk() argument
4877 if (e->tag == Iex_Load && e->Iex.Load.end == IEndianess) { in iselVecExpr_wrk()
4899 rB = iselWordExpr_R( env, e->Iex.Load.addr, IEndianess ); in iselVecExpr_wrk()
4905 if (IEndianess == Iend_LE) in iselVecExpr_wrk()
4922 if (IEndianess == Iend_LE) in iselVecExpr_wrk()
4936 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
4943 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
4953 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
4963 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
4973 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
4994 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
5002 HReg r_src = iselWordExpr_R(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
5017 if (IEndianess == Iend_LE) in iselVecExpr_wrk()
5025 if (IEndianess == Iend_LE) in iselVecExpr_wrk()
5031 if (IEndianess == Iend_LE) in iselVecExpr_wrk()
5043 return mk_AvDuplicateRI(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
5047 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
5060 HReg arg = iselVecExpr(env, e->Iex.Unop.arg, IEndianess); in iselVecExpr_wrk()
5090 iselInt64Expr(&r1, &r0, env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5094 iselInt64Expr(&r3, &r2, env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5104 HReg rHi = iselWordExpr_R(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5105 HReg rLo = iselWordExpr_R(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5118 if (IEndianess == Iend_LE) { in iselVecExpr_wrk()
5140 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5141 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5148 HReg argL = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5149 HReg argR = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5157 HReg isNanL = isNan(env, argL, IEndianess); in iselVecExpr_wrk()
5158 HReg isNanR = isNan(env, argR, IEndianess); in iselVecExpr_wrk()
5173 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5174 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5205 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5206 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5240 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5241 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5278 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5279 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5305 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5306 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5315 HReg r_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5317 HReg v_shft = mk_AvDuplicateRI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5326 HReg r_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5328 HReg v_shft = mk_AvDuplicateRI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5337 HReg r_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5339 HReg v_shft = mk_AvDuplicateRI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5348 HReg r_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5350 HReg v_shft = mk_AvDuplicateRI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5359 HReg r_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5360 HReg v_shft = mk_AvDuplicateRI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5368 HReg v_src = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5369 HReg v_ctl = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5379 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5380 HReg arg2 = iselVecExpr(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5389 HReg arg1 = iselVecExpr(env, e->Iex.Binop.arg1, IEndianess); in iselVecExpr_wrk()
5391 PPCRI* s_field = iselWordExpr_RI(env, e->Iex.Binop.arg2, IEndianess); in iselVecExpr_wrk()
5406 HReg arg1 = iselVecExpr(env, triop->arg1, IEndianess); in iselVecExpr_wrk()
5407 HReg arg2 = iselVecExpr(env, triop->arg2, IEndianess); in iselVecExpr_wrk()
5409 PPCRI* ps = iselWordExpr_RI(env, triop->arg3, IEndianess); in iselVecExpr_wrk()
5419 HReg argL = iselVecExpr(env, triop->arg2, IEndianess); in iselVecExpr_wrk()
5420 HReg argR = iselVecExpr(env, triop->arg3, IEndianess); in iselVecExpr_wrk()
5428 set_FPU_rounding_mode(env, triop->arg1, IEndianess); in iselVecExpr_wrk()
5461 static void iselStmt ( ISelEnv* env, IRStmt* stmt, IREndness IEndianess ) in iselStmt() argument
5478 if (end != IEndianess) in iselStmt()
5489 IEndianess); in iselStmt()
5490 HReg r_src = iselWordExpr_R(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5498 IEndianess); in iselStmt()
5499 HReg fr_src = iselDblExpr(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5507 IEndianess); in iselStmt()
5508 HReg fr_src = iselFltExpr(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5516 IEndianess); in iselStmt()
5517 HReg fr_src = iselDfp64Expr(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5525 IEndianess); in iselStmt()
5526 HReg fr_src = iselDfp32Expr(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5534 IEndianess); in iselStmt()
5535 HReg v_src = iselVecExpr(env, stmt->Ist.Store.data, IEndianess); in iselStmt()
5545 HReg r_addr = iselWordExpr_R(env, stmt->Ist.Store.addr, IEndianess); in iselStmt()
5547 IEndianess ); in iselStmt()
5566 HReg r_src = iselWordExpr_R(env, stmt->Ist.Put.data, IEndianess); in iselStmt()
5578 iselInt64Expr(&rHi,&rLo, env, stmt->Ist.Put.data, IEndianess); in iselStmt()
5586 HReg v_src = iselVecExpr(env, stmt->Ist.Put.data, IEndianess); in iselStmt()
5594 HReg fr_src = iselDblExpr(env, stmt->Ist.Put.data, IEndianess); in iselStmt()
5603 HReg fr_src = iselDfp32Expr( env, stmt->Ist.Put.data, IEndianess ); in iselStmt()
5611 HReg fr_src = iselDfp64Expr( env, stmt->Ist.Put.data, IEndianess ); in iselStmt()
5628 IEndianess ); in iselStmt()
5631 HReg r_src = iselWordExpr_R(env, puti->data, IEndianess); in iselStmt()
5637 HReg r_src = iselWordExpr_R(env, puti->data, IEndianess); in iselStmt()
5652 HReg r_src = iselWordExpr_R(env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5660 IEndianess); in iselStmt()
5669 IEndianess); in iselStmt()
5681 env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5694 IEndianess); in iselStmt()
5701 HReg fr_src = iselDblExpr(env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5707 HReg fr_src = iselFltExpr(env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5713 HReg fr_src = iselDfp32Expr(env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5719 HReg v_src = iselVecExpr(env, stmt->Ist.WrTmp.data, IEndianess); in iselStmt()
5725 HReg fr_src = iselDfp64Expr( env, stmt->Ist.WrTmp.data, IEndianess ); in iselStmt()
5734 IEndianess ); in iselStmt()
5748 if (stmt->Ist.LLSC.end != IEndianess) in iselStmt()
5757 HReg r_addr = iselWordExpr_R( env, stmt->Ist.LLSC.addr, IEndianess ); in iselStmt()
5779 HReg r_a = iselWordExpr_R(env, stmt->Ist.LLSC.addr, IEndianess); in iselStmt()
5781 IEndianess); in iselStmt()
5855 IEndianess ); in iselStmt()
5950 PPCCondCode cc = iselCondCode(env, stmt->Ist.Exit.guard, IEndianess); in iselStmt()
5976 IEndianess); in iselStmt()
5996 IEndianess); in iselStmt()
6023 IREndness IEndianess) in iselNext() argument
6059 HReg r = iselWordExpr_R(env, next, IEndianess); in iselNext()
6070 HReg r = iselWordExpr_R(env, next, IEndianess); in iselNext()
6097 HReg r = iselWordExpr_R(env, next, IEndianess); in iselNext()
6138 IREndness IEndianess; in iselSB_PPC() local
6164 IEndianess = Iend_BE; in iselSB_PPC()
6166 IEndianess = Iend_LE; in iselSB_PPC()
6283 iselStmt(env, bb->stmts[i], IEndianess); in iselSB_PPC()
6285 iselNext(env, bb->next, bb->jumpkind, bb->offsIP, IEndianess); in iselSB_PPC()