diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2013-12-20 09:29:29 +0100 |
commit | a65dd355fb80a05215e15ae97649de52aec885e3 (patch) | |
tree | 81701bb0c6b648630f2bf1729a85d7f5eb49e67b /soft-fp/unordtf2.c | |
parent | 296a5732f94abe4d5699dc981e4ccfb950b48cee (diff) | |
parent | b4578bab30f72cddd2cf38abfb39f9c8dc892249 (diff) |
Merge branch 'baseline' into refs/top-bases/tschwinge/Roger_Whittaker
Diffstat (limited to 'soft-fp/unordtf2.c')
-rw-r--r-- | soft-fp/unordtf2.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/soft-fp/unordtf2.c b/soft-fp/unordtf2.c index 1a85c252c1..38cc1a78b2 100644 --- a/soft-fp/unordtf2.c +++ b/soft-fp/unordtf2.c @@ -30,15 +30,21 @@ #include "soft-fp.h" #include "quad.h" -CMPtype __unordtf2(TFtype a, TFtype b) +CMPtype +__unordtf2 (TFtype a, TFtype b) { - FP_DECL_Q(A); - FP_DECL_Q(B); + FP_DECL_EX; + FP_DECL_Q (A); + FP_DECL_Q (B); CMPtype r; - FP_UNPACK_RAW_Q(A, a); - FP_UNPACK_RAW_Q(B, b); - FP_CMP_UNORD_Q(r, A, B); + FP_INIT_EXCEPTIONS; + FP_UNPACK_RAW_Q (A, a); + FP_UNPACK_RAW_Q (B, b); + FP_CMP_UNORD_Q (r, A, B); + if (r && (FP_ISSIGNAN_Q (A) || FP_ISSIGNAN_Q (B))) + FP_SET_EXCEPTION (FP_EX_INVALID); + FP_HANDLE_EXCEPTIONS; return r; } |