History

crypto: sha1 - use Kbuild supplied flags for AVX test

Commit ea4d26ae ("raid5: add AVX optimized RAID5 checksumming") introduced x86/ arch wide defines for AFLAGS and CFLAGS indicating AVX support in binutils based on the same test we have in x86/crypto/ right now. To minimize duplication drop our implementation in favour to the one in x86/.

Mathias Krause committed 14 years ago

Commit 65df5771 parent 4e3c8a13 files · +4 −11Browse files

Unified · Split

3 files
  1. arch/x86/crypto/Makefile +0 −7
  2. arch/x86/crypto/sha1_ssse3_asm.S +1 −1
  3. arch/x86/crypto/sha1_ssse3_glue.c +3 −3
arch/x86/crypto/Makefile+0−7
@@ -34,12 +34,5 @@ salsa20-x86_64-y := salsa20-x86_64-asm_64.o salsa20_glue.o · 33 unmodified lines
34serpent-sse2-x86_64-y := serpent-sse2-x86_64-asm_64.o serpent_sse2_glue.o34serpent-sse2-x86_64-y := serpent-sse2-x86_64-asm_64.o serpent_sse2_glue.o
35 35
36aesni-intel-y := aesni-intel_asm.o aesni-intel_glue.o fpu.o36aesni-intel-y := aesni-intel_asm.o aesni-intel_glue.o fpu.o
37
38ghash-clmulni-intel-y := ghash-clmulni-intel_asm.o ghash-clmulni-intel_glue.o37ghash-clmulni-intel-y := ghash-clmulni-intel_asm.o ghash-clmulni-intel_glue.o
39
40# enable AVX support only when $(AS) can actually assemble the instructions
41ifeq ($(call as-instr,vpxor %xmm0$(comma)%xmm1$(comma)%xmm2,yes,no),yes)
42AFLAGS_sha1_ssse3_asm.o += -DSHA1_ENABLE_AVX_SUPPORT
43CFLAGS_sha1_ssse3_glue.o += -DSHA1_ENABLE_AVX_SUPPORT
44endif
45sha1-ssse3-y := sha1_ssse3_asm.o sha1_ssse3_glue.o38sha1-ssse3-y := sha1_ssse3_asm.o sha1_ssse3_glue.o
arch/x86/crypto/sha1_ssse3_asm.S+1−1
@@ -468,7 +468,7 @@ W_PRECALC_SSSE3 · 467 unmodified lines
468 */468 */
469SHA1_VECTOR_ASM sha1_transform_ssse3469SHA1_VECTOR_ASM sha1_transform_ssse3
470 470
471#ifdef SHA1_ENABLE_AVX_SUPPORT471#ifdef CONFIG_AS_AVX
472 472
473.macro W_PRECALC_AVX473.macro W_PRECALC_AVX
474 474
arch/x86/crypto/sha1_ssse3_glue.c+3−3
@@ -35,7 +35,7 @@ · 34 unmodified lines
35 35
36asmlinkage void sha1_transform_ssse3(u32 *digest, const char *data,36asmlinkage void sha1_transform_ssse3(u32 *digest, const char *data,
37 unsigned int rounds);37 unsigned int rounds);
38#ifdef SHA1_ENABLE_AVX_SUPPORT38#ifdef CONFIG_AS_AVX
39asmlinkage void sha1_transform_avx(u32 *digest, const char *data,39asmlinkage void sha1_transform_avx(u32 *digest, const char *data,
40 unsigned int rounds);40 unsigned int rounds);
41#endif41#endif
@@ -184,7 +184,7 @@ static struct shash_alg alg = { · 142 unmodified lines
184 }184 }
185};185};
186 186
187#ifdef SHA1_ENABLE_AVX_SUPPORT187#ifdef CONFIG_AS_AVX
188static bool __init avx_usable(void)188static bool __init avx_usable(void)
189{189{
190 u64 xcr0;190 u64 xcr0;
@@ -209,7 +209,7 @@ static int __init sha1_ssse3_mod_init(void) · 18 unmodified lines
209 if (cpu_has_ssse3)209 if (cpu_has_ssse3)
210 sha1_transform_asm = sha1_transform_ssse3;210 sha1_transform_asm = sha1_transform_ssse3;
211 211
212#ifdef SHA1_ENABLE_AVX_SUPPORT212#ifdef CONFIG_AS_AVX
213 /* allow AVX to override SSSE3, it's a little faster */213 /* allow AVX to override SSSE3, it's a little faster */
214 if (avx_usable())214 if (avx_usable())
215 sha1_transform_asm = sha1_transform_avx;215 sha1_transform_asm = sha1_transform_avx;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t