From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1039) id 165063857419; Mon, 21 Mar 2022 21:50:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 165063857419 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: H.J. Lu To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-7742] x86: Properly check FEATURE_AESKLE X-Act-Checkin: gcc X-Git-Author: H.J. Lu X-Git-Refname: refs/heads/master X-Git-Oldrev: 24d51e749570dcb85bd43d3b528f58ad6141de26 X-Git-Newrev: d0363a80690a299179d010c1d8a6d6430e7eb73f Message-Id: <20220321215045.165063857419@sourceware.org> Date: Mon, 21 Mar 2022 21:50:45 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2022 21:50:45 -0000 https://gcc.gnu.org/g:d0363a80690a299179d010c1d8a6d6430e7eb73f commit r12-7742-gd0363a80690a299179d010c1d8a6d6430e7eb73f Author: H.J. Lu Date: Mon Mar 21 06:50:14 2022 -0700 x86: Properly check FEATURE_AESKLE 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. Diff: --- 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)