diff options
Diffstat (limited to 'soft-fp/unordtf2.c')
-rw-r--r-- | soft-fp/unordtf2.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/soft-fp/unordtf2.c b/soft-fp/unordtf2.c index 1a85c252c1..3650cf461b 100644 --- a/soft-fp/unordtf2.c +++ b/soft-fp/unordtf2.c @@ -32,13 +32,18 @@ CMPtype __unordtf2(TFtype a, TFtype b) { + FP_DECL_EX; FP_DECL_Q(A); FP_DECL_Q(B); CMPtype r; + 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; } |