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 D7A53385700B; Wed, 16 Jun 2021 01:39:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D7A53385700B Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 15G1XAwB079809; Tue, 15 Jun 2021 21:39:20 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 3975sjakr7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 15 Jun 2021 21:39:19 -0400 Received: from m0098396.ppops.net (m0098396.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.43/8.16.0.43) with SMTP id 15G1YQgs086628; Tue, 15 Jun 2021 21:39:19 -0400 Received: from ppma03ams.nl.ibm.com (62.31.33a9.ip4.static.sl-reverse.com [169.51.49.98]) by mx0a-001b2d01.pphosted.com with ESMTP id 3975sjakqj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 15 Jun 2021 21:39:19 -0400 Received: from pps.filterd (ppma03ams.nl.ibm.com [127.0.0.1]) by ppma03ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 15G1cBH4004868; Wed, 16 Jun 2021 01:39:17 GMT Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by ppma03ams.nl.ibm.com with ESMTP id 394mj8ssr5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 16 Jun 2021 01:39:17 +0000 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 15G1dExH28967220 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 16 Jun 2021 01:39:15 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D44F74203F; Wed, 16 Jun 2021 01:39:14 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5C3CF42045; Wed, 16 Jun 2021 01:39:13 +0000 (GMT) Received: from luoxhus-MacBook-Pro.local (unknown [9.200.155.117]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTPS; Wed, 16 Jun 2021 01:39:13 +0000 (GMT) Subject: Re: [PATCH] rs6000: Support doubleword swaps removal in rot64 load store [PR100085] To: Segher Boessenkool Cc: wschmidt@linux.ibm.com, gcc-patches@gcc.gnu.org, linkw@gcc.gnu.org, dje.gcc@gmail.com References: <20210602081932.2683429-1-luoxhu@linux.ibm.com> <20210602222003.GJ18427@gate.crashing.org> <20210603203107.GZ18427@gate.crashing.org> <20210608201129.GA18427@gate.crashing.org> <6cae0a56-dcd9-11b9-b9d6-aa4e24b86026@linux.ibm.com> <20210609162420.GG18427@gate.crashing.org> <65101998-c29d-b514-9c69-732b5c6d2cf8@linux.ibm.com> <20210611201612.GR18427@gate.crashing.org> From: Xionghu Luo Message-ID: Date: Wed, 16 Jun 2021 09:39:11 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.0; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <20210611201612.GR18427@gate.crashing.org> Content-Type: multipart/mixed; boundary="------------E38FE55710512E6FFC292B71" Content-Language: en-US X-TM-AS-GCONF: 00 X-Proofpoint-GUID: qp1uBHXhopcVPBCK7vCAhTFV2UxD1CUe X-Proofpoint-ORIG-GUID: fNyhyefi7KLhmtLsZG6JF_bdfTsfOYwY X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-06-15_09:2021-06-15, 2021-06-15 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 phishscore=0 mlxscore=0 priorityscore=1501 bulkscore=0 lowpriorityscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 adultscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2104190000 definitions=main-2106160007 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Jun 2021 01:39:23 -0000 This is a multi-part message in MIME format. --------------E38FE55710512E6FFC292B71 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2021/6/12 04:16, Segher Boessenkool wrote: > On Thu, Jun 10, 2021 at 03:11:08PM +0800, Xionghu Luo wrote: >> On 2021/6/10 00:24, Segher Boessenkool wrote: >>>> "!BYTES_BIG_ENDIAN && TARGET_VSX && reload_completed && !TARGET_P9_VECTOR >>>> && !altivec_indexed_or_indirect_operand (operands[0], mode)" >>>> [(const_int 0)] >>>> { >>>> rs6000_emit_le_vsx_permute (operands[1], operands[1], mode); >>>> rs6000_emit_le_vsx_permute (operands[0], operands[1], mode); >>>> rs6000_emit_le_vsx_permute (operands[1], operands[1], mode); >>>> DONE; >>>> }) >>> >>> So it seems like it is only 3 insns in the very unlucky case? Normally >>> it will end up as just one simple store? >> >> I am afraid there is not "simple store" for *TImode on P8LE*. There is only >> stxvd2x that rotates the element(stvx requires memory to be aligned, not >> suitable pattern), so every vsx_le_perm_store_v1ti must be split to 3 >> instructions for alternative 0, it seems incorrect to force the cost to be 4. > > Often it could be done as just two insns though? If the value stored is > not used elsewhere? > > So we could make the first alternative cost 8 then as well, which will > also work out for combine, right? > > Alternatively we could have what is now the second alternative be the > first, if that is realistic -- that one already has cost 8 (it is just > two machine instructions). Attached the patch to update the 5 *vsx_le_perm_store_ function costs from 12 to 8. -- Thanks, Xionghu --------------E38FE55710512E6FFC292B71 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="0001-rs6000-Fix-vsx_le_perm_store_-instructions-length.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-rs6000-Fix-vsx_le_perm_store_-instructions-length.patch" RnJvbSBkYTgyNzY2ZmVjNmQ1MWU0NjhkOTEwNmY4ZDRjNTJkZTg0NTg1YjA4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBYaW9uZ2h1IEx1byA8bHVveGh1QGxpbnV4LmlibS5j b20+CkRhdGU6IE1vbiwgMTQgSnVuIDIwMjEgMjE6MDU6MjQgLTA1MDAKU3ViamVjdDogW1BB VENIXSByczYwMDA6IEZpeCB2c3hfbGVfcGVybV9zdG9yZV8qIGluc3RydWN0aW9ucyBsZW5n dGgKCnZzeF9sZV9wZXJtX3N0b3JlXzxtb2RlPiBpbnN0cnVjdGlvbnMgb2Z0ZW4gY291bGQg YmUgZG9uZSBhcyBqdXN0IHR3bwppbnNucywgbWFrZSB0aGUgY29zdCA4IHdoaWNoIHdpbGwg YWxzbyB3b3JrIG91dCBmb3IgY29tYmluZS4KCkRpc2N1c3Npb25zOgpodHRwczovL2djYy5n bnUub3JnL3BpcGVybWFpbC9nY2MtcGF0Y2hlcy8yMDIxLUp1bmUvNTcyNTk0Lmh0bWwKCmdj Yy9DaGFuZ2VMb2c6CgoJKiBjb25maWcvcnM2MDAwL3ZzeC5tZCAoKnZzeF9sZV9wZXJtX3N0 b3JlXzxtb2RlPik6IENoYW5nZQoJbGVuZ3RoIGZyb20gMTIgdG8gOC4KCSgqdnN4X2xlX3Bl cm1fc3RvcmVfPG1vZGU+KTogTGlrZXdpc2UuCgkoKnZzeF9sZV9wZXJtX3N0b3JlX3Y4aGkp OiBMaWtld2lzZS4KCSgqdnN4X2xlX3Blcm1fc3RvcmVfdjE2cWkpOiBMaWtld2lzZS4KCSgq dnN4X2xlX3Blcm1fc3RvcmVfPG1vZGU+KTogTGlrZXdpc2UuCi0tLQogZ2NjL2NvbmZpZy9y czYwMDAvdnN4Lm1kIHwgMTAgKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAw MC92c3gubWQgYi9nY2MvY29uZmlnL3JzNjAwMC92c3gubWQKaW5kZXggZjEwOTczMjY4NjEu LjhjNTg2NWI4YzM0IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3JzNjAwMC92c3gubWQKKysr IGIvZ2NjL2NvbmZpZy9yczYwMDAvdnN4Lm1kCkBAIC02MTMsNyArNjEzLDcgQEAgKGRlZmlu ZV9pbnNuICIqdnN4X2xlX3Blcm1fc3RvcmVfPG1vZGU+IgogICAiIUJZVEVTX0JJR19FTkRJ QU4gJiYgVEFSR0VUX1ZTWCAmJiAhVEFSR0VUX1A5X1ZFQ1RPUiIKICAgIiMiCiAgIFsoc2V0 X2F0dHIgInR5cGUiICJ2ZWNzdG9yZSIpCi0gICAoc2V0X2F0dHIgImxlbmd0aCIgIjEyIild KQorICAgKHNldF9hdHRyICJsZW5ndGgiICI4IildKQogCiAoZGVmaW5lX3NwbGl0CiAgIFso c2V0IChtYXRjaF9vcGVyYW5kOlZTWF9EIDAgImluZGV4ZWRfb3JfaW5kaXJlY3Rfb3BlcmFu ZCIpCkBAIC02ODMsNyArNjgzLDcgQEAgKGRlZmluZV9pbnNuICIqdnN4X2xlX3Blcm1fc3Rv cmVfPG1vZGU+IgogICAiIUJZVEVTX0JJR19FTkRJQU4gJiYgVEFSR0VUX1ZTWCAmJiAhVEFS R0VUX1A5X1ZFQ1RPUiIKICAgIiMiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZWNzdG9yZSIp Ci0gICAoc2V0X2F0dHIgImxlbmd0aCIgIjEyIildKQorICAgKHNldF9hdHRyICJsZW5ndGgi ICI4IildKQogCiAoZGVmaW5lX3NwbGl0CiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZTWF9X IDAgImluZGV4ZWRfb3JfaW5kaXJlY3Rfb3BlcmFuZCIpCkBAIC03NTgsNyArNzU4LDcgQEAg KGRlZmluZV9pbnNuICIqdnN4X2xlX3Blcm1fc3RvcmVfdjhoaSIKICAgIiFCWVRFU19CSUdf RU5ESUFOICYmIFRBUkdFVF9WU1ggJiYgIVRBUkdFVF9QOV9WRUNUT1IiCiAgICIjIgogICBb KHNldF9hdHRyICJ0eXBlIiAidmVjc3RvcmUiKQotICAgKHNldF9hdHRyICJsZW5ndGgiICIx MiIpXSkKKyAgIChzZXRfYXR0ciAibGVuZ3RoIiAiOCIpXSkKIAogKGRlZmluZV9zcGxpdAog ICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWOEhJIDAgImluZGV4ZWRfb3JfaW5kaXJlY3Rfb3Bl cmFuZCIpCkBAIC04NDMsNyArODQzLDcgQEAgKGRlZmluZV9pbnNuICIqdnN4X2xlX3Blcm1f c3RvcmVfdjE2cWkiCiAgICIhQllURVNfQklHX0VORElBTiAmJiBUQVJHRVRfVlNYICYmICFU QVJHRVRfUDlfVkVDVE9SIgogICAiIyIKICAgWyhzZXRfYXR0ciAidHlwZSIgInZlY3N0b3Jl IikKLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiMTIiKV0pCisgICAoc2V0X2F0dHIgImxlbmd0 aCIgIjgiKV0pCiAKIChkZWZpbmVfc3BsaXQKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VjE2 UUkgMCAiaW5kZXhlZF9vcl9pbmRpcmVjdF9vcGVyYW5kIikKQEAgLTEwMTYsNyArMTAxNiw3 IEBAIChkZWZpbmVfaW5zbiAiKnZzeF9sZV9wZXJtX3N0b3JlXzxtb2RlPiIKICAgICMKICAg ICMiCiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2ZWNzdG9yZSxzdG9yZSIpCi0gICAoc2V0X2F0 dHIgImxlbmd0aCIgIjEyLDgiKQorICAgKHNldF9hdHRyICJsZW5ndGgiICI4LDgiKQogICAg KHNldF9hdHRyICJpc2EiICI8VlNpc2E+LCoiKV0pCiAKIChkZWZpbmVfc3BsaXQKLS0gCjIu MjUuMQoK --------------E38FE55710512E6FFC292B71--