target/arm: Move 'env' argument of recps_f32 and rsqrts_f32 helpers to usual place
The usual location for the env argument in the argument list of a TCG helper is immediately after the return-value argument. recps_f32 and rsqrts_f32 differ in that they put it at the end. Move the env argument to its usual place; this will allow us to more easily use these helper functions with the gvec APIs. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20200512163904.10918-16-peter.maydell@linaro.org
This commit is contained in:
parent
727ff1d632
commit
26c6f695cf
@ -203,8 +203,8 @@ DEF_HELPER_FLAGS_3(vfp_fcvt_f64_to_f16, TCG_CALL_NO_RWG, f16, f64, ptr, i32)
|
||||
DEF_HELPER_4(vfp_muladdd, f64, f64, f64, f64, ptr)
|
||||
DEF_HELPER_4(vfp_muladds, f32, f32, f32, f32, ptr)
|
||||
|
||||
DEF_HELPER_3(recps_f32, f32, f32, f32, env)
|
||||
DEF_HELPER_3(rsqrts_f32, f32, f32, f32, env)
|
||||
DEF_HELPER_3(recps_f32, f32, env, f32, f32)
|
||||
DEF_HELPER_3(rsqrts_f32, f32, env, f32, f32)
|
||||
DEF_HELPER_FLAGS_2(recpe_f16, TCG_CALL_NO_RWG, f16, f16, ptr)
|
||||
DEF_HELPER_FLAGS_2(recpe_f32, TCG_CALL_NO_RWG, f32, f32, ptr)
|
||||
DEF_HELPER_FLAGS_2(recpe_f64, TCG_CALL_NO_RWG, f64, f64, ptr)
|
||||
|
@ -5494,9 +5494,9 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn)
|
||||
tcg_temp_free_ptr(fpstatus);
|
||||
} else {
|
||||
if (size == 0) {
|
||||
gen_helper_recps_f32(tmp, tmp, tmp2, cpu_env);
|
||||
gen_helper_recps_f32(tmp, cpu_env, tmp, tmp2);
|
||||
} else {
|
||||
gen_helper_rsqrts_f32(tmp, tmp, tmp2, cpu_env);
|
||||
gen_helper_rsqrts_f32(tmp, cpu_env, tmp, tmp2);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -581,7 +581,7 @@ uint32_t HELPER(vfp_fcvt_f64_to_f16)(float64 a, void *fpstp, uint32_t ahp_mode)
|
||||
#define float32_three make_float32(0x40400000)
|
||||
#define float32_one_point_five make_float32(0x3fc00000)
|
||||
|
||||
float32 HELPER(recps_f32)(float32 a, float32 b, CPUARMState *env)
|
||||
float32 HELPER(recps_f32)(CPUARMState *env, float32 a, float32 b)
|
||||
{
|
||||
float_status *s = &env->vfp.standard_fp_status;
|
||||
if ((float32_is_infinity(a) && float32_is_zero_or_denormal(b)) ||
|
||||
@ -594,7 +594,7 @@ float32 HELPER(recps_f32)(float32 a, float32 b, CPUARMState *env)
|
||||
return float32_sub(float32_two, float32_mul(a, b, s), s);
|
||||
}
|
||||
|
||||
float32 HELPER(rsqrts_f32)(float32 a, float32 b, CPUARMState *env)
|
||||
float32 HELPER(rsqrts_f32)(CPUARMState *env, float32 a, float32 b)
|
||||
{
|
||||
float_status *s = &env->vfp.standard_fp_status;
|
||||
float32 product;
|
||||
|
Loading…
Reference in New Issue
Block a user