Commit f8418d87 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>
parent ee6d9dfb
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -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