diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-10-09 19:21:30 +0100 |
---|---|---|
committer | Joseph Myers <jsm28@gcc.gnu.org> | 2014-10-09 19:21:30 +0100 |
commit | 5f60643158669361212ef79bfec16e8c73f4c138 (patch) | |
tree | 77a4f889c3807e7f78e206208cc84647a983fe05 /libgcc/soft-fp/quad.h | |
parent | c386686921f2eecb9f1a419def40b6b55732da98 (diff) |
Update soft-fp from glibc.
This patch updates libgcc's copy of soft-fp from glibc, adding a
testcase for a bug fix this brings in.
Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
libgcc:
* soft-fp/double.h: Update from glibc.
* soft-fp/eqdf2.c: Likewise.
* soft-fp/eqsf2.c: Likewise.
* soft-fp/eqtf2.c: Likewise.
* soft-fp/extenddftf2.c: Likewise.
* soft-fp/extended.h: Likewise.
* soft-fp/extendsfdf2.c: Likewise.
* soft-fp/extendsftf2.c: Likewise.
* soft-fp/extendxftf2.c: Likewise.
* soft-fp/gedf2.c: Likewise.
* soft-fp/gesf2.c: Likewise.
* soft-fp/getf2.c: Likewise.
* soft-fp/ledf2.c: Likewise.
* soft-fp/lesf2.c: Likewise.
* soft-fp/letf2.c: Likewise.
* soft-fp/op-1.h: Likewise.
* soft-fp/op-2.h: Likewise.
* soft-fp/op-4.h: Likewise.
* soft-fp/op-8.h: Likewise.
* soft-fp/op-common.h: Likewise.
* soft-fp/quad.h: Likewise.
* soft-fp/single.h: Likewise.
* soft-fp/soft-fp.h: Likewise.
* soft-fp/unorddf2.c: Likewise.
* soft-fp/unordsf2.c: Likewise.
* soft-fp/unordtf2.c: Likewise.
* config/c6x/eqd.c (__c6xabi_eqd): Update call to FP_CMP_EQ_D.
* config/c6x/eqf.c (__c6xabi_eqf): Update call to FP_CMP_EQ_S.
* config/c6x/ged.c (__c6xabi_ged): Update call to FP_CMP_D.
* config/c6x/gef.c (__c6xabi_gef): Update call to FP_CMP_S.
* config/c6x/gtd.c (__c6xabi_gtd): Update call to FP_CMP_D.
* config/c6x/gtf.c (__c6xabi_gtf): Update call to FP_CMP_S.
* config/c6x/led.c (__c6xabi_led): Update call to FP_CMP_D.
* config/c6x/lef.c (__c6xabi_lef): Update call to FP_CMP_S.
* config/c6x/ltd.c (__c6xabi_ltd): Update call to FP_CMP_D.
* config/c6x/ltf.c (__c6xabi_ltf): Update call to FP_CMP_S.
gcc/testsuite:
* gcc.dg/torture/float128-extendxf-underflow.c: New test.
From-SVN: r216048
Diffstat (limited to 'libgcc/soft-fp/quad.h')
-rw-r--r-- | libgcc/soft-fp/quad.h | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/libgcc/soft-fp/quad.h b/libgcc/soft-fp/quad.h index 16e362f1c69..b8cd3108a34 100644 --- a/libgcc/soft-fp/quad.h +++ b/libgcc/soft-fp/quad.h @@ -95,21 +95,21 @@ union _FP_UNION_Q # define FP_DECL_Q(X) _FP_DECL (4, X) -# define FP_UNPACK_RAW_Q(X, val) _FP_UNPACK_RAW_4 (Q, X, val) -# define FP_UNPACK_RAW_QP(X, val) _FP_UNPACK_RAW_4_P (Q, X, val) -# define FP_PACK_RAW_Q(val, X) _FP_PACK_RAW_4 (Q, val, X) +# define FP_UNPACK_RAW_Q(X, val) _FP_UNPACK_RAW_4 (Q, X, (val)) +# define FP_UNPACK_RAW_QP(X, val) _FP_UNPACK_RAW_4_P (Q, X, (val)) +# define FP_PACK_RAW_Q(val, X) _FP_PACK_RAW_4 (Q, (val), X) # define FP_PACK_RAW_QP(val, X) \ do \ { \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_4_P (Q, val, X); \ + _FP_PACK_RAW_4_P (Q, (val), X); \ } \ while (0) # define FP_UNPACK_Q(X, val) \ do \ { \ - _FP_UNPACK_RAW_4 (Q, X, val); \ + _FP_UNPACK_RAW_4 (Q, X, (val)); \ _FP_UNPACK_CANONICAL (Q, 4, X); \ } \ while (0) @@ -117,7 +117,7 @@ union _FP_UNION_Q # define FP_UNPACK_QP(X, val) \ do \ { \ - _FP_UNPACK_RAW_4_P (Q, X, val); \ + _FP_UNPACK_RAW_4_P (Q, X, (val)); \ _FP_UNPACK_CANONICAL (Q, 4, X); \ } \ while (0) @@ -125,7 +125,7 @@ union _FP_UNION_Q # define FP_UNPACK_SEMIRAW_Q(X, val) \ do \ { \ - _FP_UNPACK_RAW_4 (Q, X, val); \ + _FP_UNPACK_RAW_4 (Q, X, (val)); \ _FP_UNPACK_SEMIRAW (Q, 4, X); \ } \ while (0) @@ -133,7 +133,7 @@ union _FP_UNION_Q # define FP_UNPACK_SEMIRAW_QP(X, val) \ do \ { \ - _FP_UNPACK_RAW_4_P (Q, X, val); \ + _FP_UNPACK_RAW_4_P (Q, X, (val)); \ _FP_UNPACK_SEMIRAW (Q, 4, X); \ } \ while (0) @@ -142,7 +142,7 @@ union _FP_UNION_Q do \ { \ _FP_PACK_CANONICAL (Q, 4, X); \ - _FP_PACK_RAW_4 (Q, val, X); \ + _FP_PACK_RAW_4 (Q, (val), X); \ } \ while (0) @@ -151,7 +151,7 @@ union _FP_UNION_Q { \ _FP_PACK_CANONICAL (Q, 4, X); \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_4_P (Q, val, X); \ + _FP_PACK_RAW_4_P (Q, (val), X); \ } \ while (0) @@ -159,7 +159,7 @@ union _FP_UNION_Q do \ { \ _FP_PACK_SEMIRAW (Q, 4, X); \ - _FP_PACK_RAW_4 (Q, val, X); \ + _FP_PACK_RAW_4 (Q, (val), X); \ } \ while (0) @@ -168,7 +168,7 @@ union _FP_UNION_Q { \ _FP_PACK_SEMIRAW (Q, 4, X); \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_4_P (Q, val, X); \ + _FP_PACK_RAW_4_P (Q, (val), X); \ } \ while (0) @@ -179,15 +179,15 @@ union _FP_UNION_Q # define FP_MUL_Q(R, X, Y) _FP_MUL (Q, 4, R, X, Y) # define FP_DIV_Q(R, X, Y) _FP_DIV (Q, 4, R, X, Y) # define FP_SQRT_Q(R, X) _FP_SQRT (Q, 4, R, X) -# define _FP_SQRT_MEAT_Q(R, S, T, X, Q) _FP_SQRT_MEAT_4 (R, S, T, X, Q) +# define _FP_SQRT_MEAT_Q(R, S, T, X, Q) _FP_SQRT_MEAT_4 (R, S, T, X, (Q)) # define FP_FMA_Q(R, X, Y, Z) _FP_FMA (Q, 4, 8, R, X, Y, Z) -# define FP_CMP_Q(r, X, Y, un) _FP_CMP (Q, 4, r, X, Y, un) -# define FP_CMP_EQ_Q(r, X, Y) _FP_CMP_EQ (Q, 4, r, X, Y) -# define FP_CMP_UNORD_Q(r, X, Y) _FP_CMP_UNORD (Q, 4, r, X, Y) +# define FP_CMP_Q(r, X, Y, un, ex) _FP_CMP (Q, 4, (r), X, Y, (un), (ex)) +# define FP_CMP_EQ_Q(r, X, Y, ex) _FP_CMP_EQ (Q, 4, (r), X, Y, (ex)) +# define FP_CMP_UNORD_Q(r, X, Y, ex) _FP_CMP_UNORD (Q, 4, (r), X, Y, (ex)) -# define FP_TO_INT_Q(r, X, rsz, rsg) _FP_TO_INT (Q, 4, r, X, rsz, rsg) -# define FP_FROM_INT_Q(X, r, rs, rt) _FP_FROM_INT (Q, 4, X, r, rs, rt) +# define FP_TO_INT_Q(r, X, rsz, rsg) _FP_TO_INT (Q, 4, (r), X, (rsz), (rsg)) +# define FP_FROM_INT_Q(X, r, rs, rt) _FP_FROM_INT (Q, 4, X, (r), (rs), rt) # define _FP_FRAC_HIGH_Q(X) _FP_FRAC_HIGH_4 (X) # define _FP_FRAC_HIGH_RAW_Q(X) _FP_FRAC_HIGH_4 (X) @@ -219,21 +219,21 @@ union _FP_UNION_Q }; # define FP_DECL_Q(X) _FP_DECL (2, X) -# define FP_UNPACK_RAW_Q(X, val) _FP_UNPACK_RAW_2 (Q, X, val) -# define FP_UNPACK_RAW_QP(X, val) _FP_UNPACK_RAW_2_P (Q, X, val) -# define FP_PACK_RAW_Q(val, X) _FP_PACK_RAW_2 (Q, val, X) +# define FP_UNPACK_RAW_Q(X, val) _FP_UNPACK_RAW_2 (Q, X, (val)) +# define FP_UNPACK_RAW_QP(X, val) _FP_UNPACK_RAW_2_P (Q, X, (val)) +# define FP_PACK_RAW_Q(val, X) _FP_PACK_RAW_2 (Q, (val), X) # define FP_PACK_RAW_QP(val, X) \ do \ { \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_2_P (Q, val, X); \ + _FP_PACK_RAW_2_P (Q, (val), X); \ } \ while (0) # define FP_UNPACK_Q(X, val) \ do \ { \ - _FP_UNPACK_RAW_2 (Q, X, val); \ + _FP_UNPACK_RAW_2 (Q, X, (val)); \ _FP_UNPACK_CANONICAL (Q, 2, X); \ } \ while (0) @@ -241,7 +241,7 @@ union _FP_UNION_Q # define FP_UNPACK_QP(X, val) \ do \ { \ - _FP_UNPACK_RAW_2_P (Q, X, val); \ + _FP_UNPACK_RAW_2_P (Q, X, (val)); \ _FP_UNPACK_CANONICAL (Q, 2, X); \ } \ while (0) @@ -249,7 +249,7 @@ union _FP_UNION_Q # define FP_UNPACK_SEMIRAW_Q(X, val) \ do \ { \ - _FP_UNPACK_RAW_2 (Q, X, val); \ + _FP_UNPACK_RAW_2 (Q, X, (val)); \ _FP_UNPACK_SEMIRAW (Q, 2, X); \ } \ while (0) @@ -257,7 +257,7 @@ union _FP_UNION_Q # define FP_UNPACK_SEMIRAW_QP(X, val) \ do \ { \ - _FP_UNPACK_RAW_2_P (Q, X, val); \ + _FP_UNPACK_RAW_2_P (Q, X, (val)); \ _FP_UNPACK_SEMIRAW (Q, 2, X); \ } \ while (0) @@ -266,7 +266,7 @@ union _FP_UNION_Q do \ { \ _FP_PACK_CANONICAL (Q, 2, X); \ - _FP_PACK_RAW_2 (Q, val, X); \ + _FP_PACK_RAW_2 (Q, (val), X); \ } \ while (0) @@ -275,7 +275,7 @@ union _FP_UNION_Q { \ _FP_PACK_CANONICAL (Q, 2, X); \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_2_P (Q, val, X); \ + _FP_PACK_RAW_2_P (Q, (val), X); \ } \ while (0) @@ -283,7 +283,7 @@ union _FP_UNION_Q do \ { \ _FP_PACK_SEMIRAW (Q, 2, X); \ - _FP_PACK_RAW_2 (Q, val, X); \ + _FP_PACK_RAW_2 (Q, (val), X); \ } \ while (0) @@ -292,7 +292,7 @@ union _FP_UNION_Q { \ _FP_PACK_SEMIRAW (Q, 2, X); \ if (!FP_INHIBIT_RESULTS) \ - _FP_PACK_RAW_2_P (Q, val, X); \ + _FP_PACK_RAW_2_P (Q, (val), X); \ } \ while (0) @@ -303,15 +303,15 @@ union _FP_UNION_Q # define FP_MUL_Q(R, X, Y) _FP_MUL (Q, 2, R, X, Y) # define FP_DIV_Q(R, X, Y) _FP_DIV (Q, 2, R, X, Y) # define FP_SQRT_Q(R, X) _FP_SQRT (Q, 2, R, X) -# define _FP_SQRT_MEAT_Q(R, S, T, X, Q) _FP_SQRT_MEAT_2 (R, S, T, X, Q) +# define _FP_SQRT_MEAT_Q(R, S, T, X, Q) _FP_SQRT_MEAT_2 (R, S, T, X, (Q)) # define FP_FMA_Q(R, X, Y, Z) _FP_FMA (Q, 2, 4, R, X, Y, Z) -# define FP_CMP_Q(r, X, Y, un) _FP_CMP (Q, 2, r, X, Y, un) -# define FP_CMP_EQ_Q(r, X, Y) _FP_CMP_EQ (Q, 2, r, X, Y) -# define FP_CMP_UNORD_Q(r, X, Y) _FP_CMP_UNORD (Q, 2, r, X, Y) +# define FP_CMP_Q(r, X, Y, un, ex) _FP_CMP (Q, 2, (r), X, Y, (un), (ex)) +# define FP_CMP_EQ_Q(r, X, Y, ex) _FP_CMP_EQ (Q, 2, (r), X, Y, (ex)) +# define FP_CMP_UNORD_Q(r, X, Y, ex) _FP_CMP_UNORD (Q, 2, (r), X, Y, (ex)) -# define FP_TO_INT_Q(r, X, rsz, rsg) _FP_TO_INT (Q, 2, r, X, rsz, rsg) -# define FP_FROM_INT_Q(X, r, rs, rt) _FP_FROM_INT (Q, 2, X, r, rs, rt) +# define FP_TO_INT_Q(r, X, rsz, rsg) _FP_TO_INT (Q, 2, (r), X, (rsz), (rsg)) +# define FP_FROM_INT_Q(X, r, rs, rt) _FP_FROM_INT (Q, 2, X, (r), (rs), rt) # define _FP_FRAC_HIGH_Q(X) _FP_FRAC_HIGH_2 (X) # define _FP_FRAC_HIGH_RAW_Q(X) _FP_FRAC_HIGH_2 (X) |