On 05/10/2018 07:01 AM, Peter Maydell wrote:
> In float-to-integer conversion, if the floating point input
> converts exactly to the largest or smallest integer that
> fits in to the result type, this is not an overflow.
> In this situation we were producing the correct result value,
> but were incorrectly setting the Invalid flag.
> For example for Arm A64, "FCVTAS w0, d0" on an input of
> 0x41dfffffffc00000 should produce 0x7fffffff and set no flags.
> 
> Fix the boundary case to take the right half of the if()
> statements.
> 
> This fixes a regression from 2.11 introduced by the softfloat
> refactoring.
> 
> Cc: qemu-sta...@nongnu.org
> Fixes: ab52f973a50
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
>  fpu/softfloat.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>


r~


Reply via email to