From 8a50944770a5c638b6718bd942798b871153757f Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sat, 12 Oct 2013 12:22:14 +0000 Subject: soft-fp: make ordered comparisons raise "invalid" for quiet NaNs (bug 14910). --- soft-fp/gedf2.c | 2 +- soft-fp/gesf2.c | 2 +- soft-fp/getf2.c | 2 +- soft-fp/ledf2.c | 2 +- soft-fp/lesf2.c | 2 +- soft-fp/letf2.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) (limited to 'soft-fp') diff --git a/soft-fp/gedf2.c b/soft-fp/gedf2.c index a36f5723a4..fa2b525c3c 100644 --- a/soft-fp/gedf2.c +++ b/soft-fp/gedf2.c @@ -41,7 +41,7 @@ CMPtype __gedf2(DFtype a, DFtype b) FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(B, b); FP_CMP_D(r, A, B, -2); - if (r == -2 && (FP_ISSIGNAN_D(A) || FP_ISSIGNAN_D(B))) + if (r == -2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; diff --git a/soft-fp/gesf2.c b/soft-fp/gesf2.c index 899fcc5c90..4778937419 100644 --- a/soft-fp/gesf2.c +++ b/soft-fp/gesf2.c @@ -41,7 +41,7 @@ CMPtype __gesf2(SFtype a, SFtype b) FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(B, b); FP_CMP_S(r, A, B, -2); - if (r == -2 && (FP_ISSIGNAN_S(A) || FP_ISSIGNAN_S(B))) + if (r == -2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; diff --git a/soft-fp/getf2.c b/soft-fp/getf2.c index d9cb26de07..4c544d4dd9 100644 --- a/soft-fp/getf2.c +++ b/soft-fp/getf2.c @@ -41,7 +41,7 @@ CMPtype __getf2(TFtype a, TFtype b) FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(B, b); FP_CMP_Q(r, A, B, -2); - if (r == -2 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) + if (r == -2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; diff --git a/soft-fp/ledf2.c b/soft-fp/ledf2.c index 6922d2ff6e..7d54e9896a 100644 --- a/soft-fp/ledf2.c +++ b/soft-fp/ledf2.c @@ -41,7 +41,7 @@ CMPtype __ledf2(DFtype a, DFtype b) FP_UNPACK_RAW_D(A, a); FP_UNPACK_RAW_D(B, b); FP_CMP_D(r, A, B, 2); - if (r == 2 && (FP_ISSIGNAN_D(A) || FP_ISSIGNAN_D(B))) + if (r == 2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; diff --git a/soft-fp/lesf2.c b/soft-fp/lesf2.c index cee56143c0..954a418cdc 100644 --- a/soft-fp/lesf2.c +++ b/soft-fp/lesf2.c @@ -41,7 +41,7 @@ CMPtype __lesf2(SFtype a, SFtype b) FP_UNPACK_RAW_S(A, a); FP_UNPACK_RAW_S(B, b); FP_CMP_S(r, A, B, 2); - if (r == 2 && (FP_ISSIGNAN_S(A) || FP_ISSIGNAN_S(B))) + if (r == 2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; diff --git a/soft-fp/letf2.c b/soft-fp/letf2.c index 7644b26036..76d6119f1c 100644 --- a/soft-fp/letf2.c +++ b/soft-fp/letf2.c @@ -41,7 +41,7 @@ CMPtype __letf2(TFtype a, TFtype b) FP_UNPACK_RAW_Q(A, a); FP_UNPACK_RAW_Q(B, b); FP_CMP_Q(r, A, B, 2); - if (r == 2 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) + if (r == 2) FP_SET_EXCEPTION(FP_EX_INVALID); FP_HANDLE_EXCEPTIONS; -- cgit 1.4.1