Hexagon (target/hexagon) properly handle denorm in arch_sf_recip_common
authorTaylor Simpson <tsimpson@quicinc.com>
Thu, 10 Feb 2022 02:15:49 +0000 (18:15 -0800)
committerTaylor Simpson <tsimpson@quicinc.com>
Sat, 12 Mar 2022 17:14:22 +0000 (09:14 -0800)
commit77ccf44453a83e17cc830df700cc072f6bcf6a71
treed9a8eb468926fa6f1796833b857b19058e24264a
parent9a65990326cd59f28323714d72073515091383c9
Hexagon (target/hexagon) properly handle denorm in arch_sf_recip_common

The arch_sf_recip_common function was calling float32_getexp which
adjusts for denorm, but the we actually need the raw exponent bits.

This function is called from 3 instructions
    sfrecipa
    sffixupn
    sffixupd

Test cases added to tests/tcg/hexagon/fpstuff.c

Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220210021556.9217-6-tsimpson@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
target/hexagon/arch.c
target/hexagon/fma_emu.h
tests/tcg/hexagon/fpstuff.c