Lines Matching +full:tx1 +full:- +full:0
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Twofish Cipher 3-way parallel algorithm (x86_64)
10 .file "twofish-x86_64-asm-3way.S"
14 #define s0 0
22 3-way twofish
43 #define CD0 0x0(%rsp)
44 #define CD1 0x8(%rsp)
45 #define CD2 0x10(%rsp)
93 #define g1g2_3(ab, cd, Tx0, Tx1, Tx2, Tx3, Ty0, Ty1, Ty2, Ty3, x, y) \ argument
95 do16bit_ror(32, mov, xor, Tx0, Tx1, RT0, x ## 0, ab ## 0, x ## 0); \
96 do16bit_ror(48, mov, xor, Ty1, Ty2, RT0, y ## 0, ab ## 0, y ## 0); \
98 do16bit_ror(32, mov, xor, Tx0, Tx1, RT0, x ## 1, ab ## 1, x ## 1); \
101 do16bit_ror(32, mov, xor, Tx0, Tx1, RT0, x ## 2, ab ## 2, x ## 2); \
105 do16bit_ror(32, xor, xor, Tx2, Tx3, RT0, RT1, ab ## 0, x ## 0); \
106 do16bit_ror(16, xor, xor, Ty3, Ty0, RT0, RT1, ab ## 0, y ## 0); \
107 swap_ab_with_cd(ab ## 0, cd ## 0, RT0); \
146 enc_round_end(ab ## 0, RX0, RY0, n); \
153 dec_round_end(ba ## 0, RX0, RY0, n); \
176 movq 4*(n)(in), xy ## 0; \
177 xorq w+4*m(CTX), xy ## 0; \
186 xorq w+4*m(CTX), xy ## 0; \
187 op ## q xy ## 0, 4*(n)(out); \
196 inpack3(RIO, 0, RAB, 0); \
201 outunpack3(op, RIO, 0, RCD, 4);
204 inpack3(RIO, 0, RAB, 4); \
217 outunpack3(mov, RIO, 0, RCD, 0); \
240 encrypt_cycle3(RAB, CD, 0);
294 decrypt_cycle3(RAB, CD, 0);