aboutsummaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@iki.fi>2013-06-08 05:17:47 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2013-06-21 02:44:29 -0400
commit99f42f937a080995b34e1ed75ed6934b5f96f9ca (patch)
tree1a9c3482104dd4d99dfc1b839c02678b6a550a53 /crypto
parent3d387ef08c40382315b8e9baa4bc9a07f7c49fce (diff)
Revert "crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher"
This reverts commit cf1521a1a5e21fd1e79a458605c4282fbfbbeee2. Instruction (vpgatherdd) that this implementation relied on turned out to be slow performer on real hardware (i5-4570). The previous 8-way twofish/AVX implementation is therefore faster and this implementation should be removed. Converting this implementation to use the same method as in twofish/AVX for table look-ups would give additional ~3% speed up vs twofish/AVX, but would hardly be worth of the added code and binary size. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'crypto')
-rw-r--r--crypto/Kconfig24
-rw-r--r--crypto/testmgr.c12
2 files changed, 0 insertions, 36 deletions
diff --git a/crypto/Kconfig b/crypto/Kconfig
index 4ef0ee715171..904ffe838567 100644
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
@@ -1297,30 +1297,6 @@ config CRYPTO_TWOFISH_AVX_X86_64
1297 See also: 1297 See also:
1298 <http://www.schneier.com/twofish.html> 1298 <http://www.schneier.com/twofish.html>
1299 1299
1300config CRYPTO_TWOFISH_AVX2_X86_64
1301 tristate "Twofish cipher algorithm (x86_64/AVX2)"
1302 depends on X86 && 64BIT
1303 select CRYPTO_ALGAPI
1304 select CRYPTO_CRYPTD
1305 select CRYPTO_ABLK_HELPER_X86
1306 select CRYPTO_GLUE_HELPER_X86
1307 select CRYPTO_TWOFISH_COMMON
1308 select CRYPTO_TWOFISH_X86_64
1309 select CRYPTO_TWOFISH_X86_64_3WAY
1310 select CRYPTO_TWOFISH_AVX_X86_64
1311 select CRYPTO_LRW
1312 select CRYPTO_XTS
1313 help
1314 Twofish cipher algorithm (x86_64/AVX2).
1315
1316 Twofish was submitted as an AES (Advanced Encryption Standard)
1317 candidate cipher by researchers at CounterPane Systems. It is a
1318 16 round block cipher supporting key sizes of 128, 192, and 256
1319 bits.
1320
1321 See also:
1322 <http://www.schneier.com/twofish.html>
1323
1324comment "Compression" 1300comment "Compression"
1325 1301
1326config CRYPTO_DEFLATE 1302config CRYPTO_DEFLATE
diff --git a/crypto/testmgr.c b/crypto/testmgr.c
index 27f111876523..b2bc5334c170 100644
--- a/crypto/testmgr.c
+++ b/crypto/testmgr.c
@@ -1654,9 +1654,6 @@ static const struct alg_test_desc alg_test_descs[] = {
1654 .alg = "__cbc-twofish-avx", 1654 .alg = "__cbc-twofish-avx",
1655 .test = alg_test_null, 1655 .test = alg_test_null,
1656 }, { 1656 }, {
1657 .alg = "__cbc-twofish-avx2",
1658 .test = alg_test_null,
1659 }, {
1660 .alg = "__driver-cbc-aes-aesni", 1657 .alg = "__driver-cbc-aes-aesni",
1661 .test = alg_test_null, 1658 .test = alg_test_null,
1662 .fips_allowed = 1, 1659 .fips_allowed = 1,
@@ -1685,9 +1682,6 @@ static const struct alg_test_desc alg_test_descs[] = {
1685 .alg = "__driver-cbc-twofish-avx", 1682 .alg = "__driver-cbc-twofish-avx",
1686 .test = alg_test_null, 1683 .test = alg_test_null,
1687 }, { 1684 }, {
1688 .alg = "__driver-cbc-twofish-avx2",
1689 .test = alg_test_null,
1690 }, {
1691 .alg = "__driver-ecb-aes-aesni", 1685 .alg = "__driver-ecb-aes-aesni",
1692 .test = alg_test_null, 1686 .test = alg_test_null,
1693 .fips_allowed = 1, 1687 .fips_allowed = 1,
@@ -1716,9 +1710,6 @@ static const struct alg_test_desc alg_test_descs[] = {
1716 .alg = "__driver-ecb-twofish-avx", 1710 .alg = "__driver-ecb-twofish-avx",
1717 .test = alg_test_null, 1711 .test = alg_test_null,
1718 }, { 1712 }, {
1719 .alg = "__driver-ecb-twofish-avx2",
1720 .test = alg_test_null,
1721 }, {
1722 .alg = "__ghash-pclmulqdqni", 1713 .alg = "__ghash-pclmulqdqni",
1723 .test = alg_test_null, 1714 .test = alg_test_null,
1724 .fips_allowed = 1, 1715 .fips_allowed = 1,
@@ -2019,9 +2010,6 @@ static const struct alg_test_desc alg_test_descs[] = {
2019 .alg = "cryptd(__driver-ecb-twofish-avx)", 2010 .alg = "cryptd(__driver-ecb-twofish-avx)",
2020 .test = alg_test_null, 2011 .test = alg_test_null,
2021 }, { 2012 }, {
2022 .alg = "cryptd(__driver-ecb-twofish-avx2)",
2023 .test = alg_test_null,
2024 }, {
2025 .alg = "cryptd(__driver-gcm-aes-aesni)", 2013 .alg = "cryptd(__driver-gcm-aes-aesni)",
2026 .test = alg_test_null, 2014 .test = alg_test_null,
2027 .fips_allowed = 1, 2015 .fips_allowed = 1,