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 F31AF3858C54 for ; Fri, 12 May 2023 11:18:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F31AF3858C54 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 Received: from pps.filterd (m0353726.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 34CBH5Fi029965; Fri, 12 May 2023 11:18:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=Jk6d5H3+73u+Oo4Wd6lxFT9DFzLgiNeTWaB5ouu0DBY=; b=aArak7AF47L3fm62w/iwyIsYWJvC+7uHJQE/aGAC6imk8mZhAgD9uu14clcelEhHVzJn 8a4XctFe7Nn9f7XQIPbVQHa2PANEclkh3VIGoyeT5VZJ+4goYEBkUZ21TEqZh3IJHzLE QmtTRi9CynLZW3B8X1tgF510xOYeyxGXZ76xux9lgj7ZEOi8HN3W12QMbGLm2ZkaXdVV 6ZBgBBjFFgaKKmxRjpMQIDZ+h2ezW5OpYysgruBMqbqF2B7nG94xfFxgb+MLyWgro1tO RGeWpsd9UX6fn2YZ/jOTiXodPr9BSKeukv+6rAsqrcnhdMy2YKDR2bcFdTwdQsCm896i yQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qhk5h2w56-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 May 2023 11:18:28 +0000 Received: from m0353726.ppops.net (m0353726.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 34CBISsL005643; Fri, 12 May 2023 11:18:28 GMT Received: from ppma02wdc.us.ibm.com (aa.5b.37a9.ip4.static.sl-reverse.com [169.55.91.170]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3qhk5h2w4c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 May 2023 11:18:28 +0000 Received: from pps.filterd (ppma02wdc.us.ibm.com [127.0.0.1]) by ppma02wdc.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 34C8bwjn014481; Fri, 12 May 2023 11:18:26 GMT Received: from smtprelay03.wdc07v.mail.ibm.com ([9.208.129.113]) by ppma02wdc.us.ibm.com (PPS) with ESMTPS id 3qf7eymu5t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 12 May 2023 11:18:26 +0000 Received: from smtpav01.dal12v.mail.ibm.com (smtpav01.dal12v.mail.ibm.com [10.241.53.100]) by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 34CBIPkv8323810 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 12 May 2023 11:18:25 GMT Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6DC8158057; Fri, 12 May 2023 11:18:25 +0000 (GMT) Received: from smtpav01.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CEE5C58058; Fri, 12 May 2023 11:18:21 +0000 (GMT) Received: from [9.43.32.32] (unknown [9.43.32.32]) by smtpav01.dal12v.mail.ibm.com (Postfix) with ESMTP; Fri, 12 May 2023 11:18:21 +0000 (GMT) Message-ID: <94a44d12-d0e2-f825-c129-1ed1122ce234@linux.ibm.com> Date: Fri, 12 May 2023 16:48:19 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v3 3/4] ree: Main functionality to Improve ree pass for rs6000 target Content-Language: en-US To: Jeff Law , gcc-patches Cc: Segher Boessenkool , Peter Bergner , Jakub Jelinek , Richard Biener References: <12889922-0160-a036-7dbf-1d208e353f82@linux.ibm.com> <7834f9e4-6ea3-8131-72ad-be6b37e5432f@gmail.com> <760bf382-856c-e6cd-25ec-9a3086b1a344@linux.ibm.com> From: Ajit Agarwal In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: BhRO-7eEUS4SsdqCAeWK6r7dzVsBMNaf X-Proofpoint-ORIG-GUID: Jbaz8KFYEQk58aP1TcE3ARuV_hpMdXFz 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-05-12_08,2023-05-05_01,2023-02-09_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 malwarescore=0 priorityscore=1501 suspectscore=0 clxscore=1011 bulkscore=0 adultscore=0 mlxscore=0 lowpriorityscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2304280000 definitions=main-2305120092 X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: Hello Jeff: On 29/04/23 3:40 am, Jeff Law wrote: > > > On 4/20/23 15:03, Ajit Agarwal wrote: > >> >> Currently I support AND with const1_rtx. This is what is equivalent to zero extension instruction in power instruction set. When you specify many other constants and Could you please specify what other constants needs to be supported and how to determine on the Input and output modes. > x AND will result in a zero-extended representation for a variety of constants, not just 1.  For example > > For example x AND 3, x AND 7, x AND 15, etc. > > If (const_int 1) is really that special here, then I've either completely misunderstood the intention of your patch or there's something quite special about the PPC port that I'm not aware of. > Here is the patch to address above. ree: Improve ree pass for rs6000 target For rs6000 target we see redundant zero and sign extension and done to improve ree pass to eliminate such redundant zero and sign extension. Support of AND with extension with different constants other than 1. 2023-05-12 Ajit Kumar Agarwal gcc/ChangeLog: * ree.cc (rtx_is_zext_p): Add AND with varying contsants as extensions. --- gcc/ree.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gcc/ree.cc b/gcc/ree.cc index 96fda1ac658..ddda5f194bb 100644 --- a/gcc/ree.cc +++ b/gcc/ree.cc @@ -269,8 +269,11 @@ rtx_is_zext_p (rtx insn) rtx set = XEXP (insn, 0); if (REG_P (set)) { - if (XEXP (insn, 1) == const1_rtx) - return true; + rtx src = XEXP (insn, 1); + + if (CONST_INT_P (src) + && IN_RANGE (exact_log2 (UINTVAL (src)), 0, 7)) + return true; } else return false; @@ -297,9 +300,11 @@ rtx_is_zext_p (rtx_insn *insn) if (REG_P (set) && GET_MODE (SET_DEST (body)) == GET_MODE (set)) { - if (GET_MODE_UNIT_SIZE (GET_MODE (SET_DEST (body))) - >= GET_MODE_UNIT_SIZE (GET_MODE (set))) - return true; + rtx src = XEXP (SET_SRC (body), 1); + + if (CONST_INT_P (src) + && IN_RANGE (exact_log2 (UINTVAL (src)), 0, 7)) + return true; } else return false; -- 2.31.1 > Jeff