Lines Matching +full:4 +full:c

3 *   Copyright (C) 2006 by Joachim Fritschi, <jfritschi@freenet.de>        *
17 #define ctx 4 /* Twofish context structure */
20 #define b_offset 4
63 * c input register containing c
67 #define encrypt_round(a,b,c,d,round)\ argument
70 mov s1(%ebp,%edi,4),d ## D;\
72 mov s2(%ebp,%edi,4),%esi;\
75 xor s2(%ebp,%edi,4),d ## D;\
78 xor s3(%ebp,%edi,4),%esi;\
80 xor s3(%ebp,%edi,4),d ## D;\
82 xor (%ebp,%edi,4), %esi;\
85 xor (%ebp,%edi,4), d ## D;\
87 xor s1(%ebp,%edi,4),%esi;\
92 xor %esi, c ## D;\
93 rol $15, c ## D;\
94 add k+4+round(%ebp),d ## D;\
100 * c input register containing c
105 #define encrypt_last_round(a,b,c,d,round)\ argument
108 mov s1(%ebp,%edi,4),d ## D;\
110 mov s2(%ebp,%edi,4),%esi;\
113 xor s2(%ebp,%edi,4),d ## D;\
116 xor s3(%ebp,%edi,4),%esi;\
118 xor s3(%ebp,%edi,4),d ## D;\
120 xor (%ebp,%edi,4), %esi;\
123 xor (%ebp,%edi,4), d ## D;\
125 xor s1(%ebp,%edi,4),%esi;\
130 xor %esi, c ## D;\
131 ror $1, c ## D;\
132 add k+4+round(%ebp),d ## D;\
138 * c input register containing c
142 #define decrypt_round(a,b,c,d,round)\ argument
143 push c ## D;\
145 mov (%ebp,%edi,4), c ## D;\
147 mov s3(%ebp,%edi,4),%esi;\
150 xor s1(%ebp,%edi,4),c ## D;\
153 xor (%ebp,%edi,4), %esi;\
155 xor s2(%ebp,%edi,4),c ## D;\
157 xor s1(%ebp,%edi,4),%esi;\
160 xor s3(%ebp,%edi,4),c ## D;\
162 xor s2(%ebp,%edi,4),%esi;\
164 add %esi, c ## D;\
165 add c ## D, %esi;\
166 add k+round(%ebp), c ## D;\
167 xor %edi, c ## D;\
168 add k+4+round(%ebp),%esi;\
175 * c input register containing c
180 #define decrypt_last_round(a,b,c,d,round)\ argument
181 push c ## D;\
183 mov (%ebp,%edi,4), c ## D;\
185 mov s3(%ebp,%edi,4),%esi;\
188 xor s1(%ebp,%edi,4),c ## D;\
191 xor (%ebp,%edi,4), %esi;\
193 xor s2(%ebp,%edi,4),c ## D;\
195 xor s1(%ebp,%edi,4),%esi;\
198 xor s3(%ebp,%edi,4),c ## D;\
200 xor s2(%ebp,%edi,4),%esi;\
202 add %esi, c ## D;\
203 add c ## D, %esi;\
204 add k+round(%ebp), c ## D;\
205 xor %edi, c ## D;\
206 add k+4+round(%ebp),%esi;\
235 encrypt_round(R0,R1,R2,R3,4*8);
299 decrypt_round(R2,R3,R0,R1,4*8);