diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-08-22 15:26:52 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2013-08-22 15:26:52 +0300 |
commit | 040aa7688296e93659cb32ca31e9a001a6ab1edd (patch) | |
tree | a4b662bb71cdd0ac18d19bb9792532b4ed2030fb /cipher/serpent.c | |
parent | 82db04a6a0058cf870485459abe7c1659b138ec5 (diff) | |
download | libgcrypt-040aa7688296e93659cb32ca31e9a001a6ab1edd.tar.gz |
serpent-sse2-amd64: Move register clearing to assembly functions
cipher/serpent-sse2-amd64.S (_gcry_serpent_sse2_ctr_enc)
(_gcry_serpent_sse2_cbc_dec, _gcry_serpent_sse2_cfb_dec): Clear used
XMM registers.
cipher/serpent.c (_gcry_serpent_ctr_enc, _gcry_serpent_cbc_dec)
( _gcry_serpent_cfb_dec) [USE_SSE2]: Remove XMM register clearing from
bulk functions.
--
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/serpent.c')
-rw-r--r-- | cipher/serpent.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/cipher/serpent.c b/cipher/serpent.c index 8aded344..bf03fe74 100644 --- a/cipher/serpent.c +++ b/cipher/serpent.c @@ -875,22 +875,6 @@ _gcry_serpent_ctr_enc(void *context, unsigned char *ctr, if (did_use_sse2) { - /* clear SSE2 registers used by serpent-sse2 */ - asm volatile ( - "pxor %%xmm0, %%xmm0;\n" - "pxor %%xmm1, %%xmm1;\n" - "pxor %%xmm2, %%xmm2;\n" - "pxor %%xmm3, %%xmm3;\n" - "pxor %%xmm4, %%xmm4;\n" - "pxor %%xmm5, %%xmm5;\n" - "pxor %%xmm6, %%xmm6;\n" - "pxor %%xmm7, %%xmm7;\n" - "pxor %%xmm10, %%xmm10;\n" - "pxor %%xmm11, %%xmm11;\n" - "pxor %%xmm12, %%xmm12;\n" - "pxor %%xmm13, %%xmm13;\n" - :::); - /* serpent-sse2 assembly code does not use stack */ if (nblocks == 0) burn_stack_depth = 0; @@ -982,22 +966,6 @@ _gcry_serpent_cbc_dec(void *context, unsigned char *iv, if (did_use_sse2) { - /* clear SSE2 registers used by serpent-sse2 */ - asm volatile ( - "pxor %%xmm0, %%xmm0;\n" - "pxor %%xmm1, %%xmm1;\n" - "pxor %%xmm2, %%xmm2;\n" - "pxor %%xmm3, %%xmm3;\n" - "pxor %%xmm4, %%xmm4;\n" - "pxor %%xmm5, %%xmm5;\n" - "pxor %%xmm6, %%xmm6;\n" - "pxor %%xmm7, %%xmm7;\n" - "pxor %%xmm10, %%xmm10;\n" - "pxor %%xmm11, %%xmm11;\n" - "pxor %%xmm12, %%xmm12;\n" - "pxor %%xmm13, %%xmm13;\n" - :::); - /* serpent-sse2 assembly code does not use stack */ if (nblocks == 0) burn_stack_depth = 0; @@ -1084,22 +1052,6 @@ _gcry_serpent_cfb_dec(void *context, unsigned char *iv, if (did_use_sse2) { - /* clear SSE2 registers used by serpent-sse2 */ - asm volatile ( - "pxor %%xmm0, %%xmm0;\n" - "pxor %%xmm1, %%xmm1;\n" - "pxor %%xmm2, %%xmm2;\n" - "pxor %%xmm3, %%xmm3;\n" - "pxor %%xmm4, %%xmm4;\n" - "pxor %%xmm5, %%xmm5;\n" - "pxor %%xmm6, %%xmm6;\n" - "pxor %%xmm7, %%xmm7;\n" - "pxor %%xmm10, %%xmm10;\n" - "pxor %%xmm11, %%xmm11;\n" - "pxor %%xmm12, %%xmm12;\n" - "pxor %%xmm13, %%xmm13;\n" - :::); - /* serpent-sse2 assembly code does not use stack */ if (nblocks == 0) burn_stack_depth = 0; |