[0/6] Add Intel Sierra Forest Instructions

Message ID 20221014075445.7938-1-haochen.jiang@intel.com
Headers
Series Add Intel Sierra Forest Instructions |

Message

Jiang, Haochen Oct. 14, 2022, 7:54 a.m. UTC
  Hi all,

These six patches aimed to add Intel Sierra Forest instructions, including
AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
for vector __bf16 in this series of patch and Sierra Forest Support.

The information is based on newly released
Intel Architecture Instruction Set Extensions and Future Features.

The document comes following:
https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html

Regtested on x86_64-pc-linux-gnu. Ok for trunk?

BRs,
Haochen
  

Comments

Iain Sandoe Oct. 14, 2022, 8:14 a.m. UTC | #1
Hi Haochen

> On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> 

> These six patches aimed to add Intel Sierra Forest instructions, including
> AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
> for vector __bf16 in this series of patch and Sierra Forest Support.
> 
> The information is based on newly released
> Intel Architecture Instruction Set Extensions and Future Features.
> 
> The document comes following:
> https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
> 
> Regtested on x86_64-pc-linux-gnu. Ok for trunk?

Have you tested that the testcases work on older platforms that do not have support
for the new instructions in their assemblers?

I could not see any target-requires changes in the testcases .. hence my question.

(otherwise we end up with a lot of spurious test fails on these older platforms).

thanks
Iain
  
Hongtao Liu Oct. 14, 2022, 8:20 a.m. UTC | #2
On Fri, Oct 14, 2022 at 4:14 PM Iain Sandoe via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi Haochen
>
> > On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> >
>
> > These six patches aimed to add Intel Sierra Forest instructions, including
> > AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
> > for vector __bf16 in this series of patch and Sierra Forest Support.
> >
> > The information is based on newly released
> > Intel Architecture Instruction Set Extensions and Future Features.
> >
> > The document comes following:
> > https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
> >
> > Regtested on x86_64-pc-linux-gnu. Ok for trunk?
>
> Have you tested that the testcases work on older platforms that do not have support
> for the new instructions in their assemblers?
>
> I could not see any target-requires changes in the testcases .. hence my question.
>
Guess you are looking at compile tests?

For runtime test, we have add assembler check(target-requires changed)
plus runtime check(builtin_cpu_supports)
.i.e.

+++ b/gcc/testsuite/gcc.target/i386/avx-ifma-vpmaddhuq-2.c
@@ -0,0 +1,72 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -mavxifma" } */
+/* { dg-require-effective-target avxifma } */

Do I miss some?
> (otherwise we end up with a lot of spurious test fails on these older platforms).
>
> thanks
> Iain
  
Iain Sandoe Oct. 14, 2022, 8:24 a.m. UTC | #3
> On 14 Oct 2022, at 09:20, Hongtao Liu <crazylht@gmail.com> wrote:
> 
> On Fri, Oct 14, 2022 at 4:14 PM Iain Sandoe via Gcc-patches
> <gcc-patches@gcc.gnu.org> wrote:
>> 
>> Hi Haochen
>> 
>>> On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>>> 
>> 
>>> These six patches aimed to add Intel Sierra Forest instructions, including
>>> AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
>>> for vector __bf16 in this series of patch and Sierra Forest Support.
>>> 
>>> The information is based on newly released
>>> Intel Architecture Instruction Set Extensions and Future Features.
>>> 
>>> The document comes following:
>>> https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
>>> 
>>> Regtested on x86_64-pc-linux-gnu. Ok for trunk?
>> 
>> Have you tested that the testcases work on older platforms that do not have support
>> for the new instructions in their assemblers?
>> 
>> I could not see any target-requires changes in the testcases .. hence my question.
>> 
> Guess you are looking at compile tests?

yes, compile tests would need support from the assembler.
> 
> For runtime test, we have add assembler check(target-requires changed)
> plus runtime check(builtin_cpu_supports)
> .i.e.
> 
> +++ b/gcc/testsuite/gcc.target/i386/avx-ifma-vpmaddhuq-2.c
> @@ -0,0 +1,72 @@
> +/* { dg-do run } */
> +/* { dg-options "-O2 -mavxifma" } */
> +/* { dg-require-effective-target avxifma } */
> 
> Do I miss some?

I would need to look at the sources after patching (perhaps they already have 
suitable target-requires that did not show up in the patch).

Do you have this series as a branch somewhere that I can try on one of the
like affected platforms? 

Iain
  
Hongtao Liu Oct. 14, 2022, 8:30 a.m. UTC | #4
On Fri, Oct 14, 2022 at 4:24 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>
>
>
> > On 14 Oct 2022, at 09:20, Hongtao Liu <crazylht@gmail.com> wrote:
> >
> > On Fri, Oct 14, 2022 at 4:14 PM Iain Sandoe via Gcc-patches
> > <gcc-patches@gcc.gnu.org> wrote:
> >>
> >> Hi Haochen
> >>
> >>> On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> >>>
> >>
> >>> These six patches aimed to add Intel Sierra Forest instructions, including
> >>> AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
> >>> for vector __bf16 in this series of patch and Sierra Forest Support.
> >>>
> >>> The information is based on newly released
> >>> Intel Architecture Instruction Set Extensions and Future Features.
> >>>
> >>> The document comes following:
> >>> https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
> >>>
> >>> Regtested on x86_64-pc-linux-gnu. Ok for trunk?
> >>
> >> Have you tested that the testcases work on older platforms that do not have support
> >> for the new instructions in their assemblers?
> >>
> >> I could not see any target-requires changes in the testcases .. hence my question.
> >>
> > Guess you are looking at compile tests?
>
> yes, compile tests would need support from the assembler.
> >
> > For runtime test, we have add assembler check(target-requires changed)
> > plus runtime check(builtin_cpu_supports)
> > .i.e.
> >
> > +++ b/gcc/testsuite/gcc.target/i386/avx-ifma-vpmaddhuq-2.c
> > @@ -0,0 +1,72 @@
> > +/* { dg-do run } */
> > +/* { dg-options "-O2 -mavxifma" } */
> > +/* { dg-require-effective-target avxifma } */
> >
> > Do I miss some?
>
> I would need to look at the sources after patching (perhaps they already have
> suitable target-requires that did not show up in the patch).
>
> Do you have this series as a branch somewhere that I can try on one of the
> like affected platforms?

Not yet.
Do we have any external place to put those patches so folks from the
community can validate before it's committed, HJ?

>
> Iain
>
  
Hongtao Liu Oct. 14, 2022, 8:35 a.m. UTC | #5
> >> I could not see any target-requires changes in the testcases .. hence my question.
> >>
> > Guess you are looking at compile tests?
>
> yes, compile tests would need support from the assembler.
> >
In my understanding, dg-do compile tests don't need assembler support,
it just scan dump or assembler, but won't generate *.o files
dg-do run/assemble need.
>
  
Iain Sandoe Oct. 14, 2022, 8:36 a.m. UTC | #6
> On 14 Oct 2022, at 09:30, Hongtao Liu <crazylht@gmail.com> wrote:
> 
> On Fri, Oct 14, 2022 at 4:24 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>> 
>> 
>> 
>>> On 14 Oct 2022, at 09:20, Hongtao Liu <crazylht@gmail.com> wrote:
>>> 
>>> On Fri, Oct 14, 2022 at 4:14 PM Iain Sandoe via Gcc-patches
>>> <gcc-patches@gcc.gnu.org> wrote:
>>>> 
>>>> Hi Haochen
>>>> 
>>>>> On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>>>>> 
>>>> 
>>>>> These six patches aimed to add Intel Sierra Forest instructions, including
>>>>> AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
>>>>> for vector __bf16 in this series of patch and Sierra Forest Support.
>>>>> 
>>>>> The information is based on newly released
>>>>> Intel Architecture Instruction Set Extensions and Future Features.
>>>>> 
>>>>> The document comes following:
>>>>> https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
>>>>> 
>>>>> Regtested on x86_64-pc-linux-gnu. Ok for trunk?
>>>> 
>>>> Have you tested that the testcases work on older platforms that do not have support
>>>> for the new instructions in their assemblers?
>>>> 
>>>> I could not see any target-requires changes in the testcases .. hence my question.
>>>> 
>>> Guess you are looking at compile tests?
>> 
>> yes, compile tests would need support from the assembler.

oops, not enough coffee - I’m talking rubbish here - assembler output should be fine,

>>> For runtime test, we have add assembler check(target-requires changed)
>>> plus runtime check(builtin_cpu_supports)
>>> .i.e.
>>> 
>>> +++ b/gcc/testsuite/gcc.target/i386/avx-ifma-vpmaddhuq-2.c
>>> @@ -0,0 +1,72 @@
>>> +/* { dg-do run } */
>>> +/* { dg-options "-O2 -mavxifma" } */
>>> +/* { dg-require-effective-target avxifma } */
>>> 
>>> Do I miss some?
>> 
>> I would need to look at the sources after patching (perhaps they already have
>> suitable target-requires that did not show up in the patch).
>> 
>> Do you have this series as a branch somewhere that I can try on one of the
>> like affected platforms?
> 
> Not yet.
> Do we have any external place to put those patches so folks from the
> community can validate before it's committed, HJ?

I’d still like to be able to test if that can be done - I’ve already got a large number of
fails from new testcases in earlier additions.

Iain
  
Hongtao Liu Oct. 17, 2022, 1:02 a.m. UTC | #7
On Fri, Oct 14, 2022 at 4:36 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>
>
>
> > On 14 Oct 2022, at 09:30, Hongtao Liu <crazylht@gmail.com> wrote:
> >
> > On Fri, Oct 14, 2022 at 4:24 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
> >>
> >>
> >>
> >>> On 14 Oct 2022, at 09:20, Hongtao Liu <crazylht@gmail.com> wrote:
> >>>
> >>> On Fri, Oct 14, 2022 at 4:14 PM Iain Sandoe via Gcc-patches
> >>> <gcc-patches@gcc.gnu.org> wrote:
> >>>>
> >>>> Hi Haochen
> >>>>
> >>>>> On 14 Oct 2022, at 08:54, Haochen Jiang via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> >>>>>
> >>>>
> >>>>> These six patches aimed to add Intel Sierra Forest instructions, including
> >>>>> AVX-IFMA, AVX-VNNI0INT8, AVX-NE-CONVERT, CMPccXADD. We also added intrinsic
> >>>>> for vector __bf16 in this series of patch and Sierra Forest Support.
> >>>>>
> >>>>> The information is based on newly released
> >>>>> Intel Architecture Instruction Set Extensions and Future Features.
> >>>>>
> >>>>> The document comes following:
> >>>>> https://www.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html
> >>>>>
> >>>>> Regtested on x86_64-pc-linux-gnu. Ok for trunk?
> >>>>
> >>>> Have you tested that the testcases work on older platforms that do not have support
> >>>> for the new instructions in their assemblers?
> >>>>
> >>>> I could not see any target-requires changes in the testcases .. hence my question.
> >>>>
> >>> Guess you are looking at compile tests?
> >>
> >> yes, compile tests would need support from the assembler.
>
> oops, not enough coffee - I’m talking rubbish here - assembler output should be fine,
>
> >>> For runtime test, we have add assembler check(target-requires changed)
> >>> plus runtime check(builtin_cpu_supports)
> >>> .i.e.
> >>>
> >>> +++ b/gcc/testsuite/gcc.target/i386/avx-ifma-vpmaddhuq-2.c
> >>> @@ -0,0 +1,72 @@
> >>> +/* { dg-do run } */
> >>> +/* { dg-options "-O2 -mavxifma" } */
> >>> +/* { dg-require-effective-target avxifma } */
> >>>
> >>> Do I miss some?
> >>
> >> I would need to look at the sources after patching (perhaps they already have
> >> suitable target-requires that did not show up in the patch).
> >>
> >> Do you have this series as a branch somewhere that I can try on one of the
> >> like affected platforms?
> >
> > Not yet.
> > Do we have any external place to put those patches so folks from the
> > community can validate before it's committed, HJ?
>
> I’d still like to be able to test if that can be done - I’ve already got a large number of
> fails from new testcases in earlier additions.
I've upstream those patches to public
https://gitlab.com/x86-gcc/gcc/-/tree/users/intel/liuhongt/upstream
Also if you're intereted in Binutils patches, it's in
https://gitlab.com/x86-binutils/binutils-gdb/-/tree/users/intel/liuhongt/upstream
>
> Iain
  
Bernhard Reutner-Fischer Oct. 17, 2022, 1:30 a.m. UTC | #8
On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches 

>> >> Do you have this series as a branch somewhere that I can try on one of the
>> >> like affected platforms?
>> >
>> > Not yet.
>> > Do we have any external place to put those patches so folks from the
>> > community can validate before it's committed, HJ?


https://gcc.gnu.org/gitwrite.html#vendor

Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.

HTH,
  
Hongtao Liu Oct. 17, 2022, 1:56 a.m. UTC | #9
On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
<rep.dot.nop@gmail.com> wrote:
>
> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
>
> >> >> Do you have this series as a branch somewhere that I can try on one of the
> >> >> like affected platforms?
> >> >
> >> > Not yet.
> >> > Do we have any external place to put those patches so folks from the
> >> > community can validate before it's committed, HJ?
>
>
> https://gcc.gnu.org/gitwrite.html#vendor
>
> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
 * [new ref]                 refs/vendors/ix86/heads/ise046 ->
vendors/ix86/ise046

>
> HTH,




--
BR,
Hongtao
  
Iain Sandoe Oct. 19, 2022, 11:09 a.m. UTC | #10
Hi Hongtao

> On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
> 
> On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
> <rep.dot.nop@gmail.com> wrote:
>> 
>> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
>> 
>>>>>> Do you have this series as a branch somewhere that I can try on one of the
>>>>>> like affected platforms?
>>>>> 
>>>>> Not yet.
>>>>> Do we have any external place to put those patches so folks from the
>>>>> community can validate before it's committed, HJ?
>> 
>> 
>> https://gcc.gnu.org/gitwrite.html#vendor
>> 
>> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
> Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
> * [new ref]                 refs/vendors/ix86/heads/ise046 ->
> vendors/ix86/ise046

thanks for pushing this branch, much better to test these things before committing rather than a panic
to fix after…


with
f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores

 - on x86_64 Darwin19  I get the following bootstrap fail:

In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
/src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
/src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
  532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
  533 |     case 0xb6:
      |     ^~~~
cc1plus: all warnings being treated as errors

====
Will try to look later, if that does not immediately ring some bell.
thanks
Iain
  
Hongtao Liu Oct. 20, 2022, 1:11 a.m. UTC | #11
On Wed, Oct 19, 2022 at 7:09 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>
> Hi Hongtao
>
> > On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
> >
> > On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
> > <rep.dot.nop@gmail.com> wrote:
> >>
> >> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
> >>
> >>>>>> Do you have this series as a branch somewhere that I can try on one of the
> >>>>>> like affected platforms?
> >>>>>
> >>>>> Not yet.
> >>>>> Do we have any external place to put those patches so folks from the
> >>>>> community can validate before it's committed, HJ?
> >>
> >>
> >> https://gcc.gnu.org/gitwrite.html#vendor
> >>
> >> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
> > Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
> > * [new ref]                 refs/vendors/ix86/heads/ise046 ->
> > vendors/ix86/ise046
>
> thanks for pushing this branch, much better to test these things before committing rather than a panic
> to fix after…
>
>
> with
> f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores
>
>  - on x86_64 Darwin19  I get the following bootstrap fail:
>
> In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
>   532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
>       |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
>   533 |     case 0xb6:
>       |     ^~~~
> cc1plus: all warnings being treated as errors
>
> ====
> Will try to look later, if that does not immediately ring some bell.
This should a bug, thanks!
> thanks
> Iain
>
  
Hongtao Liu Oct. 20, 2022, 9:09 a.m. UTC | #12
On Thu, Oct 20, 2022 at 9:11 AM Hongtao Liu <crazylht@gmail.com> wrote:
>
> On Wed, Oct 19, 2022 at 7:09 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
> >
> > Hi Hongtao
> >
> > > On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
> > >
> > > On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
> > > <rep.dot.nop@gmail.com> wrote:
> > >>
> > >> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
> > >>
> > >>>>>> Do you have this series as a branch somewhere that I can try on one of the
> > >>>>>> like affected platforms?
> > >>>>>
> > >>>>> Not yet.
> > >>>>> Do we have any external place to put those patches so folks from the
> > >>>>> community can validate before it's committed, HJ?
> > >>
> > >>
> > >> https://gcc.gnu.org/gitwrite.html#vendor
> > >>
> > >> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
> > > Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
> > > * [new ref]                 refs/vendors/ix86/heads/ise046 ->
> > > vendors/ix86/ise046
> >
> > thanks for pushing this branch, much better to test these things before committing rather than a panic
> > to fix after…
> >
> >
> > with
> > f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores
> >
> >  - on x86_64 Darwin19  I get the following bootstrap fail:
> >
> > In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
> > /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
> > /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >   532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
> >       |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
> >   533 |     case 0xb6:
> >       |     ^~~~
> > cc1plus: all warnings being treated as errors
> >
> > ====
> > Will try to look later, if that does not immediately ring some bell.
> This should a bug, thanks!
I've updated the branch, please try that.
> > thanks
> > Iain
> >
>
>
> --
> BR,
> Hongtao
  
Iain Sandoe Oct. 20, 2022, 9:17 a.m. UTC | #13
> On 20 Oct 2022, at 10:09, Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> 
> On Thu, Oct 20, 2022 at 9:11 AM Hongtao Liu <crazylht@gmail.com> wrote:
>> 
>> On Wed, Oct 19, 2022 at 7:09 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>>> 
>>> Hi Hongtao
>>> 
>>>> On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
>>>> 
>>>> On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
>>>> <rep.dot.nop@gmail.com> wrote:
>>>>> 
>>>>> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
>>>>> 
>>>>>>>>> Do you have this series as a branch somewhere that I can try on one of the
>>>>>>>>> like affected platforms?
>>>>>>>> 
>>>>>>>> Not yet.
>>>>>>>> Do we have any external place to put those patches so folks from the
>>>>>>>> community can validate before it's committed, HJ?
>>>>> 
>>>>> 
>>>>> https://gcc.gnu.org/gitwrite.html#vendor
>>>>> 
>>>>> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
>>>> Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
>>>> * [new ref]                 refs/vendors/ix86/heads/ise046 ->
>>>> vendors/ix86/ise046
>>> 
>>> thanks for pushing this branch, much better to test these things before committing rather than a panic
>>> to fix after…
>>> 
>>> 
>>> with
>>> f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores
>>> 
>>> - on x86_64 Darwin19  I get the following bootstrap fail:
>>> 
>>> In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
>>>  532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
>>>      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
>>>  533 |     case 0xb6:
>>>      |     ^~~~
>>> cc1plus: all warnings being treated as errors
>>> 
>>> ====
>>> Will try to look later, if that does not immediately ring some bell.
>> This should a bug, thanks!
> I've updated the branch, please try that.

I had made the same fix locally (adding the “break”, right?) and testing is ongoing

it would not be surprising if some tests failed (asm matches for different ABIs are rarely
identical) - a few tests to be fixed in stage 3 is fine ...

... but what I wanted to avoid was the case like the bf16 changes where every
single new test fails (I have a draft patch to fix the bf16 stuff to be posted soon).

thanks
Iain
  
Hongtao Liu Oct. 20, 2022, 9:20 a.m. UTC | #14
On Thu, Oct 20, 2022 at 5:17 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>
>
>
> > On 20 Oct 2022, at 10:09, Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
> >
> > On Thu, Oct 20, 2022 at 9:11 AM Hongtao Liu <crazylht@gmail.com> wrote:
> >>
> >> On Wed, Oct 19, 2022 at 7:09 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
> >>>
> >>> Hi Hongtao
> >>>
> >>>> On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
> >>>>
> >>>> On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
> >>>> <rep.dot.nop@gmail.com> wrote:
> >>>>>
> >>>>> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
> >>>>>
> >>>>>>>>> Do you have this series as a branch somewhere that I can try on one of the
> >>>>>>>>> like affected platforms?
> >>>>>>>>
> >>>>>>>> Not yet.
> >>>>>>>> Do we have any external place to put those patches so folks from the
> >>>>>>>> community can validate before it's committed, HJ?
> >>>>>
> >>>>>
> >>>>> https://gcc.gnu.org/gitwrite.html#vendor
> >>>>>
> >>>>> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
> >>>> Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
> >>>> * [new ref]                 refs/vendors/ix86/heads/ise046 ->
> >>>> vendors/ix86/ise046
> >>>
> >>> thanks for pushing this branch, much better to test these things before committing rather than a panic
> >>> to fix after…
> >>>
> >>>
> >>> with
> >>> f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores
> >>>
> >>> - on x86_64 Darwin19  I get the following bootstrap fail:
> >>>
> >>> In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
> >>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
> >>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
> >>>  532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
> >>>      |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
> >>>  533 |     case 0xb6:
> >>>      |     ^~~~
> >>> cc1plus: all warnings being treated as errors
> >>>
> >>> ====
> >>> Will try to look later, if that does not immediately ring some bell.
> >> This should a bug, thanks!
> > I've updated the branch, please try that.
>
> I had made the same fix locally (adding the “break”, right?) and testing is ongoing
Yes, please go ahead.
>
> it would not be surprising if some tests failed (asm matches for different ABIs are rarely
> identical) - a few tests to be fixed in stage 3 is fine ...
>
> ... but what I wanted to avoid was the case like the bf16 changes where every
> single new test fails (I have a draft patch to fix the bf16 stuff to be posted soon).
Understand.
>
> thanks
> Iain
>
>
  
Iain Sandoe Oct. 20, 2022, 3:23 p.m. UTC | #15
Hi Hongtao,

> On 20 Oct 2022, at 10:20, Hongtao Liu <crazylht@gmail.com> wrote:
> 
> On Thu, Oct 20, 2022 at 5:17 PM Iain Sandoe <idsandoe@googlemail.com> wrote:
>> 
>> 
>> 
>>> On 20 Oct 2022, at 10:09, Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>>> 
>>> On Thu, Oct 20, 2022 at 9:11 AM Hongtao Liu <crazylht@gmail.com> wrote:
>>>> 
>>>> On Wed, Oct 19, 2022 at 7:09 PM Iain Sandoe <idsandoe@googlemail.com> wrote:

>>>>>> On 17 Oct 2022, at 02:56, Hongtao Liu <crazylht@gmail.com> wrote:
>>>>>> 
>>>>>> On Mon, Oct 17, 2022 at 9:30 AM Bernhard Reutner-Fischer
>>>>>> <rep.dot.nop@gmail.com> wrote:
>>>>>>> 
>>>>>>> On 17 October 2022 03:02:22 CEST, Hongtao Liu via Gcc-patches
>>>>>>> 
>>>>>>>>>>> Do you have this series as a branch somewhere that I can try on one of the
>>>>>>>>>>> like affected platforms?
>>>>>>>>>> 
>>>>>>>>>> Not yet.
>>>>>>>>>> Do we have any external place to put those patches so folks from the
>>>>>>>>>> community can validate before it's committed, HJ?
>>>>>>> 
>>>>>>> 
>>>>>>> https://gcc.gnu.org/gitwrite.html#vendor
>>>>>>> 
>>>>>>> Not sure where in cgit the user branches are visible, though? But they can certainly be cloned and worked with.
>>>>>> Thanks for the reminder, I've pushed to remotes/vendors/ix86/ise046.
>>>>>> * [new ref]                 refs/vendors/ix86/heads/ise046 ->
>>>>>> vendors/ix86/ise046
>>>>> 
>>>>> thanks for pushing this branch, much better to test these things before committing rather than a panic
>>>>> to fix after…
>>>>> 
>>>>> 
>>>>> with
>>>>> f90df941532 (HEAD -> ise046, vendors/ix86/ise046) Add m_CORE_ATOM for atom cores
>>>>> 
>>>>> - on x86_64 Darwin19  I get the following bootstrap fail:
>>>>> 
>>>>> In file included from /src-local/gcc-master/gcc/config/i386/driver-i386.cc:31:
>>>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h: In function ‘const char* get_intel_cpu(__processor_model*, __processor_model2*, unsigned int*)’:
>>>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:532:32: error: this statement may fall through [-Werror=implicit-fallthrough=]
>>>>> 532 |       cpu_model->__cpu_subtype = INTEL_COREI7_GRANITERAPIDS;
>>>>>     |       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>>>> /src-local/gcc-master/gcc/common/config/i386/cpuinfo.h:533:5: note: here
>>>>> 533 |     case 0xb6:
>>>>>     |     ^~~~
>>>>> cc1plus: all warnings being treated as errors
>>>>> 
>>>>> ====
>>>>> Will try to look later, if that does not immediately ring some bell.
>>>> This should a bug, thanks!
>>> I've updated the branch, please try that.
>> 
>> I had made the same fix locally (adding the “break”, right?) and testing is ongoing
> Yes, please go ahead.

Thanks for giving me a chance to test, this seems OK on Darwin (no large-scale
fallout, anyway) ..  

I tested the ise046 branch which looks like it collects several of the posted patch
series, so I’ve covered those too. (not had a chance to test on AVX512 yet, but if
the series is basically OK on skylake, then should be not too much issue).

Iain

P.S. I am usually able to test patches / series like this on Darwin if you point me at
a branch.
  
Hongtao Liu Oct. 21, 2022, 12:06 a.m. UTC | #16
> Thanks for giving me a chance to test, this seems OK on Darwin (no large-scale
> fallout, anyway) ..
>
Good to hear that.
> I tested the ise046 branch which looks like it collects several of the posted patch
> series, so I’ve covered those too. (not had a chance to test on AVX512 yet, but if
> the series is basically OK on skylake, then should be not too much issue).
>
> Iain
>
> P.S. I am usually able to test patches / series like this on Darwin if you point me at
> a branch.
I will.
>