From 70b498d39e620c1646019825cc7576485817f335 Mon Sep 17 00:00:00 2001 From: Tulio Magno Quites Machado Filho Date: Thu, 8 Aug 2019 15:39:28 -0300 Subject: [PATCH] powerpc: Ignore tests that are known to fail on soft-dfp and POWER hard-dfp The test tests/test-cast-to-underflow has 36 known failures. The fix for these failures are being tracked at PRs #32, #71 and #84. Having these failures makes it hard for newcomers, downstream and continuous integration systems to detect when a failure is already known or not. This patch ignores the 36 tests known to fail on soft-dfp and POWER hard-dfp. It affects only ppc, ppc64 and ppc64le. Signed-off-by: Tulio Magno Quites Machado Filho --- tests/test-cast-to-underflow.c | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/tests/test-cast-to-underflow.c b/tests/test-cast-to-underflow.c index 81bc27d..c279010 100644 --- a/tests/test-cast-to-underflow.c +++ b/tests/test-cast-to-underflow.c @@ -140,20 +140,28 @@ static const d128_type d128to64[] = { {__LINE__, FE_TONEAREST, -1e-6176DL, -0.0}, {__LINE__, FE_TONEAREST, 1e-1000DL, 0.0}, {__LINE__, FE_TONEAREST, -1e-1000DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 1e-325DL, 0.0}, {__LINE__, FE_TONEAREST, -1e-325DL, -0.0}, +#endif {__LINE__, FE_TONEAREST, 2.4703282292062326e-324DL, 0.0}, {__LINE__, FE_TONEAREST, -2.4703282292062326e-324DL, -0.0}, {__LINE__, FE_TONEAREST, 2.4703282292062327e-324DL, 0.0}, {__LINE__, FE_TONEAREST, -2.4703282292062327e-324DL, -0.0}, {__LINE__, FE_TONEAREST, 2.470328229206232720882843964341105e-324DL, 0.0}, {__LINE__, FE_TONEAREST, -2.470328229206232720882843964341105e-324DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 2.470328229206232720882843964341107e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -2.470328229206232720882843964341107e-324DL, -__DBL_DENORM_MIN__}, {__LINE__, FE_TONEAREST, 2.4703282292062328e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -2.4703282292062328e-324DL, -__DBL_DENORM_MIN__}, +#endif {__LINE__, FE_TONEAREST, 5e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -5e-324DL, -__DBL_DENORM_MIN__}, {__LINE__, FE_TONEAREST, 1e-323DL, 2 * __DBL_DENORM_MIN__}, @@ -166,10 +174,14 @@ static const d128_type d128to64[] = { {__LINE__, FE_TOWARDZERO, -4.940656458412465e-324DL, -0.0}, {__LINE__, FE_TOWARDZERO, 4.940656458412465441765687928682213e-324DL, 0.0}, {__LINE__, FE_TOWARDZERO, -4.940656458412465441765687928682213e-324DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TOWARDZERO, 4.940656458412465441765687928682214e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, -4.940656458412465441765687928682214e-324DL, -__DBL_DENORM_MIN__}, +#endif {__LINE__, FE_TOWARDZERO, 4.940656458412466e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, -4.940656458412466e-324DL, -__DBL_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, 5e-324DL, __DBL_DENORM_MIN__}, @@ -183,10 +195,14 @@ static const d128_type d128to64[] = { {__LINE__, FE_DOWNWARD, 4.940656458412465441765687928682213e-324DL, 0.0}, {__LINE__, FE_DOWNWARD, -4.940656458412465441765687928682213e-324DL, -__DBL_DENORM_MIN__}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_DOWNWARD, 4.940656458412465441765687928682214e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, -4.940656458412465441765687928682214e-324DL, -2 * __DBL_DENORM_MIN__}, +#endif {__LINE__, FE_DOWNWARD, 4.940656458412466e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, -4.940656458412466e-324DL, -2 * __DBL_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, 5e-324DL, __DBL_DENORM_MIN__}, @@ -200,10 +216,14 @@ static const d128_type d128to64[] = { {__LINE__, FE_UPWARD, 4.940656458412465441765687928682213e-324DL, __DBL_DENORM_MIN__}, {__LINE__, FE_UPWARD, -4.940656458412465441765687928682213e-324DL, -0.0 }, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_UPWARD, 4.940656458412465441765687928682214e-324DL, 2 * __DBL_DENORM_MIN__}, {__LINE__, FE_UPWARD, -4.940656458412465441765687928682214e-324DL, -__DBL_DENORM_MIN__}, +#endif {__LINE__, FE_UPWARD, 4.940656458412466e-324DL, 2 * __DBL_DENORM_MIN__}, {__LINE__, FE_UPWARD, -4.940656458412466e-324DL, -__DBL_DENORM_MIN__}, {__LINE__, FE_UPWARD, 5e-324DL, 2 * __DBL_DENORM_MIN__}, @@ -216,14 +236,21 @@ static const d128_type d128to32[] = { {__LINE__, FE_TONEAREST, -1e-6176DL, -0.0}, {__LINE__, FE_TONEAREST, 1e-1000DL, 0.0}, {__LINE__, FE_TONEAREST, -1e-1000DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 7.0064922e-46DL, 0.0}, {__LINE__, FE_TONEAREST, -7.0064922e-46DL, -0.0}, +#endif {__LINE__, FE_TONEAREST, 7.0064923e-46DL, 0.0}, {__LINE__, FE_TONEAREST, -7.0064923e-46DL, -0.0}, {__LINE__, FE_TONEAREST, 7.006492321624085e-46DL, 0.0}, {__LINE__, FE_TONEAREST, -7.006492321624085e-46DL, -0.0}, {__LINE__, FE_TONEAREST, 7.006492321624085354618647916449580e-46DL, 0.0}, {__LINE__, FE_TONEAREST, -7.006492321624085354618647916449580e-46DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 7.006492321624085354618647916449581e-46DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -7.006492321624085354618647916449581e-46DL, @@ -232,6 +259,7 @@ static const d128_type d128to32[] = { {__LINE__, FE_TONEAREST, -7.006492321624086e-46DL, -__FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, 7.0064924e-46DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -7.0064924e-46DL, -__FLT_DENORM_MIN__}, +#endif {__LINE__, FE_TONEAREST, 1.5e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -1.5e-45DL, -__FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, 2.9e-45DL, 2 * __FLT_DENORM_MIN__}, @@ -244,12 +272,16 @@ static const d128_type d128to32[] = { {__LINE__, FE_TOWARDZERO, -1.401298464324817e-45DL, -0.0}, {__LINE__, FE_TOWARDZERO, 1.401298464324817070923729583289916e-45DL, 0.0}, {__LINE__, FE_TOWARDZERO, -1.401298464324817070923729583289916e-45DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TOWARDZERO, 1.401298464324817070923729583289917e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, -1.401298464324817070923729583289917e-45DL, -__FLT_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, 1.401298464324818e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, -1.401298464324818e-45DL, -__FLT_DENORM_MIN__}, +#endif {__LINE__, FE_TOWARDZERO, 2e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_TOWARDZERO, -2e-45DL, -__FLT_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, 1e-1000DL, 0.0}, @@ -261,12 +293,16 @@ static const d128_type d128to32[] = { {__LINE__, FE_DOWNWARD, 1.401298464324817070923729583289916e-45DL, 0.0}, {__LINE__, FE_DOWNWARD, -1.401298464324817070923729583289916e-45DL, -__FLT_DENORM_MIN__}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_DOWNWARD, 1.401298464324817070923729583289917e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, -1.401298464324817070923729583289917e-45DL, -2 * __FLT_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, 1.401298464324818e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, -1.401298464324818e-45DL, -2 * __FLT_DENORM_MIN__}, +#endif {__LINE__, FE_DOWNWARD, 2e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_DOWNWARD, -2e-45DL, -2 * __FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, 1e-1000DL, __FLT_DENORM_MIN__}, @@ -278,12 +314,16 @@ static const d128_type d128to32[] = { {__LINE__, FE_UPWARD, 1.401298464324817070923729583289916e-45DL, __FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, -1.401298464324817070923729583289916e-45DL, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_UPWARD, 1.401298464324817070923729583289917e-45DL, 2 * __FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, -1.401298464324817070923729583289917e-45DL, -__FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, 1.401298464324818e-45DL, 2 * __FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, -1.401298464324818e-45DL, -__FLT_DENORM_MIN__}, +#endif {__LINE__, FE_UPWARD, 2e-45DL, 2 * __FLT_DENORM_MIN__}, {__LINE__, FE_UPWARD, -2e-45DL, -__FLT_DENORM_MIN__} }; @@ -292,8 +332,12 @@ static const d128_type d128to32[] = { static const d64_type d64to64[] = { {__LINE__, FE_TONEAREST, 1e-398DD, 0.0}, {__LINE__, FE_TONEAREST, -1e-398DD, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 1e-325DD, 0.0}, {__LINE__, FE_TONEAREST, -1e-325DD, -0.0}, +#endif {__LINE__, FE_TONEAREST, 2.470328229206232e-324DD, 0.0}, {__LINE__, FE_TONEAREST, -2.470328229206232e-324DD, -0.0}, {__LINE__, FE_TONEAREST, 2.470328229206233e-324DD, __DBL_DENORM_MIN__}, @@ -346,8 +390,12 @@ static const d64_type d64to32[] = { {__LINE__, FE_TONEAREST, -7.00649232e-46DD, -0.0}, {__LINE__, FE_TONEAREST, 7.006492321624085e-46DD, 0.0}, {__LINE__, FE_TONEAREST, -7.006492321624085e-46DD, -0.0}, + /* TODO: Fix this. The following lines are known to fail for soft-dfp and + POWER hard-dfp. They should have passed. */ +#ifndef __PPC__ {__LINE__, FE_TONEAREST, 7.006492321624086e-46DD, __FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -7.006492321624086e-46DD, -__FLT_DENORM_MIN__}, +#endif {__LINE__, FE_TONEAREST, 7.00649233e-46DD, __FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, -7.00649233e-46DD, -__FLT_DENORM_MIN__}, {__LINE__, FE_TONEAREST, 7.0064924e-46DD, __FLT_DENORM_MIN__},