Message ID | Ytj1VQ5aTY+Ap4BW@toto.the-meissners.org |
---|---|
State | New, archived |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:e252:0:0:0:0:0 with SMTP id bl18csp1302011wrb; Wed, 20 Jul 2022 23:43:20 -0700 (PDT) X-Google-Smtp-Source: AGRyM1v8s+SAPNgCyVdai9AsyRAIKZOSooR2gsNzUj2R0lxwTAtOTpba3R4Y7cPXzNmKfhBOOvb3 X-Received: by 2002:a17:906:8a69:b0:72b:40d3:7b6c with SMTP id hy9-20020a1709068a6900b0072b40d37b6cmr39142952ejc.624.1658385800406; Wed, 20 Jul 2022 23:43:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658385800; cv=none; d=google.com; s=arc-20160816; b=0ir/d7lHhaLR+GxE043qAIMCv8KSCZ5u/qIpAHa6PrhAn+CD28oi0w4rpSkCJghUDL LOTAEteV6rNZvANR2ZgspAODcjcUFCTojBUjcj6RAYjiUJ1sHBNHSV6pHSOLbY8VJFYi Fk8Zi2vApx3K9yzpbWlQ554NynlMgvPdKmVMe5m1vxibGtGej2CE1WNi57MS99UvVpSj OigMBSzWVC3AxJ4xbRltazv+0H4kUJGS3Jabav3LNqAA6MsiXEPRipgHKViOs+W0wz8U zTUmhlkxJph6YP2NsGm/4e/j+9Ehtcl137QoJ5LCBf5T74fbpfltaA14jiTz6SXuwA6k Fvgg== 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 :content-disposition:mime-version:mail-followup-to:message-id :subject:to:date:dmarc-filter:delivered-to:dkim-signature :dkim-filter; bh=o8RL07ZI+G9dis47so9JUM1rX9AzCnklWLwNuI+PeFY=; b=ByNfz9NXsbS5pWOyGBZxrdE6fcYQ3KFt5DmHrzfN9VQh5lKvXz5MAr1Wd9mAGrn8dz /QhjW0/G8s0wUKeVMO7M8fqqvnk9D6npgErxEtav15ehEV9oWtEPEEGYpH1dIUuk/zBt 0tJQ/bCI1MxUDqGokaqZAY6kkEXDNtWgP3iPuk0cpWaQsWTp+XyL8Qk+Qpwi8qb60bgj RvWeNyaY1Sct0ARNQ7XFCnsXDAhhw6Ar3rvz/1zpvRVbNEtXQNBIwj0eu7VIcXNQjalX r5+5Ypuf4sqmIA9a0rL1FZtzd3Lp1qDjzgewmaMgjTF9f6z+xF92363BdHFeZ8fgttwQ TY5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="Nsq/SyZN"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id nd22-20020a170907629600b0072a6d845d96si2016904ejc.8.2022.07.20.23.43.20 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Jul 2022 23:43:20 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b="Nsq/SyZN"; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 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 6A43C3857369 for <ouuuleilei@gmail.com>; Thu, 21 Jul 2022 06:43:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6A43C3857369 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1658385799; bh=o8RL07ZI+G9dis47so9JUM1rX9AzCnklWLwNuI+PeFY=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=Nsq/SyZNQhk5ASKLuLyjbevoAXBvFke2d1cFK639A6SywGq+vVD7NLCwoO0vi/oAE FwhRiXsHlAS05b+Tdc7iomnGNeZSgpHHwC2zBeIU0YXKMXBn6sTZxm8W39OE9gKV1L qpVEtHf87swVLvJrRRzGxMXUprIomiSs1KtdSA7k= 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 63D143858D28 for <gcc-patches@gcc.gnu.org>; Thu, 21 Jul 2022 06:42:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 63D143858D28 Received: from pps.filterd (m0127361.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26L6Qp9t008341; Thu, 21 Jul 2022 06:42:35 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3hf1hj8d8b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Jul 2022 06:42:34 +0000 Received: from m0127361.ppops.net (m0127361.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 26L6QwV6008522; Thu, 21 Jul 2022 06:42:34 GMT Received: from ppma03dal.us.ibm.com (b.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.11]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3hf1hj8d83-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Jul 2022 06:42:34 +0000 Received: from pps.filterd (ppma03dal.us.ibm.com [127.0.0.1]) by ppma03dal.us.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 26L6LXQR015549; Thu, 21 Jul 2022 06:42:33 GMT Received: from b03cxnp08028.gho.boulder.ibm.com (b03cxnp08028.gho.boulder.ibm.com [9.17.130.20]) by ppma03dal.us.ibm.com with ESMTP id 3hbmy9nsgh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 21 Jul 2022 06:42:33 +0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp08028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 26L6gWCQ30212508 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 21 Jul 2022 06:42:32 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 24040BE051; Thu, 21 Jul 2022 06:42:32 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 91CFABE04F; Thu, 21 Jul 2022 06:42:31 +0000 (GMT) Received: from toto.the-meissners.org (unknown [9.65.227.153]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTPS; Thu, 21 Jul 2022 06:42:31 +0000 (GMT) Date: Thu, 21 Jul 2022 02:42:29 -0400 To: gcc-patches@gcc.gnu.org, Michael Meissner <meissner@linux.ibm.com>, Segher Boessenkool <segher@kernel.crashing.org>, "Kewen.Lin" <linkw@linux.ibm.com>, David Edelsohn <dje.gcc@gmail.com>, Peter Bergner <bergner@linux.ibm.com>, Will Schmidt <will_schmidt@vnet.ibm.com> Subject: [PATCH] Remove setting -mblock-ops-vector-pair on power10. Message-ID: <Ytj1VQ5aTY+Ap4BW@toto.the-meissners.org> Mail-Followup-To: Michael Meissner <meissner@linux.ibm.com>, gcc-patches@gcc.gnu.org, Segher Boessenkool <segher@kernel.crashing.org>, "Kewen.Lin" <linkw@linux.ibm.com>, David Edelsohn <dje.gcc@gmail.com>, Peter Bergner <bergner@linux.ibm.com>, Will Schmidt <will_schmidt@vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-TM-AS-GCONF: 00 X-Proofpoint-GUID: _D_RRsL7_dJHSNqez9Cvw_VZVFvqGuSw X-Proofpoint-ORIG-GUID: PpqrK7_Us3LoRNO_-CExwRrPWSvv6sSP X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-20_12,2022-07-20_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 mlxscore=0 phishscore=0 bulkscore=0 clxscore=1015 impostorscore=0 spamscore=0 malwarescore=0 lowpriorityscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207210024 X-Spam-Status: No, score=-11.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, KAM_MANYTO, 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: Michael Meissner via Gcc-patches <gcc-patches@gcc.gnu.org> Reply-To: Michael Meissner <meissner@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?1738943549140638835?= X-GMAIL-MSGID: =?utf-8?q?1738943549140638835?= |
Series |
Remove setting -mblock-ops-vector-pair on power10.
|
|
Commit Message
Li, Pan2 via Gcc-patches
July 21, 2022, 6:42 a.m. UTC
Remove setting -mblock-ops-vector-pair on power10. Testing has shown that using the load vector pair and store vector pair instructions for block moves has some performance issues on power10. This patch does not set this option by default. If it is a win in other machines in the future, this flag can be set in the ISA options. This patch modifies a previous patch that attempted to do the same thing but the previous patch was flawed in that it would generate the load vector pair and store vector pair instructions if we are tuning for a different machine. I have tested this patch on power10 systems (with long double set to IEEE 128-bit and also with long double set to IBM 128-bit). Can I check this patch into the trunk and back port to older GCC releases? 2022-07-21 Michael Meissner <meissner@linux.ibm.com> gcc/ * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do not enable -mblock-ops-vector-pair by default on power10. --- gcc/config/rs6000/rs6000.cc | 11 ----------- 1 file changed, 11 deletions(-)
Comments
On Thu, Jul 21, 2022 at 02:42:29AM -0400, Michael Meissner wrote: > Testing has shown that using the load vector pair and store vector pair > instructions for block moves has some performance issues on power10. This > patch does not set this option by default. If it is a win in other > machines in the future, this flag can be set in the ISA options. This would make rs6000_isa_flags an even bigger misnomer than it already is, sigh. > * config/rs6000/rs6000.cc (rs6000_option_override_internal): > Do not enable -mblock-ops-vector-pair by default on power10. Do not wrap lines early, especially if that would mean leaving a colon at the end of a line. Changelog lines are 80 positions long (including the leading tab, which counts as eight). > --- a/gcc/config/rs6000/rs6000.cc > +++ b/gcc/config/rs6000/rs6000.cc > @@ -4139,17 +4139,6 @@ rs6000_option_override_internal (bool global_init_p) > rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_UNALIGNED_VSX; > } > > - if (!(rs6000_isa_flags_explicit & OPTION_MASK_BLOCK_OPS_VECTOR_PAIR)) > - { > - /* Do not generate lxvp and stxvp on power10 since there are some > - performance issues. */ > - if (TARGET_MMA && TARGET_EFFICIENT_UNALIGNED_VSX > - && rs6000_tune != PROCESSOR_POWER10) > - rs6000_isa_flags |= OPTION_MASK_BLOCK_OPS_VECTOR_PAIR; > - else > - rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_VECTOR_PAIR; > - } How does this implement what the changelog says it does? With what it does the changelog should instead say to not touch it at all (your patch also disables the code that disables it!) It isn't clear what you intended: what your changelog says, or what the code does. Segher
diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 3ff16b8ae04..667f83b1dfd 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -4139,17 +4139,6 @@ rs6000_option_override_internal (bool global_init_p) rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_UNALIGNED_VSX; } - if (!(rs6000_isa_flags_explicit & OPTION_MASK_BLOCK_OPS_VECTOR_PAIR)) - { - /* Do not generate lxvp and stxvp on power10 since there are some - performance issues. */ - if (TARGET_MMA && TARGET_EFFICIENT_UNALIGNED_VSX - && rs6000_tune != PROCESSOR_POWER10) - rs6000_isa_flags |= OPTION_MASK_BLOCK_OPS_VECTOR_PAIR; - else - rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_VECTOR_PAIR; - } - /* Use long double size to select the appropriate long double. We use TYPE_PRECISION to differentiate the 3 different long double types. We map 128 into the precision used for TFmode. */