1 | /* SPDX-License-Identifier: GPL-2.0-or-later */ |
2 | /* |
3 | * Serpent Cipher 4-way parallel algorithm (i586/SSE2) |
4 | * |
5 | * Copyright (C) 2011 Jussi Kivilinna <jussi.kivilinna@mbnet.fi> |
6 | * |
7 | * Based on crypto/serpent.c by |
8 | * Copyright (C) 2002 Dag Arne Osvik <osvik@ii.uib.no> |
9 | * 2003 Herbert Valerio Riedel <hvr@gnu.org> |
10 | */ |
11 | |
12 | #include <linux/linkage.h> |
13 | |
14 | .file "serpent-sse2-i586-asm_32.S" |
15 | .text |
16 | |
17 | #define arg_ctx 4 |
18 | #define arg_dst 8 |
19 | #define arg_src 12 |
20 | #define arg_xor 16 |
21 | |
22 | /********************************************************************** |
23 | 4-way SSE2 serpent |
24 | **********************************************************************/ |
25 | #define CTX %edx |
26 | |
27 | #define RA %xmm0 |
28 | #define RB %xmm1 |
29 | #define RC %xmm2 |
30 | #define RD %xmm3 |
31 | #define RE %xmm4 |
32 | |
33 | #define RT0 %xmm5 |
34 | #define RT1 %xmm6 |
35 | |
36 | #define RNOT %xmm7 |
37 | |
38 | #define get_key(i, j, t) \ |
39 | movd ( |
---|