Message ID | 00efa750-04fb-4e65-a0b7-81ab68986df5@suse.com |
---|---|
State | New |
Headers |
Return-Path: <binutils-bounces~patchwork=sourceware.org@sourceware.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7D48A3850200 for <patchwork@sourceware.org>; Thu, 5 Sep 2024 11:32:57 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by sourceware.org (Postfix) with ESMTPS id 1082C384F4B9 for <binutils@sourceware.org>; Thu, 5 Sep 2024 11:32:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1082C384F4B9 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-Filter: OpenARC Filter v1.0.0 sourceware.org 1082C384F4B9 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::62a ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1725535946; cv=none; b=O5AuEeE4qZPFKaQVQFjZPQEDRN5z/b9CQsE06iKpwUaxcoJDGkGq3O1MMmA9FAbFx5R8CjP6eM4rS72tafuIQ9/lJ4sx7R3Snf4gapXGVul80uppdumMiMDDd9rgxVdSExOSGTvIeedcIF+I2yjGngxEMgFMgAJQW6Bm8TFIgEk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1725535946; c=relaxed/simple; bh=f1Bdlf1oD7ScXgwEq4MIn6JNsC/Kd7kwct79URL19dg=; h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject; b=FW3sVp5B8QgJ9/Raf/xztb8aaYzPDOs2zLmrxSGmH4LmdvtiAY4Pdx5Flk9sb8KCDlD2WfXfLpHT85+sIkFttJOs4ls9yPIf/wT5XtGLxH+pOTpegYcPUhDKiLWyHCBsWS9uYmvulye+9Biv1TAFB6rga3NXT3c63eXdsjiZtR8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a83597ce5beso111324166b.1 for <binutils@sourceware.org>; Thu, 05 Sep 2024 04:32:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1725535944; x=1726140744; darn=sourceware.org; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=35/IpSteTERo6Xo1dXiOP/BL+m+oVeRhj2kDgNHfAjc=; b=S0cUQqIKXJNcT99Z2RH9JRdXIzFeV3NnuiwnDJ46096LVU4vX4r/mQjNr+Xeymvjej RRRFKYYBa7S7bkuYEPttAN59kC2BbgvhKKEDUbqE9Q8OebfG1OxH7xGSycg8xb243NeK 2YQ3q8qvaqeJeNpUZP0tY+tYx9VP2jhx1menQOv+D+eWrRRumFWv2tn3zI6WWm9pScsa +ZcOmZZzl6DCUTC8aE0ylmt5cNYSRL4J5oqAYVBSQ5XWQHxNuQD7PJQbcYVd1+yRl+uM OwxxEJCNS2EoeX4euAg1klaSlRpwuaU8AgVIuga4K9Hh98ZM22D9Y0o5Ph+YCPkf/2hq DdKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1725535944; x=1726140744; h=content-transfer-encoding:autocrypt:subject:from:cc:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=35/IpSteTERo6Xo1dXiOP/BL+m+oVeRhj2kDgNHfAjc=; b=E3UCKU/sRqTDcmGuKzBfr5teBf4iDe74qOaPyMk8vu2PeUUitT+QkTVSkXGjMB328f pwm9MotyGKZV08gFyRht5F+aKapfMYmX6JpkBxk7MLeSF6F4lJPzRRPZ5q3Le8hU9Nb+ sGjyigBaMwVImr8tyIB7M3wnl187eundVXkzzJhvpYCbOg/ovNDGisK6SWaQia8JpOG6 FZ/ano/zs/muXkpH60Qtmqo8WRter5pSTJiknyFm0Ya7CpMbjm00NtOTnxRNfAHX7ZHT N5LNSO8XKJ2ZjymTYw+LyJAVe48twls5F3G0GqKKJ1uk1pNhNtT+HZRLL5WNMtn40ZPU UoNA== X-Gm-Message-State: AOJu0YySKWg6gQF3xoOBfxhfngcWtiSTLoM5NKGSkmBN71jhe/2wOT8a Sk1u69LBOiz+a7/hN/UPcKdjBiYzhxqPNxiu7xSok4gMdbO85iKl+bdzfPovabmIbhTaer9CnAA = X-Google-Smtp-Source: AGHT+IGVXN+nIMWP7Mr6l9hGHSNIpGRdC216atDJhRlvnRUnYqas54KYJPTMNw4s5MHftpZuLtKhtw== X-Received: by 2002:a17:907:d92:b0:a86:a6ee:7d92 with SMTP id a640c23a62f3a-a8a430914a2mr559717866b.18.1725535943518; Thu, 05 Sep 2024 04:32:23 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a8a7c662bcdsm17591066b.34.2024.09.05.04.32.23 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 05 Sep 2024 04:32:23 -0700 (PDT) Message-ID: <00efa750-04fb-4e65-a0b7-81ab68986df5@suse.com> Date: Thu, 5 Sep 2024 13:32:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: Binutils <binutils@sourceware.org> Cc: "H.J. Lu" <hjl.tools@gmail.com>, "Jiang, Haochen" <haochen.jiang@intel.com> From: Jan Beulich <jbeulich@suse.com> Subject: [PATCH] x86: adjust AVX-VNNI-INT{8,16} prereqs Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3023.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, 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 X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list <binutils.sourceware.org> List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>, <mailto:binutils-request@sourceware.org?subject=unsubscribe> List-Archive: <https://sourceware.org/pipermail/binutils/> List-Post: <mailto:binutils@sourceware.org> List-Help: <mailto:binutils-request@sourceware.org?subject=help> List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>, <mailto:binutils-request@sourceware.org?subject=subscribe> Errors-To: binutils-bounces~patchwork=sourceware.org@sourceware.org |
Series |
x86: adjust AVX-VNNI-INT{8,16} prereqs
|
|
Checks
Context | Check | Description |
---|---|---|
linaro-tcwg-bot/tcwg_binutils_build--master-arm | success | Build passed |
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 | success | Build passed |
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 | success | Test passed |
linaro-tcwg-bot/tcwg_binutils_check--master-arm | success | Test passed |
Commit Message
Jan Beulich
Sept. 5, 2024, 11:32 a.m. UTC
These are more logical to take AVX-VNNI as prereq, retaining AVX2 as an indirect prereq. --- In turn the question arises whether AVX10.2 should consider both to be prereqs as well. The situation here isn't the same as it was with AVX512-VNNI vs AVX-VNNI, after all.
Comments
> From: Jan Beulich <jbeulich@suse.com> > Sent: Thursday, September 5, 2024 7:32 PM > > These are more logical to take AVX-VNNI as prereq, retaining AVX2 as an > indirect prereq. From HW side, that is ok till now since I don't see a machine with AVX-VNNI-INT{8,16} but no AVX-VNNI. But this will lead to if someone uses .arch .noavx_vnni, then it will turn of AVX-VNNI-INT{8,16}. I don't think this is the expected behavior. If we care about this .noxxx behavior, we should not do that. This is not quite same as the AVX10.2 I will mention next since IMO, these three ISAs are quite independent. BTW, maybe the .noxxx is the only blocking issue I could see currently for the change. > --- > In turn the question arises whether AVX10.2 should consider both to be > prereqs as well. The situation here isn't the same as it was with AVX512-VNNI > vs AVX-VNNI, after all. For AVX10.2, maybe I would like to prefer to imply them since it is weird not having VEX part when having EVEX part if the EVEX part is introduced after VEX and there is no HW only having EVEX part. Although GCC will not do the imply since we are pretty conservative on that and will stick to doc, in Binutils, for convenience, I suppose it could be done. Thx, Haochen > > --- a/opcodes/i386-gen.c > +++ b/opcodes/i386-gen.c > @@ -163,9 +163,9 @@ static const dependency isa_dependencies > { "AVX_IFMA", > "AVX2" }, > { "AVX_VNNI_INT8", > - "AVX2" }, > + "AVX_VNNI" }, > { "AVX_VNNI_INT16", > - "AVX2" }, > + "AVX_VNNI" }, > { "AVX_NE_CONVERT", > "AVX2" }, > { "CX16",
On 06.09.2024 04:51, Jiang, Haochen wrote: >> From: Jan Beulich <jbeulich@suse.com> >> Sent: Thursday, September 5, 2024 7:32 PM >> >> These are more logical to take AVX-VNNI as prereq, retaining AVX2 as an >> indirect prereq. > > From HW side, that is ok till now since I don't see a machine with > AVX-VNNI-INT{8,16} but no AVX-VNNI. > > But this will lead to if someone uses .arch .noavx_vnni, then it will turn > of AVX-VNNI-INT{8,16}. I don't think this is the expected behavior. If we > care about this .noxxx behavior, we should not do that. This is not quite > same as the AVX10.2 I will mention next since IMO, these three ISAs > are quite independent. But that's actually one of the points of the change: I _want_ .noavx_vnni to have said effect. It makes little sense to me to keep AVX-VNNI-INT{8,16} enabled when AVX-VNNI is off. >> --- >> In turn the question arises whether AVX10.2 should consider both to be >> prereqs as well. The situation here isn't the same as it was with AVX512-VNNI >> vs AVX-VNNI, after all. > > For AVX10.2, maybe I would like to prefer to imply them since it is weird not > having VEX part when having EVEX part if the EVEX part is introduced after > VEX and there is no HW only having EVEX part. Although GCC will not do > the imply since we are pretty conservative on that and will stick to doc, > in Binutils, for convenience, I suppose it could be done. And what are the chances of the doc being updated to mention all AVX-VNNI* as implied by AVX10.2, just like AVX10.1 documents a fair number of AVX512* as implied? Similarly for the earlier remark, and more generally: It would help if the SDM specified dependencies between extensions more clearly / strictly than it does right now. Jan
> From: Jan Beulich <jbeulich@suse.com> > Sent: Friday, September 6, 2024 2:24 PM > > On 06.09.2024 04:51, Jiang, Haochen wrote: > >> From: Jan Beulich <jbeulich@suse.com> > >> Sent: Thursday, September 5, 2024 7:32 PM > >> > > But this will lead to if someone uses .arch .noavx_vnni, then it will turn > > of AVX-VNNI-INT{8,16}. I don't think this is the expected behavior. If we > > care about this .noxxx behavior, we should not do that. This is not quite > > same as the AVX10.2 I will mention next since IMO, these three ISAs > > are quite independent. > > But that's actually one of the points of the change: I _want_ .noavx_vnni > to have said effect. It makes little sense to me to keep AVX-VNNI-INT{8,16} > enabled when AVX-VNNI is off. But AVX-VNNI-INT{8,16} have different signed type with AVX-VNNI. That is why I suppose they should be independent. They should not be all controlled by AVX-VNNI. > > >> --- > >> In turn the question arises whether AVX10.2 should consider both to be > >> prereqs as well. The situation here isn't the same as it was with AVX512-VNNI > >> vs AVX-VNNI, after all. > > > > For AVX10.2, maybe I would like to prefer to imply them since it is weird not > > having VEX part when having EVEX part if the EVEX part is introduced after > > VEX and there is no HW only having EVEX part. Although GCC will not do > > the imply since we are pretty conservative on that and will stick to doc, > > in Binutils, for convenience, I suppose it could be done. > > And what are the chances of the doc being updated to mention all AVX-VNNI* > as implied by AVX10.2, just like AVX10.1 documents a fair number of AVX512* > as implied? > > Similarly for the earlier remark, and more generally: It would help if the > SDM specified dependencies between extensions more clearly / strictly than > it does right now. I once raised the similar question to documentation guy long ago (maybe 1.5yrs). They are not willing to do that although I really disagree with them on this part. Unfortunately, I could not find the exact mailing thread for that. In my dim memory on that thread, they still want to keep the independence of these ISAs at least in documentation. Thx, Haochen > > Jan
--- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -163,9 +163,9 @@ static const dependency isa_dependencies { "AVX_IFMA", "AVX2" }, { "AVX_VNNI_INT8", - "AVX2" }, + "AVX_VNNI" }, { "AVX_VNNI_INT16", - "AVX2" }, + "AVX_VNNI" }, { "AVX_NE_CONVERT", "AVX2" }, { "CX16",