From: Richard Henderson Date: Sat, 25 Feb 2023 20:28:05 +0000 (-1000) Subject: target/arm: Handle FPROUNDING_ODD in arm_rmode_to_sf X-Git-Tag: v8.0.0-rc0~4^2~22 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ab9ced73fa6679791c61d45768414cec578b6053;p=thirdparty%2Fqemu.git target/arm: Handle FPROUNDING_ODD in arm_rmode_to_sf While this enumerator has been present since the first commit, it isn't ever used. The first actual use of round-to-odd came with SVE, which currently uses float_round_to_odd instead of the arm-specific enumerator. Amusingly, the comment about unhandled TIEAWAY has been out of date since the initial commit of translate-a64.c. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- diff --git a/target/arm/vfp_helper.c b/target/arm/vfp_helper.c index 24e3d820a5b..90cc324f712 100644 --- a/target/arm/vfp_helper.c +++ b/target/arm/vfp_helper.c @@ -1111,10 +1111,8 @@ int arm_rmode_to_sf(int rmode) rmode = float_round_ties_away; break; case FPROUNDING_ODD: - /* FIXME: add support for TIEAWAY and ODD */ - qemu_log_mask(LOG_UNIMP, "arm: unimplemented rounding mode: %d\n", - rmode); - /* fall through for now */ + rmode = float_round_to_odd; + break; case FPROUNDING_TIEEVEN: default: rmode = float_round_nearest_even;