On Wed, Aug 6, 2025 at 10:18 AM Yangyu Chen <c...@cyyself.name> wrote:
>
> I apologize for missing that. Although I don't have write access,
> I have contributed numerous commits and thousands of lines of code
> to GCC.
>
> Could you please commit this patch for me?

No problem, will do later today.

Thanks,
Uros.

>
> Thanks,
> Yangyu Chen
>
> > On 6 Aug 2025, at 16:13, Uros Bizjak <ubiz...@gmail.com> wrote:
> >
> > On Wed, Jul 30, 2025 at 7:24 PM Yangyu Chen <c...@cyyself.name> wrote:
> >>
> >> This patch adds the missing PTA_POPCNT and PTA_LZCNT with the PTA_ABM
> >> bitmask definition for the bdver1, btver1, and lujiazui architectures
> >> in the i386 architecture configuration file.
> >>
> >> Although these two features were not present in the original definition,
> >> their absence does not affect the functionality of these architectures
> >> because the POPCNT and LZCNT bits are set when ABM is enabled in the
> >> ix86_option_override_internal function. However, including them in these
> >> definitions improves consistency and clarity. This issue was discovered
> >> while writing a script to extract these bitmasks from the i386.h file
> >> referenced in [1].
> >>
> >> Additionally, the PTA_YONGFENG bitmask appears incorrect as it includes
> >> PTA_LZCNT while already inheriting PTA_ABM from PTA_LUJIAZUI. This seems
> >> to be a typo and should be corrected.
> >>
> >> [1] https://github.com/cyyself/x86-pta
> >>
> >> gcc/ChangeLog:
> >>
> >>        * config/i386/i386.h: Add missing PTA_POPCNT, PTA_LZCNT with PTA_ABM
> >
> > OK.
> >
> > How do you plan to proceed with the patch? If you don't have write
> > access, I can commit the patch for you, but you may want to point out
> > lack of write access in your initial submission, as advised at the end
> > of [1].
> >
> > [1] https://gcc.gnu.org/contribute.html#patches
> >
> > Thanks,
> > Uros.
> >
> >> Signed-off-by: Yangyu Chen <c...@cyyself.name>
> >> ---
> >> Changes in v3:
> >> - Added PTA_LZCNT to PTA_BTVER1 and PTA_LUJIAZUI definitions as well.
> >> - Remove PTA_LZCNT from PTA_YONGFENG definition since it is already 
> >> included via PTA_LUJIAZUI.
> >>
> >> v2: 
> >> https://patchwork.sourceware.org/project/gcc/patch/tencent_15d739eae1aec5d486f43736f23909466...@qq.com/
> >>
> >> Changes in v2:
> >> - Added PTA_LZCNT to the patch as well.
> >>
> >> v1: 
> >> https://patchwork.sourceware.org/project/gcc/patch/tencent_f08f827bda658e18b8e0319021b88d6d7...@qq.com/
> >> ---
> >> gcc/config/i386/i386.h | 9 +++++----
> >> 1 file changed, 5 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
> >> index 791f3b9e133..8d1d1f5add3 100644
> >> --- a/gcc/config/i386/i386.h
> >> +++ b/gcc/config/i386/i386.h
> >> @@ -2479,7 +2479,8 @@ constexpr wide_int_bitmask PTA_DIAMONDRAPIDS = 
> >> PTA_GRANITERAPIDS_D
> >> constexpr wide_int_bitmask PTA_BDVER1 = PTA_64BIT | PTA_MMX | PTA_SSE
> >>   | PTA_SSE2 | PTA_SSE3 | PTA_SSE4A | PTA_CX16 | PTA_ABM | PTA_SSSE3
> >>   | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_FMA4
> >> -  | PTA_XOP | PTA_LWP | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE;
> >> +  | PTA_XOP | PTA_LWP | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE | PTA_LZCNT
> >> +  | PTA_POPCNT;
> >> constexpr wide_int_bitmask PTA_BDVER2 = PTA_BDVER1 | PTA_BMI | PTA_TBM
> >>   | PTA_F16C | PTA_FMA;
> >> constexpr wide_int_bitmask PTA_BDVER3 = PTA_BDVER2 | PTA_XSAVEOPT
> >> @@ -2507,7 +2508,7 @@ constexpr wide_int_bitmask PTA_ZNVER5 = PTA_ZNVER4 | 
> >> PTA_AVXVNNI
> >>
> >> constexpr wide_int_bitmask PTA_BTVER1 = PTA_64BIT | PTA_MMX | PTA_SSE
> >>   | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 | PTA_SSE4A | PTA_ABM | PTA_CX16
> >> -  | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE;
> >> +  | PTA_PRFCHW | PTA_FXSR | PTA_XSAVE | PTA_LZCNT | PTA_POPCNT;
> >> constexpr wide_int_bitmask PTA_BTVER2 = PTA_BTVER1 | PTA_SSE4_1 | 
> >> PTA_SSE4_2
> >>   | PTA_AES | PTA_PCLMUL | PTA_AVX | PTA_BMI | PTA_F16C | PTA_MOVBE
> >>   | PTA_XSAVEOPT;
> >> @@ -2516,9 +2517,9 @@ constexpr wide_int_bitmask PTA_LUJIAZUI = PTA_64BIT 
> >> | PTA_MMX | PTA_SSE
> >>   | PTA_SSE2 | PTA_SSE3 | PTA_CX16 | PTA_ABM | PTA_SSSE3 | PTA_SSE4_1
> >>   | PTA_SSE4_2 | PTA_AES | PTA_PCLMUL | PTA_BMI | PTA_BMI2 | PTA_PRFCHW
> >>   | PTA_FXSR | PTA_XSAVE | PTA_XSAVEOPT | PTA_FSGSBASE | PTA_RDRND | 
> >> PTA_MOVBE
> >> -  | PTA_ADX | PTA_RDSEED | PTA_POPCNT;
> >> +  | PTA_ADX | PTA_RDSEED | PTA_LZCNT | PTA_POPCNT;
> >> constexpr wide_int_bitmask PTA_YONGFENG = PTA_LUJIAZUI | PTA_AVX | PTA_AVX2
> >> -  | PTA_F16C | PTA_FMA | PTA_SHA | PTA_LZCNT;
> >> +  | PTA_F16C | PTA_FMA | PTA_SHA;
> >>
> >> #ifndef GENERATOR_FILE
> >>
> >> --
> >> 2.49.0
> >>
>

Reply via email to