Message ID | edf564ae-4312-cdd2-39a9-1e9c1ef68454@linux.ibm.com |
---|---|
State | Accepted |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b0ea:0:b0:3b6:4342:cba0 with SMTP id b10csp15769vqo; Tue, 11 Apr 2023 19:28:17 -0700 (PDT) X-Google-Smtp-Source: AKy350Zv87c33ke+WPJ80pF4xNQBF+Or0Y0WiMdZyiUfTcjwPiGxU01NRa85TbPZ/9RyB/flkq6X X-Received: by 2002:aa7:d0cf:0:b0:4fb:2060:4c20 with SMTP id u15-20020aa7d0cf000000b004fb20604c20mr11298337edo.31.1681266497531; Tue, 11 Apr 2023 19:28:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681266497; cv=none; d=google.com; s=arc-20160816; b=crDudv4Um4SqFnpntPkyJXmEJBnrrgUccgEv/oOAZ4l2YPZahbLYU7ptk8+OXRsSOF Ca8XjAcHg03Ctkfo9iWWYgyZ2bOMD5vqIzStkzV4kT80GmoApTqYXNy1I3LC0ojTEvBc aCaSs38f7kWMAquHwfUJ8N9hI4Kg+PE8F7eIZ4OAVG+FsjwiAVJKA+WorOUPUGvQUyuz sjsh5hjzt3AMFWSgseKIiRs5l3iMMZvFn2HpOXyULdUtUIpLyjxC9zj8nl1ZpXDehkmo FrqeQh73EbfE9ie1NAWZaX2lVb/HPNl6gplRkoZl4zKImJZkOHtcmX1ZB0MRMtZELROT +4Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:mime-version :content-transfer-encoding:subject:cc:to:content-language:user-agent :date:message-id:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=QhYXHnzS+x8bZTnZQk+ZPf4iDZkQ9hlyCquL8up6R6U=; b=0nG/ZORqRFH5oRP8GJg/lectynv9GwabQHNoWRHLrDQX8XX2VWZ6SjirsY7VlT+06Q He5LnOTHaSlimv1V8f5XHjq02fFYQ9F+cYWg0rpDW85XISFDLKPhBlEB96gaTnrsbIXU iuzF0TKMjfeh8sBOHh4/xEJY5JKaZ9CWW7aLu21M410tNb7runNsUW5kmF2Jc4NCvt2Y FhnmWvcI6IyZF8KlxT6LIzeoj/eteDZF0KGd8NXeIjLUb40pmb0+XtMjUWM2iWUa739J awsYmiZJl04f0i2WyX9SJ6rPGDIs29Y0LU7Gi5LOIUw1qszBpu08u/piq+M95pLTMNLe tKnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=U48i8kVh; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id u5-20020a056402064500b0050489723a25si1568630edx.466.2023.04.11.19.28.17 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Apr 2023 19:28:17 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=U48i8kVh; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 32A173858C60 for <ouuuleilei@gmail.com>; Wed, 12 Apr 2023 02:28:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 32A173858C60 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1681266496; bh=QhYXHnzS+x8bZTnZQk+ZPf4iDZkQ9hlyCquL8up6R6U=; h=Date:To:Cc:Subject:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=U48i8kVhW/wS8BLJAkTkuP2zARVl12+rueBocX4v0WTYOzWSjF4PAohYilGW2yprF /wVmhpGk+fp7qrO33/r70Owe2n9P/uwjjARfLq6RmzBzPffeRpJoh3H/x6mhSALH0u 0iTOXUMoaf0L8Z7R3sUsy4M6yNCxA6/sdeWYh7nM= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 1EA173858D28 for <gcc-patches@gcc.gnu.org>; Wed, 12 Apr 2023 02:27:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1EA173858D28 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 33C1hbjo013698; Wed, 12 Apr 2023 02:27:31 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pwk7r99tj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Apr 2023 02:27:30 +0000 Received: from m0098421.ppops.net (m0098421.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 33C2L6s8013280; Wed, 12 Apr 2023 02:27:29 GMT Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3pwk7r99sy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Apr 2023 02:27:29 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 33C1qKWM007767; Wed, 12 Apr 2023 02:27:28 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma04ams.nl.ibm.com (PPS) with ESMTPS id 3pu0m1a28f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 12 Apr 2023 02:27:28 +0000 Received: from smtpav04.fra02v.mail.ibm.com (smtpav04.fra02v.mail.ibm.com [10.20.54.103]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 33C2ROd523200474 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 12 Apr 2023 02:27:24 GMT Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6623D2004B; Wed, 12 Apr 2023 02:27:24 +0000 (GMT) Received: from smtpav04.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E2AE820043; Wed, 12 Apr 2023 02:27:22 +0000 (GMT) Received: from [9.200.145.81] (unknown [9.200.145.81]) by smtpav04.fra02v.mail.ibm.com (Postfix) with ESMTP; Wed, 12 Apr 2023 02:27:22 +0000 (GMT) Message-ID: <edf564ae-4312-cdd2-39a9-1e9c1ef68454@linux.ibm.com> Date: Wed, 12 Apr 2023 10:27:22 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US To: gcc-patches <gcc-patches@gcc.gnu.org> Cc: Segher Boessenkool <segher@kernel.crashing.org>, David <dje.gcc@gmail.com>, "Kewen.Lin" <linkw@linux.ibm.com>, Peter Bergner <bergner@linux.ibm.com> Subject: [PATCH, rs6000] xfail float128 comparison test case that fails on powerpc64 [PR108728] Content-Type: text/plain; charset=UTF-8 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: gqHz-xIOtQAZ-NEXOm0r-_z4FVjO1z_D X-Proofpoint-ORIG-GUID: i7rlWPNyyvLTE8FzjZhkI1T7huPx2Mqa Content-Transfer-Encoding: 7bit X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22 definitions=2023-04-11_16,2023-04-11_02,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 mlxscore=0 impostorscore=0 phishscore=0 malwarescore=0 bulkscore=0 adultscore=0 mlxlogscore=999 spamscore=0 priorityscore=1501 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000 definitions=main-2304120016 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> From: HAO CHEN GUI via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: HAO CHEN GUI <guihaoc@linux.ibm.com> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1762935698389601941?= X-GMAIL-MSGID: =?utf-8?q?1762935698389601941?= |
Series |
[rs6000] xfail float128 comparison test case that fails on powerpc64 [PR108728]
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | success | Github commit url |
Commit Message
HAO CHEN GUI
April 12, 2023, 2:27 a.m. UTC
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 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 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. gcc/testsuite/ PR target/108728 * gcc.dg/torture/float128-cmp-invalid.c: Add xfail. patch.diff
Comments
Hi Haochen, on 2023/4/12 10:27, 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 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 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. > > 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..f52686e0a24 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 { powerpc*-*-* } } } */ xfail all powerpc*-*-* can have some XPASSes on those ENVs with software emulation. Since the related hw insn xscmpuqp is guarded with TARGET_FLOAT128_HW, could we use the effective target ppc_float128_hw instead? Maybe something like: /* { dg-xfail-run-if "unexpected xscmpuqp" { ppc_float128_hw } } */ BR, Kewen > /* { dg-options "" } */ > /* { dg-require-effective-target __float128 } */ > /* { dg-require-effective-target base_quadfloat_support } */
Hi Kewen, 在 2023/4/13 16:32, Kewen.Lin 写道: > xfail all powerpc*-*-* can have some XPASSes on those ENVs with > software emulation. Since the related hw insn xscmpuqp is guarded > with TARGET_FLOAT128_HW, could we use the effective target > ppc_float128_hw instead? Thanks for your review comments. It's tricky. It invokes "__lekf2" with "-mno-float128_hw". But it doesn't always pass the check. With math library on P8, it can. With the library on P9, it fails. So it's totally depended on the version of library which is not controlled by GCC. What's your opinion? Test result on P9 make check-gcc-c RUNTESTFLAGS="--target_board=unix'{-mno-float128-hardware}' dg-torture.exp=float128-cmp-invalid.c" FAIL: gcc.dg/torture/float128-cmp-invalid.c -O0 execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -O1 execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -O3 -g execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -Os execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test === gcc Summary === # of expected passes 7 # of unexpected failures 7 Gui Haochen Thanks
Hi Haochen, on 2023/4/14 09:34, HAO CHEN GUI wrote: > Hi Kewen, > > 在 2023/4/13 16:32, Kewen.Lin 写道: >> xfail all powerpc*-*-* can have some XPASSes on those ENVs with >> software emulation. Since the related hw insn xscmpuqp is guarded >> with TARGET_FLOAT128_HW, could we use the effective target >> ppc_float128_hw instead? > > Thanks for your review comments. It's tricky. It invokes "__lekf2" > with "-mno-float128_hw". But it doesn't always pass the check. > With math library on P8, it can. With the library on P9, it fails. Math library doesn't provide it, __lekf2 is from libgcc (GCC itself). The reason why the __lekf2 behaves differently on P8 and P9 is that we have SW and HW versions for __lekf2, when the underlying "CPU "supports 128-bit IEEE binary floating point instructions.", it will use __lekf2_hw instead of __lekf2_sw, the former still adopts insn xscmpuqp, then it fails. > So it's totally depended on the version of library which is not > controlled by GCC. What's your opinion? So 1) for ppc_float128_hw, it generates xscmpuqp then fails. 2) for !ppc_float128_hw, it uses __lekf2 but the underlying ENV supports __builtin_cpu_supports ("ieee128"), it exploits xscmpuqp, then fails. Ideally we should use one effective target like ppc_ieee128_hw to indicate the underlying ENV supports __builtin_cpu_supports ("ieee128") but I think it may not be worth to adding that at this stage, so I'd suggest xfail-ing it for "ppc_float128_hw || (ppc_cpu_supports_hw && p9vector_hw)". BR, Kewen > > Test result on P9 > make check-gcc-c RUNTESTFLAGS="--target_board=unix'{-mno-float128-hardware}' dg-torture.exp=float128-cmp-invalid.c" > > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O0 execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O1 execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O3 -g execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -Os execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test > FAIL: gcc.dg/torture/float128-cmp-invalid.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test > > === gcc Summary === > > # of expected passes 7 > # of unexpected failures 7 > > Gui Haochen > Thanks
diff --git a/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c b/gcc/testsuite/gcc.dg/torture/float128-cmp-invalid.c index 1f675efdd61..f52686e0a24 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 { powerpc*-*-* } } } */ /* { dg-options "" } */ /* { dg-require-effective-target __float128 } */ /* { dg-require-effective-target base_quadfloat_support } */