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 > >> >