]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/commitdiff
openssl: disable ssse3 on amd cpu's
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 28 Apr 2015 18:51:03 +0000 (20:51 +0200)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 28 Apr 2015 18:51:03 +0000 (20:51 +0200)
amd with ssse3 (bulldozer and fusion) has serious performance problems
with the vpaes code. (-evp is 40% slower)

lfs/openssl
src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch [new file with mode: 0644]

index d8925d7d18538532a19c2706e4f448ffa3675147..455dcf15cbdeef2044a879e477f3e6baa44fb0a9 100644 (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
diff --git a/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch b/src/patches/openssl-1.0.2a_disable_ssse3_for_amd.patch
new file mode 100644 (file)
index 0000000..097cc80
--- /dev/null
@@ -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);