This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix recent i386 regressions (was Re: [PATCH] i386: Also disable AVX512IFMA/AVX5124FMAPS/AVX5124VNNIW)
- From: Uros Bizjak <ubizjak at gmail dot com>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Richard Guenther <richard dot guenther at gmail dot com>, "H. J. Lu" <hjl dot tools at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 15 Oct 2018 17:57:18 +0200
- Subject: Re: [PATCH] Fix recent i386 regressions (was Re: [PATCH] i386: Also disable AVX512IFMA/AVX5124FMAPS/AVX5124VNNIW)
- References: <20181013215443.17078-1-hjl.tools@gmail.com> <CAFULd4bC=-bU36GCbEnjM=QBr=e31BEeoDbDYdEbsPbvLoTQNQ@mail.gmail.com> <CAFiYyc1WOod2aDaw-KHBvuoEiFnt1kTneMPYfHOE+hvBkV0unA@mail.gmail.com> <20181015145048.GW11625@tucnak> <CAFULd4b729KnNKD9+=nS063sDfBr92wK0HaPTvvRXJaXwYwr2Q@mail.gmail.com>
On Mon, Oct 15, 2018 at 5:49 PM Uros Bizjak <ubizjak@gmail.com> wrote:
> > Plus, I wonder if we shouldn't make it harder to run into these issues, by
> > changing
> > Target Report Mask(ISA_AVX5124FMAPS) Var(ix86_isa_flags2) Save
> > etc. to
> > Target Report Mask(ISA2_AVX5124FMAPS) Var(ix86_isa_flags2) Save
> > so that we'll have OPTION_MASK_ISA2_AVX5124FMAPS macros instead of
> > OPTION_MASK_ISA_AVX5124FMAPS and adjust all i386-common.c etc. uses from ISA
> > to ISA2 for the ix86_isa_flags2 options. Perhaps we could have
> > #define TARGET_ISA_AVX5124FMAPS TARGET_ISA2_AVX5124FMAPS
> > compatibility macro, because unlike the OPTION_MASK_* and TARGET_*_P macros
> > where you need to specify the right flags the TARGET_* macros already have
> > that in implicitly. Uros, thoughts on this?
>
> I was looking for a mail, where we discussed x86_isa_flags2 as a
> temporary solution, with the expectation that some other extensible
> mechanism gets invented to handle ISA flags. Now we are in c++, and I
> guess there should be more elegant way to deal with the issue.
Maybe wide-int-bitmask.h can be used here, similar to how PTA_*
defines are handled in i386.h?
Uros.