Last active
May 6, 2019 22:55
-
-
Save SaveTheRbtz/c99ecd9fb90a73502f97d3d473d647f2 to your computer and use it in GitHub Desktop.
Re-enable AVX2/SHA extensions that were disabled after OpenSSL->BoringSSL fork.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/crypto/bn/asm/rsaz-avx2.pl b/crypto/bn/asm/rsaz-avx2.pl | |
index 73db3c2b..ab517119 100755 | |
--- a/crypto/bn/asm/rsaz-avx2.pl | |
+++ b/crypto/bn/asm/rsaz-avx2.pl | |
@@ -84,8 +84,8 @@ die "can't locate x86_64-xlate.pl"; | |
# output, so this isn't useful anyway. | |
# | |
# TODO(davidben): Enable these after testing. $avx goes up to 2 and $addx to 1. | |
-$avx = 0; | |
-$addx = 0; | |
+$avx = 2; | |
+$addx = 1; | |
open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
*STDOUT = *OUT; | |
diff --git a/crypto/bn/asm/x86_64-mont.pl b/crypto/bn/asm/x86_64-mont.pl | |
index 60e0111a..31d5fb5b 100755 | |
--- a/crypto/bn/asm/x86_64-mont.pl | |
+++ b/crypto/bn/asm/x86_64-mont.pl | |
@@ -58,7 +58,7 @@ open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
# output, so this isn't useful anyway. | |
# | |
# TODO(davidben): Enable this option after testing. $addx goes up to 1. | |
-$addx = 0; | |
+$addx = 1; | |
# int bn_mul_mont( | |
$rp="%rdi"; # BN_ULONG *rp, | |
diff --git a/crypto/bn/asm/x86_64-mont5.pl b/crypto/bn/asm/x86_64-mont5.pl | |
index 61dd9026..b79d75a8 100755 | |
--- a/crypto/bn/asm/x86_64-mont5.pl | |
+++ b/crypto/bn/asm/x86_64-mont5.pl | |
@@ -43,7 +43,7 @@ open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
# output, so this isn't useful anyway. | |
# | |
# TODO(davidben): Enable this after testing. $addx goes up to 1. | |
-$addx = 0; | |
+$addx = 1; | |
# int bn_mul_mont_gather5( | |
$rp="%rdi"; # BN_ULONG *rp, | |
diff --git a/crypto/modes/asm/aesni-gcm-x86_64.pl b/crypto/modes/asm/aesni-gcm-x86_64.pl | |
index f777a6e4..71321a8b 100644 | |
--- a/crypto/modes/asm/aesni-gcm-x86_64.pl | |
+++ b/crypto/modes/asm/aesni-gcm-x86_64.pl | |
@@ -47,7 +47,7 @@ die "can't locate x86_64-xlate.pl"; | |
# In upstream, this is controlled by shelling out to the compiler to check | |
# versions, but BoringSSL is intended to be used with pre-generated perlasm | |
# output, so this isn't useful anyway. | |
-$avx = 0; | |
+$avx = 2; | |
open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
*STDOUT=*OUT; | |
diff --git a/crypto/modes/asm/ghash-x86_64.pl b/crypto/modes/asm/ghash-x86_64.pl | |
index df8546c1..439c9afe 100644 | |
--- a/crypto/modes/asm/ghash-x86_64.pl | |
+++ b/crypto/modes/asm/ghash-x86_64.pl | |
@@ -96,7 +96,7 @@ die "can't locate x86_64-xlate.pl"; | |
# In upstream, this is controlled by shelling out to the compiler to check | |
# versions, but BoringSSL is intended to be used with pre-generated perlasm | |
# output, so this isn't useful anyway. | |
-$avx = 0; | |
+$avx = 2; | |
open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
*STDOUT=*OUT; | |
diff --git a/crypto/poly1305/asm/poly1305-x86.pl b/crypto/poly1305/asm/poly1305-x86.pl | |
index 6843995d..ccf07db6 100755 | |
--- a/crypto/poly1305/asm/poly1305-x86.pl | |
+++ b/crypto/poly1305/asm/poly1305-x86.pl | |
@@ -54,7 +54,7 @@ if ($sse2) { | |
# This may be set to 2, but valgrind can't do AVX2 on 32-bit. Without a | |
# way to verify test coverage, keep it disabled. | |
- $avx = 0; | |
+ $avx = 2; | |
} | |
######################################################################## | |
diff --git a/crypto/sha/asm/sha1-x86_64.pl b/crypto/sha/asm/sha1-x86_64.pl | |
index ff960bb9..0985f11b 100644 | |
--- a/crypto/sha/asm/sha1-x86_64.pl | |
+++ b/crypto/sha/asm/sha1-x86_64.pl | |
@@ -99,11 +99,11 @@ die "can't locate x86_64-xlate.pl"; | |
# TODO(davidben): Enable AVX2 code after testing by setting $avx to 2. Is it | |
# necessary to disable AVX2 code when SHA Extensions code is disabled? Upstream | |
# did not tie them together until after $shaext was added. | |
-$avx = 1; | |
+$avx = 2; | |
# TODO(davidben): Consider enabling the Intel SHA Extensions code once it's | |
# been tested. | |
-$shaext=0; ### set to zero if compiling for 1.0.1 | |
+$shaext=1; ### set to zero if compiling for 1.0.1 | |
$avx=1 if (!$shaext && $avx); | |
open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; | |
diff --git a/crypto/sha/asm/sha256-586.pl b/crypto/sha/asm/sha256-586.pl | |
index 8f4311b6..b2edab7a 100644 | |
--- a/crypto/sha/asm/sha256-586.pl | |
+++ b/crypto/sha/asm/sha256-586.pl | |
@@ -76,7 +76,7 @@ for (@ARGV) { $xmm=1 if (/-DOPENSSL_IA32_SSE2/); } | |
# output, so this isn't useful anyway. | |
# | |
# TODO(davidben): Enable AVX2 code after testing by setting $avx to 2. | |
-$avx = 1; | |
+$avx = 2; | |
$avx = 0 unless ($xmm); | |
diff --git a/crypto/sha/asm/sha512-x86_64.pl b/crypto/sha/asm/sha512-x86_64.pl | |
index 186aa9aa..ea2710f7 100644 | |
--- a/crypto/sha/asm/sha512-x86_64.pl | |
+++ b/crypto/sha/asm/sha512-x86_64.pl | |
@@ -116,11 +116,11 @@ die "can't locate x86_64-xlate.pl"; | |
# TODO(davidben): Enable AVX2 code after testing by setting $avx to 2. Is it | |
# necessary to disable AVX2 code when SHA Extensions code is disabled? Upstream | |
# did not tie them together until after $shaext was added. | |
-$avx = 1; | |
+$avx = 2; | |
# TODO(davidben): Consider enabling the Intel SHA Extensions code once it's | |
# been tested. | |
-$shaext=0; ### set to zero if compiling for 1.0.1 | |
+$shaext=1; ### set to zero if compiling for 1.0.1 | |
$avx=1 if (!$shaext && $avx); | |
open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\""; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment