Lines Matching +full:4 +full:a

17 #define ctx       4  /* Twofish context structure */
20 #define b_offset 4
33 /* define a few register aliases to allow macro substitution */
61 * a input register containing a (rotated 16)
65 * operations on a and b are interleaved to increase performance
67 #define encrypt_round(a,b,c,d,round)\ argument
70 mov s1(%ebp,%edi,4),d ## D;\
71 movzx a ## B, %edi;\
72 mov s2(%ebp,%edi,4),%esi;\
75 xor s2(%ebp,%edi,4),d ## D;\
76 movzx a ## H, %edi;\
77 ror $16, a ## D;\
78 xor s3(%ebp,%edi,4),%esi;\
80 xor s3(%ebp,%edi,4),d ## D;\
81 movzx a ## B, %edi;\
82 xor (%ebp,%edi,4), %esi;\
85 xor (%ebp,%edi,4), d ## D;\
86 movzx a ## H, %edi;\
87 xor s1(%ebp,%edi,4),%esi;\
94 add k+4+round(%ebp),d ## D;\
98 * a input register containing a (rotated 16)
102 * operations on a and b are interleaved to increase performance
105 #define encrypt_last_round(a,b,c,d,round)\ argument
108 mov s1(%ebp,%edi,4),d ## D;\
109 movzx a ## B, %edi;\
110 mov s2(%ebp,%edi,4),%esi;\
113 xor s2(%ebp,%edi,4),d ## D;\
114 movzx a ## H, %edi;\
115 ror $16, a ## D;\
116 xor s3(%ebp,%edi,4),%esi;\
118 xor s3(%ebp,%edi,4),d ## D;\
119 movzx a ## B, %edi;\
120 xor (%ebp,%edi,4), %esi;\
123 xor (%ebp,%edi,4), d ## D;\
124 movzx a ## H, %edi;\
125 xor s1(%ebp,%edi,4),%esi;\
132 add k+4+round(%ebp),d ## D;\
136 * a input register containing a
140 * operations on a and b are interleaved to increase performance
142 #define decrypt_round(a,b,c,d,round)\ argument
144 movzx a ## B, %edi;\
145 mov (%ebp,%edi,4), c ## D;\
147 mov s3(%ebp,%edi,4),%esi;\
148 movzx a ## H, %edi;\
149 ror $16, a ## D;\
150 xor s1(%ebp,%edi,4),c ## D;\
153 xor (%ebp,%edi,4), %esi;\
154 movzx a ## B, %edi;\
155 xor s2(%ebp,%edi,4),c ## D;\
157 xor s1(%ebp,%edi,4),%esi;\
158 movzx a ## H, %edi;\
159 ror $15, a ## D;\
160 xor s3(%ebp,%edi,4),c ## D;\
162 xor s2(%ebp,%edi,4),%esi;\
168 add k+4+round(%ebp),%esi;\
173 * a input register containing a
177 * operations on a and b are interleaved to increase performance
180 #define decrypt_last_round(a,b,c,d,round)\ argument
182 movzx a ## B, %edi;\
183 mov (%ebp,%edi,4), c ## D;\
185 mov s3(%ebp,%edi,4),%esi;\
186 movzx a ## H, %edi;\
187 ror $16, a ## D;\
188 xor s1(%ebp,%edi,4),c ## D;\
191 xor (%ebp,%edi,4), %esi;\
192 movzx a ## B, %edi;\
193 xor s2(%ebp,%edi,4),c ## D;\
195 xor s1(%ebp,%edi,4),%esi;\
196 movzx a ## H, %edi;\
197 ror $16, a ## D;\
198 xor s3(%ebp,%edi,4),c ## D;\
200 xor s2(%ebp,%edi,4),%esi;\
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);