[rs6000] pr58684, pr83759 Disable test cases that fail on powerpc64.

Message ID bff39a88-b6bb-1be7-3322-55d71650da56@linux.vnet.ibm.com
State New
Headers show
Series
  • [rs6000] pr58684, pr83759 Disable test cases that fail on powerpc64.
Related show

Commit Message

Bill Seurer Jan. 11, 2018, 7:36 p.m.
[PATCH, rs6000] pr58684, pr83759 Disable test cases that fail on powerpc64.

This patch disables a few test cases on powerpc64 that fail after r256380
due to a longstanding issue with floating-point compares.

See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more information.

Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?


2018-01-11  Bill Seurer  <seurer@linux.vnet.ibm.com>

	PR sanitizer/65479
	* gcc/testsuite/gcc.dg/torture/inf-compare-1.c: Add dg-skip.
	* gcc/testsuite/gcc.dg/torture/inf-compare-2.c: Add dg-skip.
	* gcc/testsuite/gcc.dg/torture/inf-compare-3.c: Add dg-skip.
	* gcc/testsuite/gcc.dg/torture/inf-compare-4.c: Add dg-skip.

Comments

Joseph Myers Jan. 11, 2018, 8:20 p.m. | #1
On Thu, 11 Jan 2018, Bill Seurer wrote:

> 	PR sanitizer/65479

Wrong bug number.

> +/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */

As previously noted, testing powerpc64 like that in tests is always wrong 
(because you can have 64-bit multilibs with a compiler defaulting to 
32-bit, and vice versa, so need to test powerpc*-*-* together with 
relevant effective-targets for the multilib under test being 32-bit or 
64-bit).

In the present case, there is nothing specific to 64-bit at all; this bug 
applies to hard-float powerpc for both 32-bit and 64-bit, so just testing 
powerpc*-*-* without any effective-target is appropriate (I don't think 
it's worth trying to exclude soft-float from what's covered).
Bill Seurer Jan. 11, 2018, 9:11 p.m. | #2
On 01/11/2018 02:20 PM, Joseph Myers wrote:
> On Thu, 11 Jan 2018, Bill Seurer wrote:
> 
>> 	PR sanitizer/65479
> 
> Wrong bug number.
> 
>> +/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */
> 
> As previously noted, testing powerpc64 like that in tests is always wrong
> (because you can have 64-bit multilibs with a compiler defaulting to
> 32-bit, and vice versa, so need to test powerpc*-*-* together with
> relevant effective-targets for the multilib under test being 32-bit or
> 64-bit).
> 
> In the present case, there is nothing specific to 64-bit at all; this bug
> applies to hard-float powerpc for both 32-bit and 64-bit, so just testing
> powerpc*-*-* without any effective-target is appropriate (I don't think
> it's worth trying to exclude soft-float from what's covered).
> 

Thanks, I will fix those.
Segher Boessenkool Jan. 12, 2018, 5:23 p.m. | #3
On Thu, Jan 11, 2018 at 01:36:53PM -0600, Bill Seurer wrote:
> [PATCH, rs6000] pr58684, pr83759 Disable test cases that fail on powerpc64.
> 
> This patch disables a few test cases on powerpc64 that fail after r256380
> due to a longstanding issue with floating-point compares.
> 
> See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more information.
> 
> Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
> powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?
> 
> 
> 2018-01-11  Bill Seurer  <seurer@linux.vnet.ibm.com>
> 
> 	PR sanitizer/65479
> 	* gcc/testsuite/gcc.dg/torture/inf-compare-1.c: Add dg-skip.
> 	* gcc/testsuite/gcc.dg/torture/inf-compare-2.c: Add dg-skip.
> 	* gcc/testsuite/gcc.dg/torture/inf-compare-3.c: Add dg-skip.
> 	* gcc/testsuite/gcc.dg/torture/inf-compare-4.c: Add dg-skip.

Could you xfail them instead?  So that we automatically know what to
update when the problem finally is fixed.  Or will that not work for
some reason?


Segher
Bill Seurer Jan. 12, 2018, 8:16 p.m. | #4
On 01/12/2018 11:23 AM, Segher Boessenkool wrote:
> On Thu, Jan 11, 2018 at 01:36:53PM -0600, Bill Seurer wrote:
>> [PATCH, rs6000] pr58684, pr83759 Disable test cases that fail on powerpc64.
>>
>> This patch disables a few test cases on powerpc64 that fail after r256380
>> due to a longstanding issue with floating-point compares.
>>
>> See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more information.
>>
>> Bootstrapped and tested on powerpc64le-unknown-linux-gnu and
>> powerpc64be-unknown-linux-gnu with no regressions.  Is this ok for trunk?
>>
>>
>> 2018-01-11  Bill Seurer  <seurer@linux.vnet.ibm.com>
>>
>> 	PR sanitizer/65479
>> 	* gcc/testsuite/gcc.dg/torture/inf-compare-1.c: Add dg-skip.
>> 	* gcc/testsuite/gcc.dg/torture/inf-compare-2.c: Add dg-skip.
>> 	* gcc/testsuite/gcc.dg/torture/inf-compare-3.c: Add dg-skip.
>> 	* gcc/testsuite/gcc.dg/torture/inf-compare-4.c: Add dg-skip.
> 
> Could you xfail them instead?  So that we automatically know what to
> update when the problem finally is fixed.  Or will that not work for
> some reason?

I actually originally did xfail on the dg-if but then got XPASSes on the 
compilation steps.  I think this will work:

/* { dg-do run { xfail { powerpc*-*-* } } } */
/* remove the xfail for powerpc when pr58684 is fixed */
/* { dg-add-options ieee } */
/* { dg-require-effective-target fenv_exceptions } */

Patch

Index: gcc/testsuite/gcc.dg/torture/inf-compare-1.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/inf-compare-1.c	(revision 256541)
+++ gcc/testsuite/gcc.dg/torture/inf-compare-1.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-add-options ieee } */
 /* { dg-require-effective-target fenv_exceptions } */
+/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */
 
 #include <fenv.h>
 
Index: gcc/testsuite/gcc.dg/torture/inf-compare-2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/inf-compare-2.c	(revision 256541)
+++ gcc/testsuite/gcc.dg/torture/inf-compare-2.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-add-options ieee } */
 /* { dg-require-effective-target fenv_exceptions } */
+/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */
 
 #include <fenv.h>
 
Index: gcc/testsuite/gcc.dg/torture/inf-compare-3.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/inf-compare-3.c	(revision 256541)
+++ gcc/testsuite/gcc.dg/torture/inf-compare-3.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-add-options ieee } */
 /* { dg-require-effective-target fenv_exceptions } */
+/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */
 
 #include <fenv.h>
 
Index: gcc/testsuite/gcc.dg/torture/inf-compare-4.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/inf-compare-4.c	(revision 256541)
+++ gcc/testsuite/gcc.dg/torture/inf-compare-4.c	(working copy)
@@ -1,6 +1,7 @@ 
 /* { dg-do run } */
 /* { dg-add-options ieee } */
 /* { dg-require-effective-target fenv_exceptions } */
+/* { dg-skip-if "remove this when pr58684 is fixed" { powerpc64*-*-* } } */
 
 #include <fenv.h>