[PATCH] x86-64: Simplify minimum ISA check ifdef conditional with if

H.J. Lu hjl.tools@gmail.com
Sun Mar 3 21:46:19 GMT 2024


On Fri, Mar 1, 2024 at 4:40 PM Sunil K Pandey <skpgkp2@gmail.com> wrote:
>
> Replace minimum ISA check ifdef conditional with if.  Since
> MINIMUM_X86_ISA_LEVEL and AVX_X86_ISA_LEVEL are compile time constants,
> compiler will perform constant folding optimization getting same result.
> ---
>  sysdeps/x86/cpu-features.c | 19 ++++++++-----------
>  1 file changed, 8 insertions(+), 11 deletions(-)
>
> diff --git a/sysdeps/x86/cpu-features.c b/sysdeps/x86/cpu-features.c
> index e7c7ece462..4ea373dffa 100644
> --- a/sysdeps/x86/cpu-features.c
> +++ b/sysdeps/x86/cpu-features.c
> @@ -1196,9 +1196,8 @@ no_cpuid:
>                TUNABLE_CALLBACK (set_x86_shstk));
>  #endif
>
> -#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL
> -  if (GLRO(dl_x86_cpu_features).xsave_state_size != 0)
> -#endif
> +  if (MINIMUM_X86_ISA_LEVEL >= AVX_X86_ISA_LEVEL
> +      || (GLRO(dl_x86_cpu_features).xsave_state_size != 0))
>      {
>        if (CPU_FEATURE_USABLE_P (cpu_features, XSAVEC))
>         {
> @@ -1219,24 +1218,22 @@ no_cpuid:
>  #endif
>         }
>      }
> -#if MINIMUM_X86_ISA_LEVEL < AVX_X86_ISA_LEVEL
>    else
>      {
> -# ifdef __x86_64__
> +#ifdef __x86_64__
>        GLRO(dl_x86_64_runtime_resolve) = _dl_runtime_resolve_fxsave;
> -#  ifdef SHARED
> +# ifdef SHARED
>        GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave;
> -#  endif
> -# else
> -#  ifdef SHARED
> +# endif
> +#else
> +# ifdef SHARED
>        if (CPU_FEATURE_USABLE_P (cpu_features, FXSR))
>         GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fxsave;
>        else
>         GLRO(dl_x86_tlsdesc_dynamic) = _dl_tlsdesc_dynamic_fnsave;
> -#  endif
>  # endif
> -    }
>  #endif
> +    }
>
>  #ifdef SHARED
>  # ifdef __x86_64__
> --
> 2.43.0
>

LGTM.

Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

Thanks.

--
H.J.


More information about the Libc-alpha mailing list