From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) by sourceware.org (Postfix) with ESMTPS id 73BFE3858C50 for ; Mon, 17 Oct 2022 23:31:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 73BFE3858C50 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-qt1-x830.google.com with SMTP id w3so8745247qtv.9 for ; Mon, 17 Oct 2022 16:31:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Zne/Ncbna0K7PGBR0nZ4hyCelFBYm1b350uo0RN8O4U=; b=RQAchsdYKXaFlJ4u3w+GCAbaqTzaGYhrWtPXA+FERI+yo0l3YrsqFXNPNmx414VbDd tYHBxKBOQ2PcwzBMnNhWDySr0mXUyVOVrrrxL5l6N3uYGO6a6AuO/PpI2NLDuciW7jbL dz74B6e3SaUttjg1MWOt20UafeZ8ZhJ3j6QDf9qAyzAl71zFNOhKYChM25d8SlxBzJuv si+rye2ixNNhzaT+OSK3ZeIV+EEM6in/pqpO1lmXU8R9KWaz+qyuvfLdliGbzgHP76vV F7kPw3TUWe8ceROxXnLNHLkiMgvgLrG3vGh3qetDMmRAgyODJHJnAm/SwuDM30xm/dWI DYTw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Zne/Ncbna0K7PGBR0nZ4hyCelFBYm1b350uo0RN8O4U=; b=NUpbxjqb7WusTrvNj3hYRW4NsR/rmBpDoQYTzWm9TBOLWeukMLT93qQMoJVAZQXyYj 39nhC5nC/wPr/z/EJgQie3kmJvosIgXP6altcGq4bNWT0PTDOHlhWu8ciwVI1JrrkqA5 25aDWSJK34Ht5A7W1XbC9/EcKK3DXRLL4sSvHuffP5kc/tfUCdNTNu6ymY+/fZl1piZy HbiQdJDu6PeOAwUW/Ws43IaUs3WOOWI1C4S99ZHvJQHbmveuL7zUW5+R0ZBz0cYieIev RIdGqLquUImLHXon55VeeuKC15gi3qcnpWml/VJ9mbCT9NG/DB05uyP8i0xEv+Pr5Fiy W6uw== X-Gm-Message-State: ACrzQf1czaSFwXvmTsLLUGH+ZeKIkuBaBUpDMN8JpooLoeFYPgYbkgiW pmK1XAT6PSnSzt0bs+Y51aGjiO7T4GIgkBWl+LqpDOP4 X-Google-Smtp-Source: AMsMyM5WYAxub/Tjk6gmocjquoG6LvYiRjBOziBL6h8zIlITr2c9d/xlrbTaF1FeL6+kS1G8jOJ/PCzkVJtkkHs+N/Y= X-Received: by 2002:ac8:4e53:0:b0:39c:eec4:373f with SMTP id e19-20020ac84e53000000b0039ceec4373fmr30764qtw.617.1666049496794; Mon, 17 Oct 2022 16:31:36 -0700 (PDT) MIME-Version: 1.0 References: <20221014091248.4920-1-haochen.jiang@intel.com> <20221014091248.4920-5-haochen.jiang@intel.com> <1d847a52-b1ff-b816-1507-7077724901bb@suse.com> In-Reply-To: From: "H.J. Lu" Date: Mon, 17 Oct 2022 16:31:01 -0700 Message-ID: Subject: Re: [PATCH 04/10] Support Intel CMPccXADD To: Jan Beulich Cc: Haochen Jiang , binutils@sourceware.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3018.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,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: On Sat, Oct 15, 2022 at 11:34 PM Jan Beulich wrote: > > On 14.10.2022 23:51, H.J. Lu wrote: > > On Fri, Oct 14, 2022 at 11:27 AM H.J. Lu wrote: > >> On Fri, Oct 14, 2022 at 6:46 AM Jan Beulich wrote: > >>> On 14.10.2022 11:12, Haochen Jiang wrote: > >>>> @@ -8480,6 +8609,70 @@ static const struct dis386 mod_table[][2] = { > >>>> /* MOD_VEX_0F38B1*/ > >>>> { VEX_W_TABLE (VEX_W_0F38B1) }, > >>>> }, > >>>> + { > >>>> + /* MOD_VEX_0F38E0_X86_64 */ > >>>> + { "cmpoxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA }, > >>>> + }, > >>>> + { > >>>> + /* MOD_VEX_0F38E1_X86_64 */ > >>>> + { "cmpnoxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA }, > >>>> + }, > >>>> + { > >>>> + /* MOD_VEX_0F38E2_X86_64 */ > >>>> + { "cmpbxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA }, > >>>> + }, > >>>> + { > >>>> + /* MOD_VEX_0F38E3_X86_64 */ > >>>> + { "cmpnbxadd", { Mdq, Gdq, VexGdq }, PREFIX_DATA }, > >>> > >>> I understand the ISA extensions document names the insn this way and doesn't > >>> list cmpaexadd (same for other aliases), but I think this is a mistake in > >> > >> Lack of aliases is a bad thing. In any case, assembler should follow > > > > Oops. I meant "Lack of aliases isn't a bad thing." Aliases make me > > wonder if 2 different jcc are really different. > > Have you taken the time to read through my question raised in the forum? > There is a reason for there being multiple names for a single condition > code: What is meant depends on context. As said there, JZ makes sense to > use with e.g. TEST or SUB, but it doesn't make sense to use with CMP > (where JE is the appropriate mnemonic). Here we're talking of only CMP > (an advanced form of it), so not being able to use CMPEXADD (for there > only being CMPZXADD) is an issue. You have a point here. > >> the spec. > > First of all the (early) spec should be sanitized. I'd be surprised if > there were actually rational reasons for the choice of mnemonics which > the doc currently lists; the set looks rather arbitrary to me. If the > spec cannot be relied on, I think it's better to defer implementation of > something that's questionable. > > Plus: What harm would there be if gas supported the full set of mnemonics > even without the spec listing them all? It's not like there's any non- > negligible risk of these mnemonics later gaining some different meaning. > > Jan > > >>> the doc. I've raised a respective question in the ISA extensions forum: I > >>> think representation of conditions to check for should be uniform among > >>> insns, and hence it should be "ae" here. (That would also be the effect if > >>> you used %C here.) > -- H.J.