diff options
| author | anton <> | 2023-04-04 18:14:32 +0000 |
|---|---|---|
| committer | anton <> | 2023-04-04 18:14:32 +0000 |
| commit | f23ef07cb70f50f3b581b59349f80fde3c79f441 (patch) | |
| tree | ec6198c7c88cfe78ab4e8fa0ffd37b8c7f73ce18 | |
| parent | f15d7c7610eb093978f0e8faf9b564c781d7dedd (diff) | |
| download | openbsd-f23ef07cb70f50f3b581b59349f80fde3c79f441.tar.gz openbsd-f23ef07cb70f50f3b581b59349f80fde3c79f441.tar.bz2 openbsd-f23ef07cb70f50f3b581b59349f80fde3c79f441.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@
| -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 | ||
