Message ID | 20180511004345.26708-15-richard.henderson@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | softfloat: Clean up NaN handling | expand |
On 11.05.2018 02:43, Richard Henderson wrote: > This is now handled properly by the generic softfloat code. > > Cc: Alexander Graf <agraf@suse.de> > Cc: David Hildenbrand <david@redhat.com> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/s390x/fpu_helper.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/target/s390x/fpu_helper.c b/target/s390x/fpu_helper.c > index 43f8bf1c94..5c5b451b3b 100644 > --- a/target/s390x/fpu_helper.c > +++ b/target/s390x/fpu_helper.c > @@ -269,7 +269,7 @@ uint64_t HELPER(ldeb)(CPUS390XState *env, uint64_t f2) > { > float64 ret = float32_to_float64(f2, &env->fpu_status); > handle_exceptions(env, GETPC()); > - return float64_maybe_silence_nan(ret, &env->fpu_status); > + return ret; > } > > /* convert 128-bit float to 64-bit float */ > @@ -277,7 +277,7 @@ uint64_t HELPER(ldxb)(CPUS390XState *env, uint64_t ah, uint64_t al) > { > float64 ret = float128_to_float64(make_float128(ah, al), &env->fpu_status); > handle_exceptions(env, GETPC()); > - return float64_maybe_silence_nan(ret, &env->fpu_status); > + return ret; > } > > /* convert 64-bit float to 128-bit float */ > @@ -285,7 +285,7 @@ uint64_t HELPER(lxdb)(CPUS390XState *env, uint64_t f2) > { > float128 ret = float64_to_float128(f2, &env->fpu_status); > handle_exceptions(env, GETPC()); > - return RET128(float128_maybe_silence_nan(ret, &env->fpu_status)); > + return RET128(ret); > } > > /* convert 32-bit float to 128-bit float */ > @@ -293,7 +293,7 @@ uint64_t HELPER(lxeb)(CPUS390XState *env, uint64_t f2) > { > float128 ret = float32_to_float128(f2, &env->fpu_status); > handle_exceptions(env, GETPC()); > - return RET128(float128_maybe_silence_nan(ret, &env->fpu_status)); > + return RET128(ret); > } > > /* convert 64-bit float to 32-bit float */ > @@ -301,7 +301,7 @@ uint64_t HELPER(ledb)(CPUS390XState *env, uint64_t f2) > { > float32 ret = float64_to_float32(f2, &env->fpu_status); > handle_exceptions(env, GETPC()); > - return float32_maybe_silence_nan(ret, &env->fpu_status); > + return ret; > } > > /* convert 128-bit float to 32-bit float */ > @@ -309,7 +309,7 @@ uint64_t HELPER(lexb)(CPUS390XState *env, uint64_t ah, uint64_t al) > { > float32 ret = float128_to_float32(make_float128(ah, al), &env->fpu_status); > handle_exceptions(env, GETPC()); > - return float32_maybe_silence_nan(ret, &env->fpu_status); > + return ret; > } > > /* 32-bit FP compare */ > Reviewed-by: David Hildenbrand <david@redhat.com> -- Thanks, David / dhildenb
diff --git a/target/s390x/fpu_helper.c b/target/s390x/fpu_helper.c index 43f8bf1c94..5c5b451b3b 100644 --- a/target/s390x/fpu_helper.c +++ b/target/s390x/fpu_helper.c @@ -269,7 +269,7 @@ uint64_t HELPER(ldeb)(CPUS390XState *env, uint64_t f2) { float64 ret = float32_to_float64(f2, &env->fpu_status); handle_exceptions(env, GETPC()); - return float64_maybe_silence_nan(ret, &env->fpu_status); + return ret; } /* convert 128-bit float to 64-bit float */ @@ -277,7 +277,7 @@ uint64_t HELPER(ldxb)(CPUS390XState *env, uint64_t ah, uint64_t al) { float64 ret = float128_to_float64(make_float128(ah, al), &env->fpu_status); handle_exceptions(env, GETPC()); - return float64_maybe_silence_nan(ret, &env->fpu_status); + return ret; } /* convert 64-bit float to 128-bit float */ @@ -285,7 +285,7 @@ uint64_t HELPER(lxdb)(CPUS390XState *env, uint64_t f2) { float128 ret = float64_to_float128(f2, &env->fpu_status); handle_exceptions(env, GETPC()); - return RET128(float128_maybe_silence_nan(ret, &env->fpu_status)); + return RET128(ret); } /* convert 32-bit float to 128-bit float */ @@ -293,7 +293,7 @@ uint64_t HELPER(lxeb)(CPUS390XState *env, uint64_t f2) { float128 ret = float32_to_float128(f2, &env->fpu_status); handle_exceptions(env, GETPC()); - return RET128(float128_maybe_silence_nan(ret, &env->fpu_status)); + return RET128(ret); } /* convert 64-bit float to 32-bit float */ @@ -301,7 +301,7 @@ uint64_t HELPER(ledb)(CPUS390XState *env, uint64_t f2) { float32 ret = float64_to_float32(f2, &env->fpu_status); handle_exceptions(env, GETPC()); - return float32_maybe_silence_nan(ret, &env->fpu_status); + return ret; } /* convert 128-bit float to 32-bit float */ @@ -309,7 +309,7 @@ uint64_t HELPER(lexb)(CPUS390XState *env, uint64_t ah, uint64_t al) { float32 ret = float128_to_float32(make_float128(ah, al), &env->fpu_status); handle_exceptions(env, GETPC()); - return float32_maybe_silence_nan(ret, &env->fpu_status); + return ret; } /* 32-bit FP compare */
This is now handled properly by the generic softfloat code. Cc: Alexander Graf <agraf@suse.de> Cc: David Hildenbrand <david@redhat.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/s390x/fpu_helper.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -- 2.17.0