Lines Matching +full:a +full:- +full:h

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
7 .file "twofish-x86_64-asm.S"
10 #include <linux/linkage.h>
11 #include <asm/asm-offsets.h>
25 #define k 4128 /* key 1-32 ( word ) */
27 /* define a few register aliases to allow macro substitution */
60 * a input register containing a (rotated 16)
64 * operations on a and b are interleaved to increase performance
66 #define encrypt_round(a,b,c,d,round)\ argument
69 movzx a ## B, %edi;\
71 movzx b ## H, %edi;\
74 movzx a ## H, %edi;\
75 ror $16, a ## D;\
79 movzx a ## B, %edi;\
81 movzx b ## H, %edi;\
84 movzx a ## H, %edi;\
95 * a input register containing a(rotated 16)
99 * operations on a and b are interleaved to increase performance
100 * during the round a and b are prepared for the output whitening
102 #define encrypt_last_round(a,b,c,d,round)\ argument
107 movzx a ## B, %edi;\
109 movzx b ## H, %edi;\
112 movzx a ## H, %edi;\
113 ror $16, a ## D;\
117 movzx a ## B, %edi;\
119 xor a, %r10;\
120 movzx b ## H, %edi;\
122 movzx a ## H, %edi;\
133 * a input register containing a
137 * operations on a and b are interleaved to increase performance
139 #define decrypt_round(a,b,c,d,round)\ argument
140 movzx a ## B, %edi;\
144 movzx a ## H, %edi;\
145 ror $16, a ## D;\
147 movzx b ## H, %edi;\
150 movzx a ## B, %edi;\
154 movzx a ## H, %edi;\
155 ror $15, a ## D;\
157 movzx b ## H, %edi;\
168 * a input register containing a
172 * operations on a and b are interleaved to increase performance
173 * during the round a and b are prepared for the output whitening
175 #define decrypt_last_round(a,b,c,d,round)\ argument
176 movzx a ## B, %edi;\
180 movzx b ## H, %edi;\
183 movzx a ## H, %edi;\
186 xor a, %r10;\
187 ror $16, a ## D;\
191 movzx a ## B, %edi;\
193 movzx b ## H, %edi;\
195 movzx a ## H, %edi;\
211 /* ctx address is moved to free one non-rex register
264 /* ctx address is moved to free one non-rex register