1. Pass 0x19 to __cpuid for bit_AESKLE.
2. Enable FEATURE_AESKLE only if bit_AESKLE is set.

        PR target/104998
        * common/config/i386/cpuinfo.h (get_available_features): Pass
        0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
        bit_AESKLE is set.
---
 gcc/common/config/i386/cpuinfo.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/common/config/i386/cpuinfo.h b/gcc/common/config/i386/cpuinfo.h
index 61b1a0f291c..239759dc766 100644
--- a/gcc/common/config/i386/cpuinfo.h
+++ b/gcc/common/config/i386/cpuinfo.h
@@ -779,11 +779,11 @@ get_available_features (struct __processor_model 
*cpu_model,
   /* Get Advanced Features at level 0x19 (eax = 0x19).  */
   if (max_cpuid_level >= 0x19)
     {
-      set_feature (FEATURE_AESKLE);
-      __cpuid (19, eax, ebx, ecx, edx);
+      __cpuid (0x19, eax, ebx, ecx, edx);
       /* Check if OS support keylocker.  */
       if (ebx & bit_AESKLE)
        {
+         set_feature (FEATURE_AESKLE);
          if (ebx & bit_WIDEKL)
            set_feature (FEATURE_WIDEKL);
          if (has_kl)
-- 
2.35.1

Reply via email to