mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
Avoid clobbering non-volatile XMM registers
This affects some Poly1305 assembler functions which are only used for certain CPU types. Remove those functions for Windows targets, as a simple interim solution. Fixes #21522 Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/21808)
This commit is contained in:
parent
9ff816106c
commit
7b8e27bc2e
@ -195,7 +195,7 @@ $code.=<<___ if ($avx>1);
|
||||
bt \$`5+32`,%r9 # AVX2?
|
||||
cmovc %rax,%r10
|
||||
___
|
||||
$code.=<<___ if ($avx>3);
|
||||
$code.=<<___ if ($avx>3 && !$win64);
|
||||
mov \$`(1<<31|1<<21|1<<16)`,%rax
|
||||
shr \$32,%r9
|
||||
and %rax,%r9
|
||||
@ -2724,7 +2724,7 @@ $code.=<<___;
|
||||
.cfi_endproc
|
||||
.size poly1305_blocks_avx512,.-poly1305_blocks_avx512
|
||||
___
|
||||
if ($avx>3) {
|
||||
if ($avx>3 && !$win64) {
|
||||
########################################################################
|
||||
# VPMADD52 version using 2^44 radix.
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user