From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45]) by sourceware.org (Postfix) with ESMTPS id 1F1FA3858D33 for ; Mon, 17 Jul 2023 07:26:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1F1FA3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N2PdaR8EZ4WtcYln9h5T9FapkoBhlVq2sL/NoKkTJZt2f8FF1TXI8Vt09Cjy0D5+AXzefpZBJBJVh5qAvEqpDex2T3zYvPBhSm4/aomZom7jb4f2oXdsVaAtdel9Uvw4b8V6he1bWD9wkTHjCCIgpzqoFphKNrwB+ZMHU5Vn2hlfFrnpC8J/onDI6KV4aS86nf+bg50S8tsyPaS43IN8YGBdPm1hznVLAtA3pePMYjoBW4qxH0zB4rup5VkMwtTh7aNew8mhUJ09AK5bYevrV0UlDRmO4+JVWpHeP+GM/mzeuW0JPKI4/pTRMpxhu+J5J0SmCuXTD+PK5EyTHDG7HQ== 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=Y3gMhXiGqEdbBQCZEMvnwQKTf6ol11daDPfHFi5agus=; b=RbNo6/Xt/hnVwJqpRHfdSU3+JTMiMlwWPU2RBqKYtmflOkaXvo7R9QaJPJkPnId1m1tAS9eenTLU0z/fzSmlrpcnAL9DPCdwXY7BRRqpvFZo1Xo5Gjgu2ZhyuVYqSFiEMehKkKG8pnQOeb4Np56p60Yye2ZJceccypy1iXge1yU2Plr7yMEuucwnwA8weUhCDW6RGSnxxfq1mRZjjW264efZYfYMcD7hWaefXrG1LedrHJvm880R9btDE4g18VBGv0Mw3f3qjeQfZzxvpYDWebjZXtig0UYH02yczTQhKKIlQIB+FaBkxmOYQ3gTKn5HL1AKg96ViISBhT1d3CWkFQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Y3gMhXiGqEdbBQCZEMvnwQKTf6ol11daDPfHFi5agus=; b=RJsHX4avU+A4cHTN2PhCk6wxJmapijf7aA6DE3ac88iUpRZw63daSNi0uvK3ZBnzbk0ONgV8p7BqQ0kgTcTPtifeGOewPnjdDRjjJkWW2TZr/UQ5ih8oPYYrU0MK0KOlkV6yW0nXJ6ndQBjweCFKoLVxvldAIR16eNmRiQPGsenv3cCEqEMq7vgOARLm26RWo6k7uvr3wWsV91lJvc0YhfVqrIL4/YVA6MXOUKcZn5zTDH+xEN4uazuPpzm9HaWa0ffCFXAVFPa/cmavWJNsvETn8r6qoAWwF82Wtl9dBiSZ5E9aN69q7NHLm/DwO/u72Peaqrq0aa6+qNJFDttnGQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com; Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) by VI1PR04MB9979.eurprd04.prod.outlook.com (2603:10a6:800:1da::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6588.31; Mon, 17 Jul 2023 07:26:23 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::9bd3:48c9:ff58:9880]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::9bd3:48c9:ff58:9880%4]) with mapi id 15.20.6588.031; Mon, 17 Jul 2023 07:26:23 +0000 Message-ID: <3de0bb8c-cdcd-4b68-785d-f71b06db7379@suse.com> Date: Mon, 17 Jul 2023 09:26:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH v6 02/15] RISC-V: Add support for the Zvbc extension Content-Language: en-US To: Philipp Tomsich Cc: Christoph Muellner , binutils@sourceware.org, Nathan Huckleberry , nhuck@pmull.org, Jeff Law , Nelson Chu , Andrew Waterman , Palmer Dabbelt , Jim Wilson References: <20230701052104.4018352-1-christoph.muellner@vrull.eu> <20230701052104.4018352-3-christoph.muellner@vrull.eu> <355e3b07-3111-34dc-7b0f-8be828012ae4@suse.com> From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0100.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9c::14) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9979:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a730103-7229-48f9-6dac-08db86971f79 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H/niaKFolabPNgNol8AmIPkprh6655uwCrB0jFoc3G1uEyrsyA3aXeC0dRCssq3D179GYccnc+mEO5RNx7DifiUTtUW/M5rwGvywAp2+4BdGUvPD5e4rorbJpvkQbyqh/aYjr45UkxfevWxYdwZs2GZBtsRJzRacna0LKpO4M7UJIV1yD7EMS+6WNpAXj3nGo6gRscoHGdREURrUWfpo73zUbIcHP5bFojTPt1isfg2sq8R5fDRk+OkXdO1EHekWRp9FVc6viQUccKYUa9gp5xzAn28Pfs610DpwET5Kyli7mDJNNZCkPyqZHpMiIzWtIYYSuuWHuFws6NhkGcb27N1IA48Z32M6nYsRl97Il7qOOnqenEmmAU9tWc1aievAL4GPscuqJ8OE5hirmJH1EFusDXAwA3SBtiK/iKtKNlJkIaVrAvU6cA3E5THVnRmSx1pf05igWIJnxeiW9bLmZcY6QVxdilQwMbsJkQ3b2Rlh2eWU0oxkG7G1Ws6SF+t1rOB2jDpFOzYlKEe9Uc0VLs6ZEKGMKla9BrafF8wH4uvmpRHb0RULyURBfdEfq+/bmhN31REC63CqPPi2ujQSF6P5ot9Knkv0z9uHEqVvPY8aNP2udkXobPFaaGh20J4/ivTyA2HqwLc8UXXHJyQZvNLHkJOozfmeJjOs76AnP19nReeBqqWTCqJ1LxBjVxBwvFE+LsmaS1UA54EjYRACGQ== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(39850400004)(376002)(451199021)(83380400001)(31686004)(478600001)(186003)(31696002)(2616005)(6486002)(86362001)(26005)(6512007)(6506007)(53546011)(66946007)(66476007)(7416002)(66556008)(36756003)(38100700002)(41300700001)(54906003)(2906002)(4326008)(6916009)(8676002)(5660300002)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?V3Q5ZUVEMC9VZFU5aU9ZQzk2RUpSTm5YU3BjSTA0TnBvdTNJM1RSMW9ja3ZV?= =?utf-8?B?Sm5jazc1WDF2Ui80R2x2cC9GMmJEcW5Ra3hIbEJTUW5FRjYxNWdheDBoVFhs?= =?utf-8?B?clFTSzIyNG10K1RGTTlJRHJzaDhqaU51aksrLzhibG15Z1Z4cUhVM1ZvVHRF?= =?utf-8?B?d0h5N3FPVWFGL2RiSWR5bEN2MTFzSFNlbjZMQ2tHdlM4YXh6QnpWMTVNUlpB?= =?utf-8?B?VnNNVkc5cHhOVld5TC95S1pENnJWU0Z5M2tjSU5panNhdHFaYmlWTElEMWhw?= =?utf-8?B?TUU3dzVIcWsyUXduSDFqR1FqL2VvcFdGMEZUZ1dESXEydkRONUdqZENTOStN?= =?utf-8?B?cGRPYk93UGU3Z1dwTHJuYlgvZWFQMlpRTHJvNGhyRHNIQm9sUnplTFgyendy?= =?utf-8?B?anRrNnp4c1k5UlVGblVyZVArZlBidFhaRG9UUXIwcnlSdXhpSTJENHc0T0tC?= =?utf-8?B?NStvQmpRVk1xMWFCQ2J6cUlqVUVFLzNkYm9SY0hqT01QL0E4cjV3Q3dpOHpR?= =?utf-8?B?OXkrK2kydkY4cjNscW5CR0NUVWNod3dpODdDT2pKL1U3dVlDOU44RzBvMFdX?= =?utf-8?B?WUpMTStldkowQWhiZXp5SmxtUkhaeitPMExZY2RCWWNBUkVGbTRXOXhiK0Vq?= =?utf-8?B?ZCtJN2NVS2VZMEVrR055VDBtR0JTMTcrc3NrMGk2TjhreFBJWHk0eHFWOTJU?= =?utf-8?B?VmIrQnc4MWUzZk1Vd01ERng2R3A3NDJRYWRIVDdsQ2ZpSXJLWHpOSHJPSkJB?= =?utf-8?B?Z2t2cExZaHNHS0tkeFBhT0Q1bGFKR1NySmFpLzJXazNLTGJYVCtlVnNGUU5k?= =?utf-8?B?OEpvVENaMWpKSzVvU0pvR1V3QUttU2p4b0EvN081K0RmNzloczdzdG1wd09Q?= =?utf-8?B?cXplM29UYzNETHpQdm5WRW9iV1E4cEsyT2x0MHlNNjcyVVZhTnRXRE5YMzFZ?= =?utf-8?B?OEJobXdUbHZDbS9CalVoejBvbFIySEpUdjVZMWRKRmFqVk54UG5reGdwSTFL?= =?utf-8?B?VDVieGtHcUkxVkh0NmpXTG5JUzYwVGxZVVRVK2ZEN3VScVhkUjJLcW9TLzdj?= =?utf-8?B?RnplNHZ0V3ZuV28rbUV0KzQ4TTk2K3huLy9zN2V1N2NJK2tWL3NGVHNZMWRS?= =?utf-8?B?amZxUWUraGZJalNtVFNRY0owYVlLWDdTZHNicWRWZ1lZdHlqZzBVbmZ2RXFm?= =?utf-8?B?amVCYUZIaHNkUVFPVVVFYm80alQ1WmRBUkdQeTBObnRFVzRJSWJMMkhpVWR5?= =?utf-8?B?K1ppWnBQVURrVUlJMUNXM2xYMGVDUzg5cFVyNjRsL0JjOVJOcU5YQWpkNXlw?= =?utf-8?B?ZllvMGhwUzhXK3krZmFtY0RUNlZKWlBsaUYxVWZ6MmtRSHRlcmxLQnVGMjkr?= =?utf-8?B?MG5kTXNqNU9jNncrSDRFcnp5dzhMRHh4ZVNmOG5oNkhwT1pBbW5laCtkazMz?= =?utf-8?B?d1hUWkt5a21zK0VscWlzMzBVK0dmdUFCVENpNXRkZmhEOHd6WWJvTkNlUTlR?= =?utf-8?B?RzlVWEdOZ084blQ3a1FEMGFNOElqeFpPRFpjN2d6TUw1N2dQUHRBV3BQaEdL?= =?utf-8?B?RVVFY0pWNDczSmxvRUFwSlB5SFg0T0RQWnNhd2ZGZWFLNk9SV2V3dnVJblhs?= =?utf-8?B?QUh6QWc3UTJYZFBVczZrb013UERkRkFTN1ZmaGIvRWcrRVozQVh2Z0wwSGRI?= =?utf-8?B?dWxSR3FJRXljaWJHZEVacVN0VEI1akl1YnJuRUFsbE8wNHk3RFhKUFNOYmVO?= =?utf-8?B?a2Z6Rkd6NFg4L0YyVjgwUm5ndTVqTDI0ZjJYb1lFL1RBMnVLZnhiaEpJdExt?= =?utf-8?B?MmJHTjVDMFRncW91T2FrT1dsWkl1ZGJJVVBsNllWTmRudGVTeiszbGVoTERy?= =?utf-8?B?QjVZY1VoTmMvWGVQRXJTZkMrR0lIZzBjamNLNzNtSVYvN3dSL0NvUXRqTlM4?= =?utf-8?B?V3B4cENQUWhxeVVpRmlDNlcwMTE2N05wb0lHMWJCbU5yckJ3NU9IZUxKTm5M?= =?utf-8?B?aUMzRnBwQ0ZxZG4zYkxSOFBSN2JQTXRJaXFqTmxmdVlKSGRhSHNZSHhhY2hO?= =?utf-8?B?aXVhdEtaSnhVNkN5RURwWnQvUnJGeFNQRHlHUm4zSEhaSGFNOFVTSEd0eDlM?= =?utf-8?Q?ooAfDSTf1XMzjnPqpL23tnRkn?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a730103-7229-48f9-6dac-08db86971f79 X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Jul 2023 07:26:23.0265 (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: cgMSFhTDSGfZeEaaResHIFF7f/yxl6W0pW5VLPGF62hJMkjvUSEGsHABleLnUXMb3i+fEYV+m5iQi7dsLxClAQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9979 X-Spam-Status: No, score=-3027.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,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 List-Id: On 17.07.2023 09:11, Philipp Tomsich wrote: > On Mon, 17 Jul 2023 at 09:02, Jan Beulich wrote: >> >> On 01.07.2023 07:20, Christoph Muellner wrote: >>> --- a/opcodes/riscv-opc.c >>> +++ b/opcodes/riscv-opc.c >>> @@ -1902,6 +1902,12 @@ const struct riscv_opcode riscv_opcodes[] = >>> {"vwsll.vx", 0, INSN_CLASS_ZVBB, "Vd,Vt,sVm", MATCH_VWSLL_VX, MASK_VWSLL_VX, match_opcode, 0}, >>> {"vwsll.vi", 0, INSN_CLASS_ZVBB, "Vd,Vt,VjVm", MATCH_VWSLL_VI, MASK_VWSLL_VI, match_opcode, 0}, >>> >>> +/* Zvbc instructions. */ >>> +{"vclmul.vv", 0, INSN_CLASS_ZVBC, "Vd,Vt,VsVm", MATCH_VCLMUL_VV, MASK_VCLMUL_VV, match_opcode, 0}, >>> +{"vclmul.vx", 0, INSN_CLASS_ZVBC, "Vd,Vt,sVm", MATCH_VCLMUL_VX, MASK_VCLMUL_VX, match_opcode, 0}, >> >> I realize this is more a spec question than an implementation one, but >> implementation might be affected by the answer to the question: What >> exactly are this and ... >> >>> +{"vclmulh.vv", 0, INSN_CLASS_ZVBC, "Vd,Vt,VsVm", MATCH_VCLMULH_VV, MASK_VCLMULH_VV, match_opcode, 0}, >>> +{"vclmulh.vx", 0, INSN_CLASS_ZVBC, "Vd,Vt,sVm", MATCH_VCLMULH_VX, MASK_VCLMULH_VX, match_opcode, 0}, >> >> ... this insn doing in RV32 mode? There are no 64 bits to take from >> the GPR, yet that's what the doc presently says. Is the value coming >> from a pair of GPRs, or is it sign- or zero-extended? Or is this an >> RV64-only insn? (Note how the doc explicitly describes the behavior >> for vandn's scalar-source form; the only thing left to be implied >> there is that truncation / sign-extension are to - I assume - element >> size, but maybe that's said somewhere in more general terms. > > > According to the pull-request for the SAIL model (which will in the > future be auto-generated into the specification documents and often > clarifies on parts of the specification where the English text is > ambiguous or imprecise), these are defined for RV64 only: >> >> +mapping clause encdec = RISCV_VCLMULH_VV(vm, vs1, vs2, vd) if (haveRVV() & haveZvbc() & sizeof(xlen) == 64) >> + <-> 0b001101 @ vm @ vs2 @ vs1 @ 0b010 @ vd @ 0b1010111 if (haveRVV() & haveZvbc() & sizeof(xlen) == 64) > > Consequently, these should only be allowed for RV64. Oh, even the .vv insn is RV64 only (I had asked about the .vx one)? Plus then why not sizeof(xlen) >= 64? Jan