diff options
author | anton <> | 2023-04-04 18:14:32 +0000 |
---|---|---|
committer | anton <> | 2023-04-04 18:14:32 +0000 |
commit | 4345f8303debe1136a051fff16c81a93dae95807 (patch) | |
tree | ec6198c7c88cfe78ab4e8fa0ffd37b8c7f73ce18 /src/lib | |
parent | a842b1fc304364a2fcb5f261f0682291b3ff3dcc (diff) | |
download | openbsd-4345f8303debe1136a051fff16c81a93dae95807.tar.gz openbsd-4345f8303debe1136a051fff16c81a93dae95807.tar.bz2 openbsd-4345f8303debe1136a051fff16c81a93dae95807.zip |
A refactoring back in 2016 in which magic numbers where extracted into
named constants accidentally dropped an instruction causing detection of
eXtended operations (XOP) on AMD hardware to break.
ok miod@ tb@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/x86_64cpuid.pl | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/libcrypto/x86_64cpuid.pl b/src/lib/libcrypto/x86_64cpuid.pl index 2780b0f8ce..1b67d1110f 100644 --- a/src/lib/libcrypto/x86_64cpuid.pl +++ b/src/lib/libcrypto/x86_64cpuid.pl | |||
@@ -66,6 +66,7 @@ OPENSSL_ia32_cpuid: | |||
66 | mov %eax,%r10d | 66 | mov %eax,%r10d |
67 | mov \$0x80000001,%eax | 67 | mov \$0x80000001,%eax |
68 | cpuid | 68 | cpuid |
69 | or %ecx,%r9d | ||
69 | and \$IA32CAP_MASK1_AMD_XOP,%r9d # isolate AMD XOP bit | 70 | and \$IA32CAP_MASK1_AMD_XOP,%r9d # isolate AMD XOP bit |
70 | or \$1,%r9d # make sure %r9d is not zero | 71 | or \$1,%r9d # make sure %r9d is not zero |
71 | 72 | ||