From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 405D73858D35 for ; Mon, 24 Jun 2024 08:47:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 405D73858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 405D73858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719218867; cv=none; b=lp2/+Nnc9xJFd0NizPsrm9CaQFIUS1XoLLirOKiaUiaukMF8n1gDxmfKPyZWZYc1LWuz6AFsoeYanaT7c1NdPKI4a66clKeBvJHKyNrVyWGd7BH9MVWzn+GnqfEqIzvw+Sz4XW+a9bM8rdx1QZKpU52tklJdG0KVZXIajI4P9kE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719218867; c=relaxed/simple; bh=4G1zEKtSoaYiEyKMvI0zLkS0kqwoTFGhlyVJ5jKBaVU=; h=DKIM-Signature:Message-ID:Date:Subject:From:To:MIME-Version; b=g+jsu8Fy9r2b0KkMYBFH7ENLDWSmbksgZmAy8rRPJB0jpM3M0c3VtuQfF7G3tnDB3lWvrxzNcviRqbiSR+3jHmaIKpunFQcXM0P7AsIX32tkrIJkxczYsCLPU4BVfPWk49STdUHAGyJX4Z+cGftFDdcNGu6gNa8neGPPzCWperg= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353728.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 45O0bMMR020786; Mon, 24 Jun 2024 01:39:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h= message-id:date:subject:from:to:cc:references:in-reply-to :content-type:content-transfer-encoding:mime-version; s=pp1; bh= HK5YWeBcOTiL0pMqDnGPYTw4K2bF0Vf7W0CghyGnyhE=; b=Ot07sGT01F5SKVRr v3KTJNqO8zpwu3yrq40VzLSQ5MAHDlMIo9ehSbwSGp28q10GE0GCr7L4IcAyU72y jQ6GPx1mv6l2a2drQVhH1e8I0TsyM02x1Q6xaWQvPLmP5Hgsy8grGVhXgLS0c69C KTpLyNBfIFAcodg1dnAjU1PAHwvdPQ3r10n5ycq9c7zMNnzKGRJtqA6NXJMFjDO5 rHG1GUjeTCL9lgPfNSK0SwRg7ZuoumVE1yVjciJJbEakFbLII2271ESr87fe0VtE rP0sZc62QrZrJfEFGIBKvshB1UD8qXSSQ8BaU03NYmynewxTHmU5RRsuc6hrc5yK 9/MFsg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yxsf88mbv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jun 2024 01:39:35 +0000 (GMT) Received: from m0353728.ppops.net (m0353728.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 45O1dYrs014397; Mon, 24 Jun 2024 01:39:34 GMT Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3yxsf88mbs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jun 2024 01:39:34 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 45NM2IEe018132; Mon, 24 Jun 2024 01:39:33 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3yx8xtw4fy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 24 Jun 2024 01:39:33 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 45O1dSZh56689046 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 24 Jun 2024 01:39:30 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 507CF20043; Mon, 24 Jun 2024 01:39:28 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B6A6120040; Mon, 24 Jun 2024 01:39:24 +0000 (GMT) Received: from [9.200.57.7] (unknown [9.200.57.7]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 24 Jun 2024 01:39:24 +0000 (GMT) Message-ID: Date: Mon, 24 Jun 2024 09:39:24 +0800 User-Agent: Mozilla Thunderbird Subject: Ping^3 [PATCHv5] Optab: add isnormal_optab for __builtin_isnormal From: HAO CHEN GUI To: gcc-patches Cc: Segher Boessenkool , David , "Kewen.Lin" , Peter Bergner , Andrew Pinski , Richard Biener , Richard Sandiford References: <1a0ffcad-f455-472c-90b7-0c712896837f@linux.ibm.com> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8 X-TM-AS-GCONF: 00 X-Proofpoint-GUID: yT2YT_8n2sJTa9i9aY9gF4wiTDCkuEeN X-Proofpoint-ORIG-GUID: KZw1Nl8wW75T949J_51gCYHqU8nJDB0R Content-Transfer-Encoding: 8bit X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-06-23_17,2024-06-21_01,2024-05-17_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 mlxscore=0 bulkscore=0 adultscore=0 clxscore=1015 priorityscore=1501 spamscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 mlxlogscore=817 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2406140001 definitions=main-2406240009 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_H3,RCVD_IN_MSPIKE_WL,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 List-Id: Hi, Gently ping it. https://gcc.gnu.org/pipermail/gcc-patches/2024-May/653001.html Thanks Gui Haochen 在 2024/6/17 13:30, HAO CHEN GUI 写道: > Hi, > Gently ping it. > https://gcc.gnu.org/pipermail/gcc-patches/2024-May/653001.html > > Thanks > Gui Haochen > > 在 2024/6/3 10:37, HAO CHEN GUI 写道: >> Hi, >> All issues were addressed. Gently ping it. >> https://gcc.gnu.org/pipermail/gcc-patches/2024-May/653001.html >> >> Thanks >> Gui Haochen >> >> >> 在 2024/5/29 14:36, HAO CHEN GUI 写道: >>> Hi, >>> This patch adds an optab for __builtin_isnormal. The normal check can be >>> implemented on rs6000 by a single instruction. It needs an optab to be >>> expanded to the certain sequence of instructions. >>> >>> The subsequent patches will implement the expand on rs6000. >>> >>> Compared to previous version, the main change is to specify return >>> value of the optab should be either 0 or 1. >>> https://gcc.gnu.org/pipermail/gcc-patches/2024-May/652865.html >>> >>> Bootstrapped and tested on x86 and powerpc64-linux BE and LE with no >>> regressions. Is this OK for trunk? >>> >>> Thanks >>> Gui Haochen >>> >>> ChangeLog >>> optab: Add isnormal_optab for isnormal builtin >>> >>> gcc/ >>> * builtins.cc (interclass_mathfn_icode): Set optab to isnormal_optab >>> for isnormal builtin. >>> * optabs.def (isnormal_optab): New. >>> * doc/md.texi (isnormal): Document. >>> >>> >>> patch.diff >>> diff --git a/gcc/builtins.cc b/gcc/builtins.cc >>> index 53e9d210541..89ba56abf17 100644 >>> --- a/gcc/builtins.cc >>> +++ b/gcc/builtins.cc >>> @@ -2463,6 +2463,8 @@ interclass_mathfn_icode (tree arg, tree fndecl) >>> builtin_optab = isfinite_optab; >>> break; >>> case BUILT_IN_ISNORMAL: >>> + builtin_optab = isnormal_optab; >>> + break; >>> CASE_FLT_FN (BUILT_IN_FINITE): >>> case BUILT_IN_FINITED32: >>> case BUILT_IN_FINITED64: >>> diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi >>> index 3eb4216141e..4fd7da095fe 100644 >>> --- a/gcc/doc/md.texi >>> +++ b/gcc/doc/md.texi >>> @@ -8563,6 +8563,12 @@ Return 1 if operand 1 is a finite floating point number and 0 >>> otherwise. @var{m} is a scalar floating point mode. Operand 0 >>> has mode @code{SImode}, and operand 1 has mode @var{m}. >>> >>> +@cindex @code{isnormal@var{m}2} instruction pattern >>> +@item @samp{isnormal@var{m}2} >>> +Return 1 if operand 1 is a normal floating point number and 0 >>> +otherwise. @var{m} is a scalar floating point mode. Operand 0 >>> +has mode @code{SImode}, and operand 1 has mode @var{m}. >>> + >>> @end table >>> >>> @end ifset >>> diff --git a/gcc/optabs.def b/gcc/optabs.def >>> index dcd77315c2a..3c401fc0b4c 100644 >>> --- a/gcc/optabs.def >>> +++ b/gcc/optabs.def >>> @@ -353,6 +353,7 @@ OPTAB_D (hypot_optab, "hypot$a3") >>> OPTAB_D (ilogb_optab, "ilogb$a2") >>> OPTAB_D (isinf_optab, "isinf$a2") >>> OPTAB_D (isfinite_optab, "isfinite$a2") >>> +OPTAB_D (isnormal_optab, "isnormal$a2") >>> OPTAB_D (issignaling_optab, "issignaling$a2") >>> OPTAB_D (ldexp_optab, "ldexp$a3") >>> OPTAB_D (log10_optab, "log10$a2")