From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com [IPv6:2a00:1450:4864:20::12e]) by sourceware.org (Postfix) with ESMTPS id 6CF39385842E for ; Tue, 29 Aug 2023 06:52:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6CF39385842E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-50091b91a83so6187154e87.3 for ; Mon, 28 Aug 2023 23:52:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693291972; x=1693896772; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=z0mscRS9Z9BWvtHYpbfU4RZZGT4wp4oZwagcBlVnBm4=; b=g8R5oZL1Vpu56gKCjg7W7+Emr3VxJG+bXMlucynnJc2jsQ4/JCmvX2Ja7EkaCe2SYd MCF/LbCNm/Flr9x+MRc9xXhkM1+2WOq4ne4HxMPtWoAyelpxxPlacOSnkGo+HcrkSMTd UnHLo2sXN70xi3aubfrkc6gVzp8iLgriWJhe0P3UAVERflhsKApZ3mpw0CwG4yH//90E Z2UuyCab0HTtkKGI7a7UGouOu2DI3E6+tVMyjM8WBENVprac15Zpkk3P+bFTXfw6ODL9 nPD76ux79l6BewZvHEIUs9l+Q2m9VeHAR8MGSO9Xas2ify8tY/YxjK75AX7odJRAEF+a M/tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693291972; x=1693896772; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=z0mscRS9Z9BWvtHYpbfU4RZZGT4wp4oZwagcBlVnBm4=; b=mHTrDiRRSo9LQrkoUtf0RVTxzVQXWTO2DlcMyTXpHOCK1v2lseCD5jJvDNenoIG+T3 jjMeakUZ7AqFnfO35/1pfneZr5Vxo2YkS+xG28g6l6ffNNAb0pa1S0XjoaE4E8fhhPDS PAIw9uVWPFTO/af05hKPnSg/8QqGuF9bDPHEWYfMEHuWUN8033Qn+hC2XjQFFtsLWsKm a2SI5XCLaDRRxWqGPf43Q/uaF1jdKbcJG8v68ef7OYtZ0tedt32EP858x7GBvmatrJN/ IDClPnlv6Kx1LG85KMmPStoErtScGCpenr2qEPNrQ0AfP3GevSFExJrTMITrgJ3es0/1 TIwg== X-Gm-Message-State: AOJu0Yzg7hjbzZBbioV4oP8ljBHYZt3P/dBZEQ/M1+Ud9rCjFWX3awiF 2eLqYrecVYc8aLG6DGwEvC5IyQdCajXjAxqH1gdDmokD/+AF4g== X-Google-Smtp-Source: AGHT+IGHiqp5+MucvY7f+lQ4LDFdgCxjFzIXwuBH8ioEAP5dr5v/QKJvhdIFHGxBZHvUrLVp0v7WpgODtOIyHWzfjCU= X-Received: by 2002:a05:6512:114d:b0:4fd:d08c:fa3e with SMTP id m13-20020a056512114d00b004fdd08cfa3emr28057824lfg.42.1693291972088; Mon, 28 Aug 2023 23:52:52 -0700 (PDT) MIME-Version: 1.0 From: im Kiva Date: Tue, 29 Aug 2023 14:52:36 +0800 Message-ID: Subject: [RISCV] [GNU AS] Possible `vmsge{u}.vx` instruction lowering bug? To: binutils@sourceware.org Content-Type: multipart/alternative; boundary="0000000000007f55ce06040a4207" X-Spam-Status: No, score=0.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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: --0000000000007f55ce06040a4207 Content-Type: text/plain; charset="UTF-8" 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. Thanks. Best regards Kiva Oyama [1]: https://github.com/riscv/riscv-v-spec/releases/tag/v1.0 [2]: https://godbolt.org/z/aszc5d8sh [3]: https://reviews.llvm.org/D158392 --0000000000007f55ce06040a4207--