diff options
Diffstat (limited to 'sysdeps/sparc/sparc64/soft-fp')
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_cmp.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_feq.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_fge.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_fgt.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_fle.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_flt.c | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/soft-fp/qp_fne.c | 4 |
8 files changed, 8 insertions, 24 deletions
diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c index 1929a082c2..dadb36909d 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmp.c @@ -31,10 +31,8 @@ int _Qp_cmp(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, 3); + FP_CMP_Q(r, B, A, 3, 1); if (r == -1) r = 2; - if (r == 3 && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); QP_HANDLE_EXCEPTIONS( __asm ( " ldd [%0], %%f52\n" diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c index ee25b5e8b1..c56d623947 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_cmpe.c @@ -32,10 +32,8 @@ int _Qp_cmpe(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, 3); + FP_CMP_Q(r, B, A, 3, 2); if (r == -1) r = 2; - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); QP_HANDLE_EXCEPTIONS( __asm ( " ldd [%0], %%f52\n" diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c index 36eef5aa8a..67b6b877f0 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_feq.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_feq.c @@ -31,9 +31,7 @@ int _Qp_feq(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_EQ_Q(r, A, B); - if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_EQ_Q(r, A, B, 1); QP_HANDLE_EXCEPTIONS( __asm ( diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c index 3f0c16b416..690a741d1b 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fge.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fge.c @@ -31,9 +31,7 @@ int _Qp_fge(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_Q(r, B, A, 3, 2); QP_HANDLE_EXCEPTIONS( __asm ( diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c index 2b915be37d..423bd5a922 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fgt.c @@ -31,9 +31,7 @@ int _Qp_fgt(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_Q(r, B, A, 3, 2); QP_HANDLE_EXCEPTIONS( __asm ( diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c index 74f80f4131..f9151524f9 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fle.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fle.c @@ -31,9 +31,7 @@ int _Qp_fle(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, -2); - if (r == -2) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_Q(r, B, A, -2, 2); QP_HANDLE_EXCEPTIONS( __asm ( diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c index a4c8e05a0a..c03cd72516 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_flt.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_flt.c @@ -31,9 +31,7 @@ int _Qp_flt(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_Q(r, B, A, 3); - if (r == 3) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_Q(r, B, A, 3, 2); QP_HANDLE_EXCEPTIONS( __asm ( diff --git a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c index 828c394f29..948077c425 100644 --- a/sysdeps/sparc/sparc64/soft-fp/qp_fne.c +++ b/sysdeps/sparc/sparc64/soft-fp/qp_fne.c @@ -31,9 +31,7 @@ int _Qp_fne(const long double *a, const long double *b) FP_INIT_ROUNDMODE; FP_UNPACK_RAW_QP(A, a); FP_UNPACK_RAW_QP(B, b); - FP_CMP_EQ_Q(r, A, B); - if (r && (FP_ISSIGNAN_Q(A) || FP_ISSIGNAN_Q(B))) - FP_SET_EXCEPTION(FP_EX_INVALID); + FP_CMP_EQ_Q(r, A, B, 1); QP_HANDLE_EXCEPTIONS( __asm ( |