Lines Matching +full:8 +full:v

103 	// d = ror32(d ^ a, 8);
108 add \c0, \c0, \d0, ror#8
109 add \c1, \c1, \d1, ror#8
116 // Execute one round of BLAKE2s by updating the state matrix v[0..15]. v[0..9]
117 // are in r0..r9. The stack pointer points to 8 bytes of scratch space for
118 // spilling v[8..9], then to v[9..15], then to the message block. r10-r12 and
130 // that they end up as (7, 8) after every round.
135 // (v[0], v[4], v[8], v[12]) and (v[1], v[5], v[9], v[13]).
136 __ldrd r10, r11, sp, 16 // load v[12] and v[13]
143 // (v[2], v[6], v[10], v[14]) and (v[3], v[7], v[11], v[15]).
144 __ldrd r8, r9, sp, 8 // load v[10] and v[11]
145 __ldrd r10, r11, sp, 24 // load v[14] and v[15]
148 str r10, [sp, #24] // store v[14]
149 // v[10], v[11], and v[15] are used below, so no need to store them yet.
152 .set drot, 8
155 // (v[0], v[5], v[10], v[15]) and (v[1], v[6], v[11], v[12]).
156 ldr r10, [sp, #16] // load v[12]
159 __strd r8, r9, sp, 8
164 // (v[2], v[7], v[8], v[13]) and (v[3], v[4], v[9], v[14]).
165 __ldrd r8, r9, sp, 0 // load v[8] and v[9]
166 __ldrd r10, r11, sp, 20 // load v[13] and v[14]
177 // u32 h[8]; (inout)
212 // Calculate v[8..15]. Push v[9..15] onto the stack, and leave space
213 // for spilling v[8..9]. Leave v[8..9] in r8-r9.
219 eor r4, r4, r10 // v[12] = IV[4] ^ t[0]
220 eor r5, r5, r11 // v[13] = IV[5] ^ t[1]
221 eor r6, r6, r0 // v[14] = IV[6] ^ f[0]
222 eor r7, r7, r1 // v[15] = IV[7] ^ f[1]
223 push {r2-r7} // push v[9..15]
224 sub sp, sp, #8 // leave space for v[8..9]
226 // Load h[0..7] == v[0..7].
233 _blake2s_round 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
234 _blake2s_round 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3
235 _blake2s_round 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4
236 _blake2s_round 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8
237 _blake2s_round 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13
238 _blake2s_round 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9
239 _blake2s_round 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11
240 _blake2s_round 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10
241 _blake2s_round 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5
242 _blake2s_round 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0
246 // for (i = 0; i < 8; i++)
247 // h[i] ^= v[i] ^ v[i + 8];
250 add sp, sp, #8 // v[8..9] are already loaded.
251 pop {r10-r11} // load v[10..11]
263 pop {r8-r11} // load v[12..15]
281 str r2, [sp, #8]
301 orr r3, r3, r4, lsl #8