openssl: disable ssse3 on amd cpu's

amd with ssse3 (bulldozer and fusion) has serious performance problems
with the vpaes code. (-evp is 40% slower)
This commit is contained in:
Arne Fitzenreiter
2015-04-28 20:51:03 +02:00
parent 3bcb59ab21
commit 0e2f9b011b
2 changed files with 13 additions and 1 deletions

View File

@@ -117,9 +117,10 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.1m-weak-ciphers.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-disable-sslv2-sslv3.patch
# Enable Padlock in i586
# i586 specific patches
ifeq "$(MACHINE)" "i586"
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_auto_enable_padlock.patch
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
endif
# Apply our CFLAGS

View File

@@ -0,0 +1,11 @@
diff -Naur openssl-1.0.2a.org/crypto/x86cpuid.pl openssl-1.0.2a/crypto/x86cpuid.pl
--- openssl-1.0.2a.org/crypto/x86cpuid.pl 2015-03-19 14:30:36.000000000 +0100
+++ openssl-1.0.2a/crypto/x86cpuid.pl 2015-04-28 13:47:57.853521020 +0200
@@ -71,6 +71,7 @@
&mov ("eax",1);
&xor ("ecx","ecx");
&cpuid ();
+ &and ("ecx",0xfffffdff); # clear SSSE3 because it is incredible slow on AMD's
&bt ("edx",28);
&jnc (&label("generic"));
&shr ("ebx",16);