Message ID | b7d4dad9-e410-c4f0-62f7-c3b6acdd7d70@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | [PATCH-1,rs6000] xfail float128 comparison test case that fails on powerpc64 [PR108728] | expand |
Hi Haochen, on 2023/4/18 11:13, HAO CHEN GUI wrote: > Hi, > This patch xfails a float128 comparison test case on powerpc64 > that fails due to a longstanding issue with floating-point > compares. > > See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more > information. > > The case is xfailed when instructions of float128 hardware are > generated. When software simulation is used, the case should pass. IMHO we should make the comments here (commit log) clearer, like: when float128 hardware gets supported (-mfloat128-hardware takes effect), xscmpuqp is generated for comparison which is unexpected. "When software simulation is used, the case should pass" is not so right, I would interpret the use of __lekf2 as software simulation, we have to xfail this too when the _hw version is used during runtime, please make it clearer. > > The patch passed regression test on Power Linux platforms. > > Thanks > Gui Haochen > > ChangeLog > rs6000: xfail float128 comparison test case that fails on powerpc64. > > This patch xfails a float128 comparison test cases on powerpc64 that > fails due to a longstanding issue with floating-point compares. > > See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58684 for more information. > > gcc/testsuite/ > PR target/108728 > * gcc.dg/torture/float128-cmp-invalid.c: Add xfail. > > patch.diff > diff --git a/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c b/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c > index 1f675efdd61..7b520d1f9f1 100644 > --- a/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c > +++ b/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c > @@ -1,5 +1,5 @@ > /* Test for "invalid" exceptions from __float128 comparisons. */ > -/* { dg-do run } */ > +/* { dg-do run { xfail { ppc_float128_hw || { ppc_cpu_supports_hw && p9vector_hw } } } } */ This change looks good to me, though personally I prefer dg-xfail-run-if as we can specify one associated comment with it. :) BR, Kewen > /* { dg-options "" } */ > /* { dg-require-effective-target __float128 } */ > /* { dg-require-effective-target base_quadfloat_support } */
diff --git a/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c b/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c index 1f675efdd61..7b520d1f9f1 100644 --- a/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c +++ b/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c @@ -1,5 +1,5 @@ /* Test for "invalid" exceptions from __float128 comparisons. */ -/* { dg-do run } */ +/* { dg-do run { xfail { ppc_float128_hw || { ppc_cpu_supports_hw && p9vector_hw } } } } */ /* { dg-options "" } */ /* { dg-require-effective-target __float128 } */ /* { dg-require-effective-target base_quadfloat_support } */