> From: Dipesh Sharma <[email protected]>
> Sent: Friday, June 26, 2026 8:16 PM
>
> diff --git a/gcc/common/config/i386/cpuinfo.h
> b/gcc/common/config/i386/cpuinfo.h
> index 6310e7294da..f284917b3f5 100644
> --- a/gcc/common/config/i386/cpuinfo.h
> +++ b/gcc/common/config/i386/cpuinfo.h
> @@ -804,6 +804,7 @@ get_available_features (struct __processor_model
> *cpu_model,
> #define XSTATE_TILECFG 0x20000
> #define XSTATE_TILEDATA 0x40000
> #define XSTATE_APX_F 0x80000
> +#define XSTATE_SCALEDATA 0x80000
Are you sure this is the correct bit? Bit 20 should be
0x100000. You are setting bit 19 and it does not match
documentation.
> @@ -840,6 +847,8 @@ get_available_features (struct __processor_model
> *cpu_model,
> }
> amx_usable = ((xcrlow & XCR_AMX_ENABLED_MASK)
> == XCR_AMX_ENABLED_MASK);
> + ace_usable = ((xcrlow & XCR_ACE_ENABLED_MASK)
> + == XCR_ACE_ENABLED_MASK);
There are many occurrences in this patch (and the series)
that the alignment of the code suddenly messed up. Please
adjust them to GNU style, i.e., 2 space as padding, when
there are 8 space, turn it to tab. Also please refer to
the nearby code to make it prettier for many occurences.
> + /* Get Advanced Features at level 0x1D (eax = 0x1D, ecx = 2). */
> + /* TODO: ADD check for AUX v1 and v2*/
Comment is wrong here. Only AVX10V1AUX is not checked after this
patch since this is not implemented.
> + if (ace_set && max_cpuid_level >= 0x1d)
> + {
> + __cpuid_count (0x1d, 2, eax, ebx, ecx, edx);
> + ace_version = eax & 0xff;
> + if((version >=1) &&
> + (avx10_v2_aux_set == 1) &&
> + (ace_version >= 1))
> + set_feature (FEATURE_ACE_V1);
You did not leave space for further ACE versions. Could
you use a switch just like AVX10?
And, please put and/or (&&/||) at the start of next line,
not the end of the line.
> diff --git a/gcc/common/config/i386/i386-cpuinfo.h
> b/gcc/common/config/i386/i386-cpuinfo.h
> index 20444fae38b..9d01c15cbc1 100644
> --- a/gcc/common/config/i386/i386-cpuinfo.h
> +++ b/gcc/common/config/i386/i386-cpuinfo.h
> @@ -285,6 +285,7 @@ enum processor_features
> FEATURE_AMX_MOVRS,
> FEATURE_AVX512BMM,
> FEATURE_AVX10_V2_AUX,
> + FEATURE_ACE_V1,
> FEATURE_TILE,
> CPU_FEATURE_MAX
> };
Please always put new FEATURE before CPU_FEATURE_MAX,
at the "end" of the array, the value should not be changed
commit to commit. Some components rely on this array and
it will mess up them.
And many of the comments in previous patches also apply
to this patch, like i386.opt.urls, texi missing, etc.
Thx,
Haochen