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 D0B463858281 for ; Tue, 21 Jun 2022 18:25:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D0B463858281 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 25LICATj023240 for ; Tue, 21 Jun 2022 18:25:06 GMT Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3guk260a7m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 21 Jun 2022 18:25:05 +0000 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 25LIDwhu032674 for ; Tue, 21 Jun 2022 18:25:05 GMT Received: from ppma04wdc.us.ibm.com (1a.90.2fa9.ip4.static.sl-reverse.com [169.47.144.26]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3guk260a76-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Jun 2022 18:25:05 +0000 Received: from pps.filterd (ppma04wdc.us.ibm.com [127.0.0.1]) by ppma04wdc.us.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 25LIKJKG008421; Tue, 21 Jun 2022 18:25:04 GMT Received: from b03cxnp08025.gho.boulder.ibm.com (b03cxnp08025.gho.boulder.ibm.com [9.17.130.17]) by ppma04wdc.us.ibm.com with ESMTP id 3gs6b9nkhm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 21 Jun 2022 18:25:04 +0000 Received: from b03ledav005.gho.boulder.ibm.com (b03ledav005.gho.boulder.ibm.com [9.17.130.236]) by b03cxnp08025.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 25LIP3Ko35848668 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Jun 2022 18:25:03 GMT Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 11379BE04F; Tue, 21 Jun 2022 18:25:03 +0000 (GMT) Received: from b03ledav005.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 80716BE051; Tue, 21 Jun 2022 18:25:02 +0000 (GMT) Received: from [9.160.110.162] (unknown [9.160.110.162]) by b03ledav005.gho.boulder.ibm.com (Postfix) with ESMTP; Tue, 21 Jun 2022 18:25:02 +0000 (GMT) Message-ID: Date: Tue, 21 Jun 2022 13:25:01 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 2/5] ppc/svp64: support setvl instructions Content-Language: en-US To: Dmitry Selyutin , binutils@sourceware.org Cc: Luke Kenneth Casson Leighton , Alan Modra References: <20220617190820.452821-1-ghostmansd@gmail.com> <20220621115115.1068453-1-ghostmansd@gmail.com> <20220621115115.1068453-3-ghostmansd@gmail.com> From: Peter Bergner In-Reply-To: <20220621115115.1068453-3-ghostmansd@gmail.com> X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 8oaTaM-rQbxj4vY8Vw9c4OMR5kt1aiWQ X-Proofpoint-ORIG-GUID: tL2Cg1gEXT2Xo3tSzYKktiCTRsH9__sB X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.64.514 definitions=2022-06-21_08,2022-06-21_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxscore=0 suspectscore=0 mlxlogscore=999 priorityscore=1501 adultscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 malwarescore=0 impostorscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206210074 X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jun 2022 18:25:08 -0000 One or more of the following files ( byte-swap-test.pl ) violates IBM policy and all attachment(s) have been removed from the message. ********************************************************************** On 6/21/22 6:51 AM, Dmitry Selyutin via Binutils wrote: > + 0: 36 00 00 58 setvl r0,r0,1,0,0,0 > + 4: 36 01 00 58 setvl r0,r0,1,0,0,1 > + 8: b6 00 00 58 setvl r0,r0,1,0,1,0 > + c: b6 01 00 58 setvl r0,r0,1,0,1,1 > + 10: 76 00 00 58 setvl r0,r0,1,1,0,0 > + 14: 76 01 00 58 setvl r0,r0,1,1,0,1 I have learned that not specifying the exact offset in the foo.d file is beneficial when you want to make changes to that file in the future, especially if you want to add a new instruction test in the beginning or middle of the test. If you do that, all of the offsets for the following tests will change and your patch will be LARGE. The offset is really not important, so you don't need it. I recommend just using: .*: ...for the offset of all of the instructions. It makes adding new test lines much easier for the patch reviewer! :-) Secondly, ppc is a bi-endian architecture and I assume libre-soc is as well? If so, I recommend following what Alan and I have done with the Power server tests (eg, power10.d) and accept the encoding as both big or little endian. Taking both of those suggestions on the snipit from setvl.d, you'd have: .*: (36 00 00 58|58 00 00 36) setvl r0,r0,1,0,0,0 .*: (36 01 00 58|58 00 01 36) setvl r0,r0,1,0,0,1 .*: (b6 00 00 58|58 00 00 b6) setvl r0,r0,1,0,1,0 .*: (b6 01 00 58|58 00 01 b6) setvl r0,r0,1,0,1,1 .*: (76 00 00 58|58 00 00 76) setvl r0,r0,1,1,0,0 .*: (76 01 00 58|58 00 01 76) setvl r0,r0,1,1,0,1 We also place a "#pass" on the last line of the foo.d file which fixes some issue which I can't remember off hand. Alan, can you remind me/us why we place that there? I've attached a hackish perl script that will take an "objdump -dr setvl.o" output and convert it into a setvl.d test file for you. It'll create lines like the above for you. You do need to verify that your objdump output is correct though! :-) You'll also need a ChangeLog entry for these changes before you can push your commit. Peter