*/
#include <linux/linkage.h>
+#include <asm/frame.h>
#include "glue_helper-asm-avx2.S"
.file "serpent-avx2-asm_64.S"
* %rsi: dst
* %rdx: src
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_ecb_enc_16way)
* %rsi: dst
* %rdx: src
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_ecb_dec_16way)
* %rsi: dst
* %rdx: src
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_cbc_dec_16way)
* %rdx: src (16 blocks)
* %rcx: iv (little endian, 128bit)
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_ctr_16way)
* %rdx: src (16 blocks)
* %rcx: iv (t ⊕ αⁿ ∈ GF(2¹²⁸))
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_xts_enc_16way)
* %rdx: src (16 blocks)
* %rcx: iv (t ⊕ αⁿ ∈ GF(2¹²⁸))
*/
+ FRAME_BEGIN
vzeroupper;
vzeroupper;
+ FRAME_END
ret;
ENDPROC(serpent_xts_dec_16way)