diff options
Diffstat (limited to 'cipher/serpent-sse2-amd64.S')
-rw-r--r-- | cipher/serpent-sse2-amd64.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/cipher/serpent-sse2-amd64.S b/cipher/serpent-sse2-amd64.S index fe9feeea..a5cf3539 100644 --- a/cipher/serpent-sse2-amd64.S +++ b/cipher/serpent-sse2-amd64.S @@ -756,6 +756,20 @@ _gcry_serpent_sse2_ctr_enc: movdqu RB2, (6 * 16)(%rsi); movdqu RB3, (7 * 16)(%rsi); + /* clear the used registers */ + pxor RA0, RA0; + pxor RA1, RA1; + pxor RA2, RA2; + pxor RA3, RA3; + pxor RB0, RB0; + pxor RB1, RB1; + pxor RB2, RB2; + pxor RB3, RB3; + pxor RTMP0, RTMP0; + pxor RTMP1, RTMP1; + pxor RTMP2, RTMP2; + pxor RNOT, RNOT; + ret .size _gcry_serpent_sse2_ctr_enc,.-_gcry_serpent_sse2_ctr_enc; @@ -819,6 +833,20 @@ _gcry_serpent_sse2_cbc_dec: movdqu RB2, (6 * 16)(%rsi); movdqu RB3, (7 * 16)(%rsi); + /* clear the used registers */ + pxor RA0, RA0; + pxor RA1, RA1; + pxor RA2, RA2; + pxor RA3, RA3; + pxor RB0, RB0; + pxor RB1, RB1; + pxor RB2, RB2; + pxor RB3, RB3; + pxor RTMP0, RTMP0; + pxor RTMP1, RTMP1; + pxor RTMP2, RTMP2; + pxor RNOT, RNOT; + ret .size _gcry_serpent_sse2_cbc_dec,.-_gcry_serpent_sse2_cbc_dec; @@ -885,6 +913,20 @@ _gcry_serpent_sse2_cfb_dec: movdqu RB2, (6 * 16)(%rsi); movdqu RB3, (7 * 16)(%rsi); + /* clear the used registers */ + pxor RA0, RA0; + pxor RA1, RA1; + pxor RA2, RA2; + pxor RA3, RA3; + pxor RB0, RB0; + pxor RB1, RB1; + pxor RB2, RB2; + pxor RB3, RB3; + pxor RTMP0, RTMP0; + pxor RTMP1, RTMP1; + pxor RTMP2, RTMP2; + pxor RNOT, RNOT; + ret .size _gcry_serpent_sse2_cfb_dec,.-_gcry_serpent_sse2_cfb_dec; |