public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: "Cui, Lili" <lili.cui@intel.com>
To: "H.J. Lu" <hjl.tools@gmail.com>, "Beulich, Jan" <JBeulich@suse.com>
Cc: "binutils@sourceware.org" <binutils@sourceware.org>
Subject: RE: [PATCH] Correct cpu_flags for CPU_ANY_AVX512BW_FLAGS
Date: Fri, 24 Jun 2022 02:03:31 +0000	[thread overview]
Message-ID: <SJ0PR11MB5600DE1C39C27586C35CEB629EB49@SJ0PR11MB5600.namprd11.prod.outlook.com> (raw)
In-Reply-To: <CAMe9rOpgz030dg=+sZuvTsKuko=CuHcEqy8-kRMK91DzZWPmow@mail.gmail.com>



> -----Original Message-----
> From: H.J. Lu <hjl.tools@gmail.com>
> Sent: Friday, June 24, 2022 9:56 AM
> To: Beulich, Jan <JBeulich@suse.com>
> Cc: binutils@sourceware.org; Cui, Lili <lili.cui@intel.com>
> Subject: Re: [PATCH] Correct cpu_flags for CPU_ANY_AVX512BW_FLAGS
> 
> On Thu, Jun 23, 2022 at 9:31 AM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Thu, Jun 23, 2022 at 9:08 AM Jan Beulich <jbeulich@suse.com> wrote:
> > >
> > > On 23.06.2022 18:04, H.J. Lu wrote:
> > > > On Thu, Jun 23, 2022 at 1:08 AM Cui, Lili <lili.cui@intel.com> wrote:
> > > >>
> > > >>
> > > >>
> > > >>> -----Original Message-----
> > > >>> From: Jan Beulich <jbeulich@suse.com>
> > > >>> Sent: Thursday, June 23, 2022 3:30 PM
> > > >>> To: Cui, Lili <lili.cui@intel.com>
> > > >>> Cc: binutils@sourceware.org; hjl.tools@gmail.com
> > > >>> Subject: Re: [PATCH] Correct cpu_flags for
> > > >>> CPU_ANY_AVX512BW_FLAGS
> > > >>>
> > > >>> On 23.06.2022 09:14, Cui,Lili wrote:
> > > >>>> This patch is to correct cpu_flags for CPU_ANY_AVX512BW_FLAGS.
> > > >>>> Make check-gas is ok.
> > > >>>> Ok for master?
> > > >>>>
> > > >>>> Thanks,
> > > >>>> Lili.
> > > >>>>
> > > >>>> Change it from "CPU_ANY_AVX512_FP16_FLAGS" to
> "CpuAVX512_FP16"
> > > >>>
> > > >>> You don't say what's wrong with what there is right now. I for
> > > >>> one think what we have is correct: If one disables BW, _all_ its
> > > >>> dependents should be disabled as well, which transitively means all
> dependents of FP16.
> > > >>>
> > > >> Hi Jan,
> > > >> Agree with that " If one disables BW, _all_ its dependents should be
> disabled as well ".
> > > >> I saw the form of "CPU_ANY_AVX512F_FLAGS" today, and to be
> consistent with it, I thought "CPU_ANY_AVX512_FP16_FLAGS" was wrong at
> that time. But after reading your email, I found "CPU_ANY_AVX512F_FLAGS"
> to be the only one that uses cpu_flags instead of CPU_ANY* .
> > > >>
> > > >> { "CPU_ANY_AVX512F_FLAGS",
> > > >>
> "CpuAVX512F|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF|CpuAVX512DQ|
> CPU_A
> > > >>
> NY_AVX512BW_FLAGS|CpuAVX512VL|CpuAVX512IFMA|CpuAVX512VBMI|C
> puAVX5
> > > >>
> 12_4FMAPS|CpuAVX512_4VNNIW|CpuAVX512_VPOPCNTDQ|CpuAVX512_V
> BMI2|Cp
> > > >>
> uAVX512_VNNI|CpuAVX512_BITALG|CpuAVX512_BF16|CpuAVX512_VP2INT
> ERSE
> > > >> CT" },
> > > >>
> > > >> Regards,
> > > >> Lili.
> > > >>
> > > >>> Jan
> > > >>>
> > > >>>> opcodes/
> > > >>>>
> > > >>>>     * i386-gen.c (cpu_flag_init): Change cpu_flags of
> > > >>>>     CPU_ANY_AVX512BW_FLAGS.
> > > >>>> ---
> > > >>>>  opcodes/i386-gen.c | 2 +-
> > > >>>>  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >>>>
> > > >>>> diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index
> > > >>>> d18a7d2754..5dc224efdb 100644
> > > >>>> --- a/opcodes/i386-gen.c
> > > >>>> +++ b/opcodes/i386-gen.c
> > > >>>> @@ -382,7 +382,7 @@ static initializer cpu_flag_init[] =
> > > >>>>    { "CPU_ANY_AVX512DQ_FLAGS",
> > > >>>>      "CpuAVX512DQ" },
> > > >>>>    { "CPU_ANY_AVX512BW_FLAGS",
> > > >>>> -    "CpuAVX512BW|CPU_ANY_AVX512_FP16_FLAGS" },
> > > >>>> +    "CpuAVX512BW|CpuAVX512_FP16" },
> > > >>>>    { "CPU_ANY_AVX512VL_FLAGS",
> > > >>>>      "CpuAVX512VL" },
> > > >>>>    { "CPU_ANY_AVX512IFMA_FLAGS",
> > > >>
> > > >
> > > > Since CPU_ANY_AVX512_FP16_FLAGS is the same as CpuAVX512_FP16,
> > > > this change is nop.  On the other hand, CPU_ANY shouldn't be used
> > > > to define another CPU_ANY.
> > >
> > > Why? Imo that's exactly how it should be, as long as the purpose of
> > > CPU_ANY_* is the use for processing of negative .arch directives.
> > >
> >
> > Assuming AVX512_FP16 also requires BMI2, when AVX512F is disabled,
> > AVX512_FP16 should be disabled, but not BMI2.
> >
> 
> I was wrong.  The current code isn't wrong since
> 
>  { "CPU_ANY_AVX512BW_FLAGS",
>    "CpuAVX512BW|CPU_ANY_AVX512_FP16_FLAGS" },
> 
> indicates that disabling AVX512BW will also disable AVX512BW +
> AVX512F16 + any ISAs which
> depend on AVX512FP16.   If there is another ISA which depends on
> AVX512FP16, we don't
> need to change CPU_ANY_AVX512BW_FLAGS.
> 

Agree with you, Jan is right. The current code is correct, we don't need any changes here.

Thanks,
Lili.

> --
> H.J.

      reply	other threads:[~2022-06-24  2:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-23  7:14 Cui,Lili
2022-06-23  7:29 ` Jan Beulich
2022-06-23  8:08   ` Cui, Lili
2022-06-23 16:04     ` H.J. Lu
2022-06-23 16:07       ` Jan Beulich
2022-06-23 16:31         ` H.J. Lu
2022-06-24  1:56           ` H.J. Lu
2022-06-24  2:03             ` Cui, Lili [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=SJ0PR11MB5600DE1C39C27586C35CEB629EB49@SJ0PR11MB5600.namprd11.prod.outlook.com \
    --to=lili.cui@intel.com \
    --cc=JBeulich@suse.com \
    --cc=binutils@sourceware.org \
    --cc=hjl.tools@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).