target/arm: Handle FPCR.NEP in do_cvtf_scalar()

Handle FPCR.NEP in the operations handled by do_cvtf_scalar().

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Peter Maydell 2025-02-01 16:39:23 +00:00
parent 3f88032ce2
commit 13ab4eb190

View File

@ -8733,7 +8733,7 @@ static bool do_cvtf_scalar(DisasContext *s, MemOp esz, int rd, int shift,
} else {
gen_helper_vfp_uqtod(tcg_double, tcg_int, tcg_shift, tcg_fpstatus);
}
write_fp_dreg(s, rd, tcg_double);
write_fp_dreg_merging(s, rd, rd, tcg_double);
break;
case MO_32:
@ -8743,7 +8743,7 @@ static bool do_cvtf_scalar(DisasContext *s, MemOp esz, int rd, int shift,
} else {
gen_helper_vfp_uqtos(tcg_single, tcg_int, tcg_shift, tcg_fpstatus);
}
write_fp_sreg(s, rd, tcg_single);
write_fp_sreg_merging(s, rd, rd, tcg_single);
break;
case MO_16:
@ -8753,7 +8753,7 @@ static bool do_cvtf_scalar(DisasContext *s, MemOp esz, int rd, int shift,
} else {
gen_helper_vfp_uqtoh(tcg_single, tcg_int, tcg_shift, tcg_fpstatus);
}
write_fp_sreg(s, rd, tcg_single);
write_fp_hreg_merging(s, rd, rd, tcg_single);
break;
default: