From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.109.102]) by sourceware.org (Postfix) with ESMTPS id 521F73858C3A for ; Thu, 6 Jan 2022 12:59:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 521F73858C3A Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-33-LiFhkJcPPXqEnf8qju5xXA-1; Thu, 06 Jan 2022 13:59:36 +0100 X-MC-Unique: LiFhkJcPPXqEnf8qju5xXA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WIZbfrPjSZZR4nCqZA6IWlqEzhMOBRfo+d2N2BlK9cPmms3RPgmtAd1QWjL1WWZpeNIc1G+4hwRpNFHl9TwCYJHYqEjkq8xLmDJi21e60yc1EjI5kMb6gW9SW7lz8jeuwkcS8r5dHmajfGLUTPPMIm+Lobtiv5gxSvFVAiojbF5czGjHtVbT/b7KeDLwEM6FJGpPY6hx/n0rn+Ue3unA+P9I68cv6YKa4+7fmRglGJTj+uVo1nA6Rxm6VAqkov2up5fOkMPklpvcnpD/9Jkrplwt68L4jF1DLr4OG/VKzPdb/uvrynoiNkdDhktJOMRDIK7+heS61lVUWPwrDSVvyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KQFuyn6pKxIVDeBYKdlKljOzNIE9EuEI1EdN/Hijoc8=; b=lA+Fpn76SCEkSK6leGK5btkFaB6VH9srv7VkiBn6qO4Zdqde48QoDCtKYAGAgK0+rlFRMpe/DRcn7JUYnC4ygAEsmkPQ/pXIevKPwjfDlCt9QvV5tYiVqwX9SnBBzrfuolmPcGFLuVMysYFBZogrRKdIOsDQKRgi5xjdECiqyi7qcuyRliTsFOHl05BOtF523wslee+Cxo1Dn0rSSqzm+JyHUOiiFK3F02bFz2TJqinp+JAD1OsPei26piLcSL7MUzccqsaAHKCCDiHzNp3nu6rFNd5BniZWd3nVs7sMhfRLL8JoEdTrFqhqExTR7P1vDdoRG/TH63Y71C5gQEw9iw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4608.eurprd04.prod.outlook.com (2603:10a6:803:72::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.15; Thu, 6 Jan 2022 12:59:35 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::5951:a489:1cf0:19fe%6]) with mapi id 15.20.4844.017; Thu, 6 Jan 2022 12:59:34 +0000 Message-ID: <93eff524-92ba-aea6-df01-27febed2cc31@suse.com> Date: Thu, 6 Jan 2022 13:59:32 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.4.1 Subject: Re: [PATCH][GAS][2/8] aarch64: [SME] Add SME instructions Content-Language: en-US To: Przemyslaw Wirkus Cc: Richard Earnshaw , Richard Sandiford , Marcus Shawcroft , Binutils References: From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: AM6P194CA0044.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:84::21) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ff9e504b-1847-420e-40bd-08d9d1146363 X-MS-TrafficTypeDiagnostic: VI1PR04MB4608:EE_ X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2582; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ef8VLYeif8oI7c4tLy0UJxDMihnf/m+gV4TK602famlKONfquHLw/fOkMgNJF1WZsD2IaKQqH6muUVeAuElEk+icrIs2bivhU2PQQFZMOdnDX8favSGg0CRHX3uAoYOXl/Yl7PBIwGw91ab2VJoJJ/rWSpHsewYGrcuvlV2xBAeIyAUYBSpQs8bCBkG9Sd/IT3eikDC4ZXYlJAR6qFCyj5LmfHExioywiGZFFo+E8Dfj3pLSbKNU4TwhCCMc8oHxfPqSD1JSozE8J+/QrQ2PrBOaFfQ0fDbqa8mUbX0/xhuIZs8sC1PID9KoBlurc0aRTxxAOaAy8GxYWop33wBGq/7fVN5821SuYcAKIfOC4FFpRpiyr7wRdD+6+RJfjnciwJiaRbQ+RgVqUVFOkl1320h9EqL9PvJr3BKVob+xmS0j7bwViOgJTbBDrl3eiQu3lUaepSQTAiToqe54Tu5wviFVm4zrZeg4dzR+ewS/JPKFrOWdPXI6viRsG/3ZzO+Xo+UPR4LRmqwzAYkRt5zRzM/oCqy0RcnjfV83ckiktL2/f27T4jZcpLnFVslaOyavr5ylgeVGmRbPFFYxTgGzIs+sQ7JNg8gKNOu57l+WOrLWhVukSWsFt95aO/pMRDQiqrkD4Ge1VcOa9g7bnnRh+Pd0roXfbKpPTPVzWCqusCxwY8LWEP6o9b39K6UgK+4rv/GebYFOqNnOI2gkYAS5ms2oG/bR3FxEmgwc2fKdgWXQLBCrIuYofceQsAplNkD6 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5600.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(2906002)(6486002)(26005)(8936002)(83380400001)(66476007)(38100700002)(66556008)(54906003)(508600001)(31686004)(66946007)(53546011)(6506007)(5660300002)(31696002)(36756003)(86362001)(8676002)(4326008)(2616005)(186003)(316002)(6916009)(6512007)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eS84cHA0YmxrOWxHdHhpV2YxdTVTSVJndUwyRkJyaHZoUVNPSmRRc3JSbWtM?= =?utf-8?B?eHByVUp3aURrSnhvU3FPVEJCaDNNTkRkdmplWTVsa3RWbDE3ZlJMYkNtbHcy?= =?utf-8?B?OVJvUDhjM0VSZ0VsZ2pwb1grTEs3WFNqa1IxMVdBbit0Ni9EUE1VM21uVm5X?= =?utf-8?B?aHRvemUwV1h5bGErS1I2K3pQMkZGaG41OW1hbDdubEpaV3Z5QzBQTjRaKzBO?= =?utf-8?B?U2tzeXhIeWtZelhjdjNQWkhJaW1RUW8vWERnN05nd3BaZ3g0VjBuZCtUcnZh?= =?utf-8?B?dklsYUVicG1pdFhDeUozOXViNW1WVEhJUmhyUlRYTFRrczFVNVVlM01weTdG?= =?utf-8?B?VUkrdVVSRnBqcGs0NWpNZ0RkNHhKTnFXZjdzS01xRkRSc0huM1FEYTd1QXZF?= =?utf-8?B?ZFQ2VDJmQ3ZlVElHcGFVMXlrcGExN1ZZVk9FWjZXN3VkemF5Zk9QTE82a2g3?= =?utf-8?B?bUJ1K25lUXBYb2w0SVk2ZzdTd3IwMk1ocUR2TU5YK0pDV2dIbStHdzVDbkVX?= =?utf-8?B?dUxxdVVHdnF5dlBBN2NDMWpWd2R6TFJDdzlOWENiMUFkajNVR05BdE42ekkv?= =?utf-8?B?SnZuOEVVdHlydE9EZTFKT2JzOXczZk9NLzZVcFVnUE1YVlhMZm5DdGdZWDVp?= =?utf-8?B?TG1ZeWRHdUhLdXFPbDhzaEJONkxWMTFYTkhRTXd6RFZ6N05vMHZFZHFNdVJ5?= =?utf-8?B?ZEcwdDEyRkd3YWRVOUdLM1pCSkwyeVNyeS9xU3drNjJrSWZaT0c4ZFQ1SWRG?= =?utf-8?B?QUZ1cDBzbG9ZQUtPbkJYUy96dmE4Rkc2b3JpMXdPbk9vTE9vamVxOVY2aDMz?= =?utf-8?B?TlMrRnlpWGRuOFhsSWtuMU50U0hnQ3UraU5xWFphUnlNRFBPR2d3aGcyRUJ0?= =?utf-8?B?S0xCMmx6bUFUNGRRdVZhaXBxR0w3SHVXU0x1dXh6Qzk1WGs0RE14dktGSGhw?= =?utf-8?B?M3lwdVdyRGlRdndiSjUrb2E5WDArK0hVZjEyVlpKU3gwSjNJT0FQNHFlR2ps?= =?utf-8?B?N1p3S2tESE9KT1F3NlFINW9YSUZTWTVzVjRDamdrNVhSeHZ0UXNubUw1UHJo?= =?utf-8?B?K052YURMbTQrWUllMm5xeHNiZTVyZnRoeHZFaXpDQlFNbk5UWldydTlJZlk4?= =?utf-8?B?VzRUaGJ0Y0hUbG9iT0JsakJObyt6QXFIeTQ3N01oRkdWOUZJcFBxK1B2STBw?= =?utf-8?B?emJ2bEYwNEYyRGFLU3N1R25sd2puVFhQSTBXUWJYWUphWldPTGtrSXFIR0hP?= =?utf-8?B?YVdUcXZ3REJoUnNZYmczTkx4d1ZIL0lWZXZIOEJ4NE9XRlhkWHdrS3Q4dVhV?= =?utf-8?B?TE5XUHdFaVo5aVFWMmR5ZkVZaWkvWkVQOFVyRFNSekNkNmZTZ0daaXBueEFO?= =?utf-8?B?ZTB0UmIzTmp1MG1GN0t2YWZ6WHVERkwrd2lzMUFZb0h6cG9LbTJpU1RBYURX?= =?utf-8?B?ZDVXVGs4cUtHa3NxRzNIZUlybGpGYVNqRE9QaFRTYkttUG1mQmczaEEyMVo5?= =?utf-8?B?cms0dE13UFhTWUE1Z2pudDdnOHJBZXE2ZWNpZlBFb0h0QTFFUnViNk1MQmVP?= =?utf-8?B?WCtMWHVrUHhKTlY2Mm9iR3BadHlSbWJoTlc5SDJseXVSVmxyemp0R1hYaTFH?= =?utf-8?B?UmVXVmUzLzRjTkozd1d3ZHIyN3Nlaml6NWNaY2EzQmtIcERHSjRQMGoycXZo?= =?utf-8?B?enhqd2lnUDlWb1ppbmNnb2lGcTZPcjJ5RFRXWUNiT1JJWjhqd2k5NGtmc2dE?= =?utf-8?B?MHo1akpyS0VEL1RkQ3FVSjgzdVI0em1xdms0Uk01NE55UUJlcmMwR2ljT24r?= =?utf-8?B?THJtTHpaUGR2MWRydGkvTnJtbE1oZjNYNWlxS3NMeTh6WHRWQjFYZGZGQlZD?= =?utf-8?B?cE42aXltbW9FRjRpcHYraFhsb1dDbXdON0JMYitXQVpxdEZybldNMGpPVGVv?= =?utf-8?B?ckZCczNlWGo1WjU5dHhuNTVjMGVERkxsamxWQUdoTkdtUCtDRWdtb3BUbURI?= =?utf-8?B?TngyWlhUZi9YcXRheWIvWlhFZk5NVkVWazh5Mi9DS0VJdEw4RHFIMklic090?= =?utf-8?B?Y2xENXdkQnI2KzFsK0l4YnFlWlRhZUpHN1VJVUY0Vng4TVNVb0FNdmRaQ3BE?= =?utf-8?B?dnAvKzZsWEpHY1VyemF5QVJOelR5dFI4enp4NDU4TFBBUjd6Z0QyOWdONjNU?= =?utf-8?Q?F8SiB9x6np6o6iwWd6oU4+E=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff9e504b-1847-420e-40bd-08d9d1146363 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 12:59:34.8654 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gpzcsHGvO3Sa5aTkaW9Y6lzpxl/vXFec3XzfE++fjqTzM0TRnbDiSWjxlHe3/lVJAzaWMP8XPI2Atf3bVetF3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4608 X-Spam-Status: No, score=-3033.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org 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: Thu, 06 Jan 2022 12:59:40 -0000 On 25.10.2021 23:08, Przemyslaw Wirkus via Binutils wrote: > Hi, > > Patch is adding new SME matrix instructions. Please note additional > instructions will be added in following patches. > > OK for maste? > > gas/ChangeLog: > > * config/tc-aarch64.c (parse_sme_zada_operand): > New parser. > * config/tc-aarch64.c (parse_reg_with_qual): > New reg parser. > * config/tc-aarch64.c (R_ZA): New egister type. > (parse_operands): New parser. > * testsuite/gas/aarch64/sme-illegal.d: New test. > * testsuite/gas/aarch64/sme-illegal.l: New test. > * testsuite/gas/aarch64/sme-illegal.s: New test. > * testsuite/gas/aarch64/sme.d: New test. > * testsuite/gas/aarch64/sme.s: New test. > * testsuite/gas/aarch64/sme-f64.d: New test. > * testsuite/gas/aarch64/sme-f64.s: New test. > * testsuite/gas/aarch64/sme-i64.d: New test. > * testsuite/gas/aarch64/sme-i64.s: New test. > > include/ChangeLog: > > * opcode/aarch64.h (enum aarch64_opnd): New operands > AARCH64_OPND_SME_ZAda_2b, AARCH64_OPND_SME_ZAda_3b and > AARCH64_OPND_SME_Pm. > (enum aarch64_insn_class): New instruction class sme_misc. > > opcodes/ChangeLog: > > * aarch64-opc.c (aarch64_print_operand): > Print OPND_SME_ZAda_2b and OPND_SME_ZAda_3b operands. > (verify_constraints): Handle OPND_SME_Pm. > * aarch64-opc.h (enum aarch64_field_kind): > New bit fields FLD_SME_ZAda_2b, FLD_SME_ZAda_3b and FLD_SME_Pm. > * aarch64-tbl.h (OP_SME_ZADA_PN_PM_ZN_S): New qualifier set. > (OP_SME_ZADA_PN_PM_ZN_D): New qualifier. > (OP_SME_ZADA_PN_PM_ZN_ZM): New qualifier. > (OP_SME_ZADA_S_PM_PM_S_S): New qualifier. > (OP_SME_ZADA_D_PM_PM_D_D): New qualifier. > (OP_SME_ZADA_S_PM_PM_H_H): New qualifier. > (OP_SME_ZADA_S_PM_PM_B_B): New qualifier. > (OP_SME_ZADA_D_PM_PM_H_H): New qualifier. > (SME_INSN): New instruction macro. > (SME_F64_INSN): New instruction macro. > (SME_I64_INSN): New instruction macro. > (SME_INSNC): New instruction macro. > (struct aarch64_opcode): New SME instructions. The patch being present only as attachment makes it hard to comment. Nevertheless two remarks on the test cases: > --- /dev/null > +++ b/gas/testsuite/gas/aarch64/sme-f64.s > @@ -0,0 +1,32 @@ > +/* Scalable Matrix Extension (SME F64). */ > + > +/* FMOPA (non-widening), double-precision. */ > +fmopa za0.d, p0/m, p1/m, z1.d, z8.d > +fmopa za1.d, p2/m, p3/m, z2.d, z7.d > +fmopa za2.d, p4/m, p5/m, z3.d, z6.d > +fmopa za3.d, p6/m, p7/m, z4.d, z5.d > +fmopa za4.d, p1/m, p0/m, z5.d, z4.d > +fmopa za5.d, p3/m, p2/m, z6.d, z3.d > +fmopa za6.d, p5/m, p4/m, z7.d, z2.d > +fmopa za7.d, p7/m, p6/m, z8.d, z1.d > +fmopa za4.d, p7/m, p0/m, z5.d, z4.d > +fmopa za5.d, p6/m, p1/m, z6.d, z3.d > +fmopa za6.d, p5/m, p2/m, z7.d, z2.d > +fmopa za7.d, p4/m, p3/m, z8.d, z1.d > + > +/* FMOPS (non-widening), double-precision. */ > +fmops za0.d, p0/m, p1/m, z1.d, z8.d > +fmops za1.d, p2/m, p3/m, z2.d, z7.d > +fmops za2.d, p4/m, p5/m, z3.d, z6.d > +fmops za3.d, p6/m, p7/m, z4.d, z5.d > +fmops za4.d, p1/m, p0/m, z5.d, z4.d > +fmops za5.d, p3/m, p2/m, z6.d, z3.d > +fmops za6.d, p5/m, p4/m, z7.d, z2.d > +fmops za7.d, p7/m, p6/m, z8.d, z1.d While up to here it's all f64 insns, ... > +/* Register aliases. */ > +foo .req za3 > +bar .req z0 > + > +fmopa foo.s, p6/m, p7/m, bar.h, z1.h > +fmops foo.s, p6/m, p7/m, bar.s, z1.s ... these aren't afaict, and hence wouldn't seem to belong in this test case. A similar issue appears to exist in i64's "Register aliases" portion of that test case. > --- /dev/null > +++ b/gas/testsuite/gas/aarch64/sme.s > @@ -0,0 +1,123 @@ > +/* Scalable Matrix Extension (SME). */ > + > +/* ADDHA 32-bit variant. */ > +addha za0.s, p0/m, p1/m, z1.s > +addha za1.s, p2/m, p3/m, z2.s > +addha za2.s, p4/m, p5/m, z3.s > +addha za3.s, p6/m, p7/m, z4.s > + > +/* ADDVA 32-bit variant. */ > +addva za0.s, p0/m, p1/m, z1.s > +addva za1.s, p2/m, p3/m, z2.s > +addva za2.s, p4/m, p5/m, z3.s > +addva za3.s, p6/m, p7/m, z4.s > + > +/* BFMOPA. */ > +bfmopa za0.s, p0/m, p1/m, z1.h, z4.h > +bfmopa za1.s, p2/m, p3/m, z2.h, z3.h > +bfmopa za2.s, p4/m, p5/m, z3.h, z2.h > +bfmopa za3.s, p6/m, p7/m, z4.h, z1.h > + > +/* BFMOPS. */ > +bfmops za0.s, p0/m, p1/m, z1.h, z4.h > +bfmops za1.s, p2/m, p3/m, z2.h, z3.h > +bfmops za2.s, p4/m, p5/m, z3.h, z2.h > +bfmops za3.s, p6/m, p7/m, z4.h, z1.h > + > +/* FMOPA (non-widening), single-precision. */ > +fmopa za0.s, p0/m, p1/m, z1.s, z4.s > +fmopa za1.s, p2/m, p3/m, z2.s, z3.s > +fmopa za2.s, p4/m, p5/m, z3.s, z2.s > +fmopa za3.s, p6/m, p7/m, z4.s, z1.s > + > +/* FMOPA (widening) */ > +fmopa za0.s, p0/m, p1/m, z1.h, z4.h > +fmopa za1.s, p2/m, p3/m, z2.h, z3.h > +fmopa za2.s, p4/m, p5/m, z3.h, z2.h > +fmopa za3.s, p6/m, p7/m, z4.h, z1.h > + > +/* FMOPS (non-widening), single-precision. */ > +fmops za0.s, p0/m, p1/m, z1.s, z4.s > +fmops za1.s, p2/m, p3/m, z2.s, z3.s > +fmops za2.s, p4/m, p5/m, z3.s, z2.s > +fmops za3.s, p6/m, p7/m, z4.s, z1.s > +fmops za0.s, p7/m, p0/m, z1.s, z4.s > +fmops za1.s, p6/m, p1/m, z2.s, z3.s > +fmops za2.s, p5/m, p2/m, z3.s, z2.s > +fmops za3.s, p4/m, p3/m, z4.s, z1.s Up the here comments and insns match up, ... > +/* FMOPS (widening) */ > +fmops za0.s, p0/m, p1/m, z1.s, z4.s > +fmops za1.s, p2/m, p3/m, z2.s, z3.s > +fmops za2.s, p4/m, p5/m, z3.s, z2.s > +fmops za3.s, p6/m, p7/m, z4.s, z1.s ... but here I think source registers want to use .h suffixes. Jan