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