From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2073.outbound.protection.outlook.com [40.107.6.73]) by sourceware.org (Postfix) with ESMTPS id 0C190385840D for ; Tue, 29 Aug 2023 07:43:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0C190385840D 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=VwQq4hjzePafT3x/vSdqKocs/O52qUxb6U27m61YjHvHsX4uOWVtIGo4qt+JDSoUuAHG/mQxa4RQyWJ+7rBri11eANW7d0111Dgf+F5ht9goRj/JX5lQSJcsV/hGR2njQ5KcvCttdZFKk1y/GYuxq84k5q0Q5lkxjdMtpzQ+y8Qm3mTMPmoGK1E9GEpRY27s3uWVdmaj3eJVIISkk5mS1o13RiWOFrTn4OD9lrKAflGR/9isckab7ATmNLyk8YQpzRjQuN79AJtcryqElWkunXdWWfng4BZQ7fYFKPt8Q+oBQIS4f1bOLg28dn4V3mIu5iBYzjCBe5b5yvTINrz6KA== 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=d0+Zuc67OcmVKHkUGMns8mI2WoBgJ+w0Q+xYzbNQkRc=; b=C1buW0NUqoelLVQmp/uMd5R20WZPx+77MfyIik+xJTAQ1HI4tuMNo/owNJIwA7j12NFBm+fotVSgBpEQ4AqbxegUcsNjJsbeoDt1vgdyeiJ1NHzdPUJj1/sxItnRUSPE+GqynDb4eR8eJ3P8MoNGxtBU63fcVQVBs9diy4ji5YcV+/iVxHw3Hr40yLTOZQIIs0oRue1UIoJ+rnQmt/hqAXSGR7yObZ7kbfHet7McXV/0JU2QO5AzZstaLwCEFZenIT9xigRNcgX7RAD5gpE/noPIBJ14vZkKo/lW7mdoITYfgNvyvxujooq7wTQ1tUEU3lrNpAYlU5/XsljzAEfsoQ== 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=d0+Zuc67OcmVKHkUGMns8mI2WoBgJ+w0Q+xYzbNQkRc=; b=ZFzwvPx9/FMkKTzIrhvG2AKllYyDa02b88vNA+/BvVFVzBueIsHJV4kvEmq/AvSdGAlhNMAfgKkhThQB1OY3oiEo3d5oso6kEK1GG6Gn8OQq2ExYiI7qnq11mqZLTYpsTRq2jOy5cTEBBWW9Tnvw9p1UKBercivOth/5tyIaaAd1w2RBvHDkhOQ1iJHCTHiNr1EaV3GTmeuqTzThqqYtrqdKuvVLMGi46XRoRj7BDhoKyOJ6x9GlQ//gaehhr6nYAmjntyTYaqSzD8YSZn9TaKecPhm/1JYg7hneC8h+6FLK9wBnfy8LxHVFqsQm1WsoUJFHXaaVZYVhf0s3KjlHDw== 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 VE1PR04MB7213.eurprd04.prod.outlook.com (2603:10a6:800:1b3::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.34; Tue, 29 Aug 2023 07:43:23 +0000 Received: from DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654]) by DU2PR04MB8790.eurprd04.prod.outlook.com ([fe80::f749:b27f:2187:6654%5]) with mapi id 15.20.6699.035; Tue, 29 Aug 2023 07:43:23 +0000 Message-ID: Date: Tue, 29 Aug 2023 09:43:21 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [RISCV] [GNU AS] Possible `vmsge{u}.vx` instruction lowering bug? Content-Language: en-US To: im Kiva , Nelson Chu References: Cc: binutils@sourceware.org From: Jan Beulich In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR2P281CA0121.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:9d::12) To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7213:EE_ X-MS-Office365-Filtering-Correlation-Id: 36308c36-1552-4c86-0d3a-08dba8639f4a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HuhINKcqmIzR6x+i7VDuSc6fquuDbchdZRNU/f9QZZEVZzvfEbrtzULAub66ylQlvGkVEP24XTIvgna0AbZmkgsccSBfbZeuUteOyF91x3yTbixFtN/J7ozQs2LsK3Tixp07S2vv4HNlN8Siypydp1NOxkNUE4aHGL+TsELFY9e8NXn7+fkklZtVrQPEduFM9DmqpzsvgFPeAqz2mf+q0OthgCzKgzUtdVW0MHdolGq52WOGT5mTsuj51ruvB2IicQWnHrgRDLQJ56n4Pw1s4dWCuzE6U3TPygGiU0s3TbLy1TjKQQtfwqeYftggdQ2ImcPkMl9O4wkiY1tfAoLQgjeFnSNALWqdgUjb5o9rX/gtImkol9xZ/zpjfY8Qka65i5jJmA+SHcCllHhL71Jpw9TsM0zn6TfmKByBkK3oHP5ruT6Utm7lGfiZi0LSgD4u6zyGx2yT4fERZW7pnmMsuCMY1YtpYNQwxfycFQxJpnfUPK0kRN91YH+ifCgeB6vTKsJ5VrmZKeSrlDr7D57mZgpdAN2E7DiyKfsoWGyk5maG/6ndHJ40Vq2Hm0XhIAoqxlUDpf8FkI6hnqBpQJ4GEE0OGjaM8I+J8pjXCNo8iQ3XAyM8Sr3xjOkFwZsqXuE09SD5mW0eiibY/O9wkdGzQE9goLskY6nY6lrny+zodgo= 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:(13230031)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199024)(1800799009)(186009)(8936002)(110136005)(53546011)(31686004)(478600001)(66946007)(6506007)(66476007)(66556008)(6486002)(316002)(38100700002)(41300700001)(6512007)(36756003)(26005)(8676002)(5660300002)(83380400001)(31696002)(2906002)(2616005)(86362001)(4326008)(81973001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Tk1QZnFTaWRyRDJZU1Q2STc1bXg2ZGZtdmUxN1VpT0VIWWZibTAyeHNCSk1O?= =?utf-8?B?VmtEVVFLekZqYzY1dGNoanB0Y1JnYzFlZGNqbjR6cHhnQW1VbnpuZlZkREg3?= =?utf-8?B?WFhCWG1hNHMzZ09PNSt5S29URGZ0R20yZUgvQ0VKYWpVeHN0QkVwa2dIZCtv?= =?utf-8?B?UDZwQVI0UnRUcW9TUVJlb2xEVGljZldTc2hTQUlkUzZHNTcxS2ZXdy8rK3ph?= =?utf-8?B?MnovTGh2cWFBMFUyc2lSaVZjZWhsZzZpKy9PNWk1d2k1NFZmU1FWVW1KQ25F?= =?utf-8?B?bkVZKzVUeUg5OG45UVkzVWtGWE1zZ2d5RHZScVkrT0lZeWswVVRWY0tUTzEy?= =?utf-8?B?dTRkNXZIM0Q0QVBpWTJHemt2TDBSUUhyb3V2MXNVVzE2WC83amxWakp0amFW?= =?utf-8?B?VDE3cFlzKzZ0VklwaEZmVEZSb0llWk5Id0JPNkhYTkJrZ1FHajZZVDVjU1RY?= =?utf-8?B?MGovNXFRWlI5aXpkUXJJNzZvWXdYQzg5aVpYdS82M251dldpQndpcnBDUTFp?= =?utf-8?B?dmtYMUtDN01ycmV6TzRJNkpPdXprTHV6WGE5TGljNGVuZENXUWpxaGx2Z3Bn?= =?utf-8?B?ZkZDcGZPNWlPejUvRTlISFZiOGxqSUNVelBjTmZaRlhmYkpRWkdSTFh5anQw?= =?utf-8?B?YkxiR3ZiZVBSZWZWTHZXaGtaOVl0TzcyL09qaGtCQmpiSkZhZW05cXlUZzB5?= =?utf-8?B?bzFWNS9PK3JEaitlTTBoUG9OWU96K3RTS3VVR2dWQWhyb2dySFc5VkNibHdq?= =?utf-8?B?Tmp1dmJ4bEJEcTZhay9YZEJNTTY3aGhOSWJ5T0ZUTWVPNFBBdTBBS21LWUhm?= =?utf-8?B?bVBpbUpZZ2hPZmNvdVRybERidHpmVkxMbi8wVVRUL2tOTU1uZHJoZE9uWmM0?= =?utf-8?B?S3dRY3FRMEFIdGJZUk8vc3dYYWVFS0hzWlFtQmgxMkZhamlpc0pxQ0Z2aHhY?= =?utf-8?B?M2VZdjFQeSttMWZnUEFFSmtmanQ3OVdWamhNSjFaNjV1TldPVThYY1FJd1FK?= =?utf-8?B?TEN5eHFGT0ZqdFNiWUdQbVYxcG9KU2Nobzc4N2hDL1dzY0p6MmN1QS9la0t0?= =?utf-8?B?N2pCODkzcVZoYkJ1bS9zdEtWYVR1bEE3NUFNV29wbjZaWjNxZjY2VWlJSThp?= =?utf-8?B?TGxQRTY0SGl0WVdIejBwcGNqQVU4cXE0Y0JsVllNZ0V0VHFTdkoxdnNaLzNu?= =?utf-8?B?dzliYWYzMG9VdTh3VXh3M25kYmUyUU1ZQy85T1hyT0E5ZFVwaDhBWnVvc29B?= =?utf-8?B?TEZxM2ttKzFtZGlkc01GSzVPMnZCd3NsNGY3TzFjRytXd1hqYnIyKzVNQzk3?= =?utf-8?B?TDZhSDNSb2NlZXc2QmF5bGxqa2cyVXdESEdEVHM2TkhuY2ZYU2d3ZHdCUE05?= =?utf-8?B?ZUFxaXBWQ0U0bldnMTFDS2xNWFU3UnFDd05OQXNta3ZIRWlUL2cwRHNEVW8r?= =?utf-8?B?YjhGSG1rNVNjNWRLZ0hsbXBYenlPNmJMWUU1TklLQ2R0NFhVckpKMVhmNlJo?= =?utf-8?B?N094czIwdXdRV01OQXVJVElZUzlzUDR4cEhvRW91Sk9Ic21VZ1ZaS2x6SjhZ?= =?utf-8?B?cWd2Vjd6b0JmWDF6bGFHYjhiVGFlMUttTGN0TGQxUmZJUjZrdWM5RFZzOFRV?= =?utf-8?B?VWpGQjZNUVA0WmhpTGVaVzVSRmUzUDI5QUpBY3k3UzRPNWc4c2tNNHRQUEZU?= =?utf-8?B?QXpNQ3cyaHkzTXRhb3doNzcyNWFKaEdJTXZzdkNwR2lPdzRFMXUyeXMwMG1w?= =?utf-8?B?Qmx3UU1JQy9iY05kQ3JLMlNUcll5U0ZyakJuTGdBU0E4dTVyTGdJcDM1UUxT?= =?utf-8?B?WVkwN0FoOXd2WVpBa3FteG9rZzlBMUdvWmsrTVUyeUcrUGJLZ3ZXbHhxeGVK?= =?utf-8?B?K0EzR0RPakdWVGdac3lqYTN2TjkxeVQ5TTRHMWhRMlpyRDdYaTVPMFdZU0Rk?= =?utf-8?B?MVFCS01SWnN0MmxEbGJ4SHVadVloL1RJK1UzSEg5WW9RaGpsU1lrcFA0ZklQ?= =?utf-8?B?R05lL3hzTUtIcjV6U0xTdlZxMmRWeHVRWXdIUnJHZ1JjcFVvbitCMmpRWFI3?= =?utf-8?B?dCt2T1dxWDhacjFkZ0VESWc2N2dKaDhUR1BrOW1JbFIwRG9ZaURQYmh3bnZG?= =?utf-8?Q?iCdOLhelJfOZ6vvEwWlM5FxBp?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36308c36-1552-4c86-0d3a-08dba8639f4a X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2023 07:43:23.2921 (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: 7ddjOmobSkkW7Y8I35yoY1GONmyu4jpAV45QN0/lD4CUnnLepCNQu1YiQVPvHzhtbPInbB2AcdaQATPcYtKhKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7213 X-Spam-Status: No, score=-3027.6 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 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 29.08.2023 08:52, im Kiva via Binutils wrote: > Hi maintainers, > > I discovered that GNU Assembler (as) lowers `vmsge.vx` and `vmsgeu.vx` (pseudo > instructions from RISC-V Vector Extension [1]) when the destination > register is v0 as follows: > > vmsge{u}.vx v0, v4, a0, v0.t, v2 > > will be expanded to: > > vmslt{u}.vx v2, v4, a0, v0.t > vmandn.mm v0, v0, v2 > > You can inspect the lowering result with Godbolt [2]. > However, according to the Vector specification [1] page 52. The "desugared" > `vmslt{u}.vx` is not masked: > >> masked va >= x, vd == v0 >> pseudoinstruction: vmsge{u}.vx vd, va, x, v0.t, vt >> expansion: vmslt{u}.vx vt, va, x; vmandn.mm vd, vd, vt > > So the spec-expected result of the example above should be: > vmslt{u}.vx v2, v4, a0 <-- no v0.t here > vmandn.mm v0, v0, v2 > > I thus submitted a patch to the LLVM [3], and it was accepted recently. > > I am wondering if binutils considers it a bug, or if it is just intentional > because of some historical and compatibility reasons. I think this wants fixing alike in binutils: From looking at vector_macro(), it appears that emitting the masked form is merely an accident resulting from the inverted encoding of "masking". In particular, if masking was indeed meant, I expect code there would be if (vd == vm) { macro_build (NULL, "vmslt.vx", "Vd,Vt,sVm", vtemp, vs2, vs1, vm); macro_build (NULL, "vmandnot.mm", "Vd,Vt,Vs", vd, vm, vtemp); } else ... much like it is a few lines down from there. (Apparently the "else" path omitted above is similarly affected.) Jan