From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 5E8743858D28; Wed, 25 Oct 2023 07:37:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5E8743858D28 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 5E8743858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698219436; cv=none; b=TucK2nAt1EHYclJvFbigWI1ydaZcFZWK+Fgdy3wZzH0/3UJgGAt7nNWNwWB7SakncBl3opjlmqYUaUqokcsWd5eyylhjatmMYOkRLV5cLgCXBvtXxbWl0gqVs1s/SRij/4hWFBel5LPK1gCPrwkAs4C39YTy3CB7cmZdafUL7FE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698219436; c=relaxed/simple; bh=mL9G0k0iaPMIJH4Wo+gq5ohtu/aLeUGWWzh1+Xm1zP4=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=vEWvxU73nmv8guH3GpaTB38hbytCRO/LxdPnF4Ete9aPOhlExCz9c8Wq/y7tMJ8Ft1X1uuy7fxpfS3pxlwocVP9BthkxulLUS0lGP1UnH8psnuGZ/LQThZy5n8CzPXXtM7OOifHCteiQWK0dJ8CIprDA9/REvLHBOibqKGfbN3Y= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 39P7YOGq019861; Wed, 25 Oct 2023 07:37:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : references : date : in-reply-to : message-id : mime-version : content-type; s=pp1; bh=MC6EL6aiTLE6i1lY7V9uJOVqaryvNDXFqgVqF9Gjn+Q=; b=g/ZLMLNWuZsKv3mIQE4iHCvvqJqGm33uVJoUkg2ni/JCxwGpNq+czJfLevTluHuJWU2M quTn5wUtJ3VD8iIpkSx0lArCPEq5nQVstVHjVVdf8CEGMbYzHIIZt2izDtNekip0vLbr anVoFPRRrJ7EPwR5phre9Lm+Mg1Yddy4V9jeEN/6mGHOOhkczZjM6fSNCzTLnS0rKZpz Lq5Xn2n1exkqmWKRpFBtGOfWXkVxQou/9fP1wlCnCapSZctvvRHegdUbANXazD4++aO4 hqYIal9UkDwIEr6X3/BVsA8td1a1MYFNb5LFE0I2v6gtw3yPGuZE5XPIcDFOTdC6sNox 6g== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3txxre0725-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Oct 2023 07:37:14 +0000 Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 39P7YfFW021214; Wed, 25 Oct 2023 07:37:14 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3txxre071b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Oct 2023 07:37:13 +0000 Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 39P6Veaa012399; Wed, 25 Oct 2023 07:37:13 GMT Received: from smtprelay03.wdc07v.mail.ibm.com ([172.16.1.70]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 3tvup1vjxt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 25 Oct 2023 07:37:13 +0000 Received: from smtpav03.wdc07v.mail.ibm.com (smtpav03.wdc07v.mail.ibm.com [10.39.53.230]) by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 39P7bBb750659586 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 25 Oct 2023 07:37:11 GMT Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C3ABF58064; Wed, 25 Oct 2023 07:37:11 +0000 (GMT) Received: from smtpav03.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 53F2C5805A; Wed, 25 Oct 2023 07:37:11 +0000 (GMT) Received: from genoa (unknown [9.40.192.157]) by smtpav03.wdc07v.mail.ibm.com (Postfix) with ESMTPS; Wed, 25 Oct 2023 07:37:11 +0000 (GMT) From: Jiufu Guo To: "Kewen.Lin" Cc: segher@kernel.crashing.org, dje.gcc@gmail.com, linkw@gcc.gnu.org, bergner@linux.ibm.com, gcc-patches@gcc.gnu.org Subject: Re: [PATCH 2/3]rs6000: using 'pli' to load 34bit-constant References: <20231025020008.2256911-1-guojiufu@linux.ibm.com> <20231025020008.2256911-2-guojiufu@linux.ibm.com> <951c29d7-8dc9-2cb6-cd8e-030a5a2184bf@linux.ibm.com> Date: Wed, 25 Oct 2023 15:37:08 +0800 In-Reply-To: <951c29d7-8dc9-2cb6-cd8e-030a5a2184bf@linux.ibm.com> (Kewen Lin's message of "Wed, 25 Oct 2023 10:33:03 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: y1nIgKzsD7adk84basasSlEqguuunrmh X-Proofpoint-GUID: TdJRqMIgRRKdlrJ7n25GcCIs-qQGUX1j X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.980,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2023-10-25_01,2023-10-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0 adultscore=0 mlxlogscore=999 clxscore=1015 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2310170001 definitions=main-2310250064 X-Spam-Status: No, score=-11.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_MSPIKE_H4,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, "Kewen.Lin" writes: > on 2023/10/25 10:00, Jiufu Guo wrote: >> Hi, >> >> For constants with 16bit values, 'li or lis' can be used to generate >> the value. For 34bit constant, 'pli' is ok to generate the value. >> >> Bootstrap®test pass on ppc64{,le}. >> Is this ok for trunk? >> >> BR, >> Jeff (Jiufu Guo) >> >> gcc/ChangeLog: >> >> * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add code to use >> pli for 34bit constant. >> >> --- >> gcc/config/rs6000/rs6000.cc | 6 +++++- >> 1 file changed, 5 insertions(+), 1 deletion(-) >> >> diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc >> index b23ff3d7917..4690384cdbe 100644 >> --- a/gcc/config/rs6000/rs6000.cc >> +++ b/gcc/config/rs6000/rs6000.cc >> @@ -10530,7 +10530,11 @@ rs6000_emit_set_long_const (rtx dest, HOST_WIDE_INT c) >> ud3 = (c >> 32) & 0xffff; >> ud4 = (c >> 48) & 0xffff; >> >> - if ((ud4 == 0xffff && ud3 == 0xffff && ud2 == 0xffff && (ud1 & 0x8000)) >> + if (TARGET_PREFIXED && SIGNED_INTEGER_34BIT_P (c)) >> + { >> + emit_move_insn (dest, GEN_INT (c)); >> + } > > Nit: unexpected formatting, no {} needed. > > Is there any test case justifying this change? Great catch! pr93012.c could cover this implicitly, but it only be changed in the [PATCH 3/3]. I would add a new case for this in this patch. > I think only one "li" or "lis" > beats "pli" since the latter is a prefixed insn, it puts more burdens on insn > decoding. Yes! Good news is "emit_move_insn (dest, GEN_INT (c));" is able to support "li, lis and pli". The "mov" would match/generate the best one. Thanks for your quick review and very helpful comments! BR, Jeff (Jiufu Guo) > > BR, > Kewen > >> + else if ((ud4 == 0xffff && ud3 == 0xffff && ud2 == 0xffff && (ud1 & 0x8000)) >> || (ud4 == 0 && ud3 == 0 && ud2 == 0 && ! (ud1 & 0x8000))) >> emit_move_insn (dest, GEN_INT (sext_hwi (ud1, 16))); >>