diff options
author | Christophe LYON <christophe.lyon@st.com> | 2011-10-19 16:14:05 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-10-19 16:14:05 +0000 |
commit | 26cc6abf61cc2bf68eaeb89b1497c12330e6b73c (patch) | |
tree | d5d25ab1c179172d18e292b5bd23bfb45d8e44cd | |
parent | cfce6d8934243871c4dc6d0c5248b0b27a1b8d80 (diff) |
rsqrte_f32: No need to copy sign bit.
Indeed, the result is known to be always positive.
Signed-off-by: Christophe Lyon <christophe.lyon@st.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | target-arm/helper.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index e2428eb7b2..17ef98b687 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -3039,8 +3039,7 @@ float32 HELPER(rsqrte_f32)(float32 a, CPUState *env) val64 = float64_val(f64); - val = ((val64 >> 63) & 0x80000000) - | ((result_exp & 0xff) << 23) + val = ((result_exp & 0xff) << 23) | ((val64 >> 29) & 0x7fffff); return make_float32(val); } |