crypto/x86_64cpuid.pl: move extended feature detection upwards.

Exteneded feature flags were not pulled on AMD processors, as result a
number of extensions were effectively masked on Ryzen. It should have
been reported for Excavator since it implements AVX2 extension, but
apparently nobody noticed or cared...

Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
Andy Polyakov 2017-03-05 20:38:36 +01:00
parent ee6d9dfb39
commit f8418d87e1

View File

@ -72,6 +72,16 @@ OPENSSL_ia32_cpuid:
cpuid
mov %eax,%r11d # max value for standard query level
cmp \$7,%eax
jb .Lno_extended_info
mov \$7,%eax
xor %ecx,%ecx
cpuid
mov %ebx,8(%rdi)
.Lno_extended_info:
xor %eax,%eax
cmp \$0x756e6547,%ebx # "Genu"
setne %al
@ -136,14 +146,6 @@ OPENSSL_ia32_cpuid:
shr \$14,%r10d
and \$0xfff,%r10d # number of cores -1 per L1D
cmp \$7,%r11d
jb .Lnocacheinfo
mov \$7,%eax
xor %ecx,%ecx
cpuid
mov %ebx,8(%rdi)
.Lnocacheinfo:
mov \$1,%eax
cpuid