Commit c6e4fdbf authored by Andy Polyakov's avatar Andy Polyakov
Browse files

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: default avatarRich Salz <rsalz@openssl.org>
(cherry picked from commit f8418d87)
parent bf1c92fa
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -70,6 +70,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
@@ -134,14 +144,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