Lines Matching +full:4 +full:x

31 #define X(n)	X ## n  macro
48 * They are used to handling the last bytes which are not multiple of 4.
67 #define FOR_EACH_WORD(x) \ argument
68 x( 0); \
69 x( 1); \
70 x( 2); \
71 x( 3); \
72 x( 4); \
73 x( 5); \
74 x( 6); \
75 x( 7); \
76 x( 8); \
77 x( 9); \
78 x(10); \
79 x(11); \
80 x(12); \
81 x(13); \
82 x(14); \
83 x(15);
85 #define FOR_EACH_WORD_REV(x) \ argument
86 x(15); \
87 x(14); \
88 x(13); \
89 x(12); \
90 x(11); \
91 x(10); \
92 x( 9); \
93 x( 8); \
94 x( 7); \
95 x( 6); \
96 x( 5); \
97 x( 4); \
98 x( 3); \
99 x( 2); \
100 x( 1); \
101 x( 0);
106 #define PLUS_ONE_3 4
119 #define PLUS_ONE(x) PLUS_ONE_ ## x argument
123 #define STORE_UNALIGNED(x) \ argument
124 CONCAT3(.Lchacha_mips_xor_unaligned_, PLUS_ONE(x), _b: ;) \
125 .if (x != 12); \
126 lw T0, (x*4)(STATE); \
128 lwl T1, (x*4)+MSB ## (IN); \
129 lwr T1, (x*4)+LSB ## (IN); \
130 .if (x == 12); \
131 addu X ## x, NONCE_0; \
133 addu X ## x, T0; \
135 CPU_TO_LE32(X ## x); \
136 xor X ## x, T1; \
137 swl X ## x, (x*4)+MSB ## (OUT); \
138 swr X ## x, (x*4)+LSB ## (OUT);
140 #define STORE_ALIGNED(x) \ argument
141 CONCAT3(.Lchacha_mips_xor_aligned_, PLUS_ONE(x), _b: ;) \
142 .if (x != 12); \
143 lw T0, (x*4)(STATE); \
145 lw T1, (x*4) ## (IN); \
146 .if (x == 12); \
147 addu X ## x, NONCE_0; \
149 addu X ## x, T0; \
151 CPU_TO_LE32(X ## x); \
152 xor X ## x, T1; \
153 sw X ## x, (x*4) ## (OUT);
156 * Used for setup and handling the last bytes, which are not multiple of 4.
160 #define JMPTBL_ALIGNED(x) \ argument
161 .Lchacha_mips_jmptbl_aligned_ ## x: ; \
163 b .Lchacha_mips_xor_aligned_ ## x ## _b; \
164 .if (x == 12); \
165 addu SAVED_X, X ## x, NONCE_0; \
167 addu SAVED_X, X ## x, SAVED_CA; \
171 #define JMPTBL_UNALIGNED(x) \ argument
172 .Lchacha_mips_jmptbl_unaligned_ ## x: ; \
174 b .Lchacha_mips_xor_unaligned_ ## x ## _b; \
175 .if (x == 12); \
176 addu SAVED_X, X ## x, NONCE_0; \
178 addu SAVED_X, X ## x, SAVED_CA; \
183 addu X(A), X(K); \
184 addu X(B), X(L); \
185 addu X(C), X(M); \
186 addu X(D), X(N); \
187 xor X(V), X(A); \
188 xor X(W), X(B); \
189 xor X(Y), X(C); \
190 xor X(Z), X(D); \
191 rotr X(V), 32 - S; \
192 rotr X(W), 32 - S; \
193 rotr X(Y), 32 - S; \
194 rotr X(Z), 32 - S;
216 sw $s1, 4($sp)
232 .align 4
240 lw X1, 4(STATE)
260 AXR( 0, 1, 2, 3, 4, 5, 6, 7, 12,13,14,15, 16);
261 AXR( 8, 9,10,11, 12,13,14,15, 4, 5, 6, 7, 12);
262 AXR( 0, 1, 2, 3, 4, 5, 6, 7, 12,13,14,15, 8);
263 AXR( 8, 9,10,11, 12,13,14,15, 4, 5, 6, 7, 7);
264 AXR( 0, 1, 2, 3, 5, 6, 7, 4, 15,12,13,14, 16);
265 AXR(10,11, 8, 9, 15,12,13,14, 5, 6, 7, 4, 12);
266 AXR( 0, 1, 2, 3, 5, 6, 7, 4, 15,12,13,14, 8);
267 AXR(10,11, 8, 9, 15,12,13,14, 5, 6, 7, 4, 7);
295 lw $s1, 4($sp)
448 lw X1, 4(STATE)
466 AXR( 0, 1, 2, 3, 4, 5, 6, 7, 12,13,14,15, 16);
467 AXR( 8, 9,10,11, 12,13,14,15, 4, 5, 6, 7, 12);
468 AXR( 0, 1, 2, 3, 4, 5, 6, 7, 12,13,14,15, 8);
469 AXR( 8, 9,10,11, 12,13,14,15, 4, 5, 6, 7, 7);
470 AXR( 0, 1, 2, 3, 5, 6, 7, 4, 15,12,13,14, 16);
471 AXR(10,11, 8, 9, 15,12,13,14, 5, 6, 7, 4, 12);
472 AXR( 0, 1, 2, 3, 5, 6, 7, 4, 15,12,13,14, 8);
473 AXR(10,11, 8, 9, 15,12,13,14, 5, 6, 7, 4, 7);
480 sw X1, 4(OUT)