Lines Matching +full:16 +full:v
79 // d = ror32(d ^ a, 16);
84 add \c0, \c0, \d0, ror #16
85 add \c1, \c1, \d1, ror #16
101 eor \d0, \a0, \d0, ror#16
102 eor \d1, \a1, \d1, ror#16
113 // Execute one round of BLAKE2s by updating the state matrix v[0..15]. v[0..9]
115 // spilling v[8..9], then to v[9..15], then to the message block. r10-r12 and
132 // (v[0], v[4], v[8], v[12]) and (v[1], v[5], v[9], v[13]).
133 __ldrd r10, r11, sp, 16 // load v[12] and v[13]
137 __strd r10, r11, sp, 16
140 // (v[2], v[6], v[10], v[14]) and (v[3], v[7], v[11], v[15]).
141 __ldrd r8, r9, sp, 8 // load v[10] and v[11]
142 __ldrd r10, r11, sp, 24 // load v[14] and v[15]
145 str r10, [sp, #24] // store v[14]
146 // v[10], v[11], and v[15] are used below, so no need to store them yet.
152 // (v[0], v[5], v[10], v[15]) and (v[1], v[6], v[11], v[12]).
153 ldr r10, [sp, #16] // load v[12]
158 str r10, [sp, #16]
161 // (v[2], v[7], v[8], v[13]) and (v[3], v[4], v[9], v[14]).
162 __ldrd r8, r9, sp, 0 // load v[8] and v[9]
163 __ldrd r10, r11, sp, 20 // load v[13] and v[14]
209 // Calculate v[8..15]. Push v[9..15] onto the stack, and leave space
210 // for spilling v[8..9]. Leave v[8..9] in r8-r9.
216 eor r4, r4, r10 // v[12] = IV[4] ^ t[0]
217 eor r5, r5, r11 // v[13] = IV[5] ^ t[1]
218 eor r6, r6, r0 // v[14] = IV[6] ^ f[0]
219 eor r7, r7, r1 // v[15] = IV[7] ^ f[1]
220 push {r2-r7} // push v[9..15]
221 sub sp, sp, #8 // leave space for v[8..9]
223 // Load h[0..7] == v[0..7].
244 // h[i] ^= v[i] ^ v[i + 8];
247 add sp, sp, #8 // v[8..9] are already loaded.
248 pop {r10-r11} // load v[10..11]
260 pop {r8-r11} // load v[12..15]
299 orr r3, r3, r5, lsl #16