Lines Matching +full:1 +full:v0
26 encrypt_block4x v0, v1, v2, v3, w3, x2, x8, w7
31 decrypt_block4x v0, v1, v2, v3, w3, x2, x8, w7
37 encrypt_block5x v0, v1, v2, v3, v4, w3, x2, x8, w7
42 decrypt_block5x v0, v1, v2, v3, v4, w3, x2, x8, w7
62 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
66 st1 {v0.16b-v3.16b}, [x0], #64
73 ld1 {v0.16b}, [x1], #16 /* get next pt block */
74 encrypt_block v0, w3, x2, x5, w6
75 st1 {v0.16b}, [x0], #16
76 subs w4, w4, #1
92 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
96 st1 {v0.16b-v3.16b}, [x0], #64
103 ld1 {v0.16b}, [x1], #16 /* get next ct block */
104 decrypt_block v0, w3, x2, x5, w6
105 st1 {v0.16b}, [x0], #16
106 subs w4, w4, #1
143 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
144 eor v0.16b, v0.16b, v4.16b /* ..and xor with iv */
145 encrypt_block v0, w3, x2, x6, w7
146 eor v1.16b, v1.16b, v0.16b
152 st1 {v0.16b-v3.16b}, [x0], #64
159 ld1 {v0.16b}, [x1], #16 /* get next pt block */
160 eor v4.16b, v4.16b, v0.16b /* ..and xor with iv */
163 subs w4, w4, #1
188 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
190 ld1 {v4.16b}, [x1], #16 /* get 1 ct block */
191 mov v5.16b, v0.16b
196 eor v0.16b, v0.16b, cbciv.16b
198 ld1 {v5.16b}, [x1], #16 /* reload 1 ct block */
199 ld1 {cbciv.16b}, [x1], #16 /* reload 1 ct block */
204 mov v4.16b, v0.16b
209 eor v0.16b, v0.16b, cbciv.16b
211 ld1 {cbciv.16b}, [x1], #16 /* reload 1 ct block */
215 st1 {v0.16b-v3.16b}, [x0], #64
223 mov v0.16b, v1.16b /* ...and copy to v0 */
224 decrypt_block v0, w3, x2, x6, w7
225 eor v0.16b, v0.16b, cbciv.16b /* xor with iv => pt */
227 st1 {v0.16b}, [x0], #16
228 subs w4, w4, #1
254 ld1 {v0.16b}, [x1], x4 /* overlapping loads */
260 eor v0.16b, v0.16b, v5.16b /* xor with iv */
262 encrypt_block v0, w3, x2, x6, w7
264 eor v1.16b, v1.16b, v0.16b
265 tbl v0.16b, {v0.16b}, v3.16b
269 st1 {v0.16b}, [x4] /* overlapping stores */
283 ld1 {v0.16b}, [x1], x4 /* overlapping loads */
289 decrypt_block v0, w3, x2, x6, w7
290 tbl v2.16b, {v0.16b}, v3.16b
293 tbx v0.16b, {v1.16b}, v4.16b
294 decrypt_block v0, w3, x2, x6, w7
295 eor v0.16b, v0.16b, v5.16b /* xor with iv */
299 st1 {v0.16b}, [x0]
347 umov IV_PART, vctr.d[1]
360 * Set up the counter values in v0-v{MAX_STRIDE-1}.
364 * v{MAX_STRIDE-1}. For example: if encrypting two blocks with
372 mov v0.16b, vctr.16b
378 sub x6, CTR, #MAX_STRIDE - 1
388 mov v0.d[0], x6
395 .subsection 1
408 add x8, x8, #1
420 adr x16, 1f
424 mov v0.d[0], vctr.d[0]
433 1: b 2f
437 ins vctr.d[1], x7
438 sub x7, IV_PART, #MAX_STRIDE - 1
443 mov v1.d[1], x7
446 mov v2.d[1], x8
448 mov v3.d[1], x9
449 ST5( mov v4.d[1], x10 )
460 eor v0.16b, v5.16b, v0.16b
467 st1 {v0.16b-v3.16b}, [OUT], #64
481 * Handle up to MAX_STRIDE * 16 - 1 bytes of plaintext
483 * This code expects the last keystream block to be in v{MAX_STRIDE-1}.
519 ST4( eor v6.16b, v6.16b, v0.16b )
525 ST5( eor v5.16b, v5.16b, v0.16b )
614 ctr_encrypt 1
659 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
661 eor v0.16b, v0.16b, v4.16b
669 eor v0.16b, v0.16b, v4.16b
672 st1 {v0.16b-v3.16b}, [x0], #64
683 ld1 {v0.16b}, [x1], #16
685 eor v0.16b, v0.16b, v4.16b
686 encrypt_block v0, w3, x2, x8, w7
687 eor v0.16b, v0.16b, v4.16b
692 st1 {v0.16b}, [x0], #16
695 st1 {v0.16b}, [x0]
702 mov v0.16b, v3.16b
718 tbl v2.16b, {v0.16b}, v2.16b
719 tbx v0.16b, {v1.16b}, v3.16b
751 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
753 eor v0.16b, v0.16b, v4.16b
761 eor v0.16b, v0.16b, v4.16b
764 st1 {v0.16b-v3.16b}, [x0], #64
774 ld1 {v0.16b}, [x1], #16
777 eor v0.16b, v0.16b, v4.16b
778 decrypt_block v0, w3, x2, x8, w7
779 eor v0.16b, v0.16b, v4.16b
780 st1 {v0.16b}, [x0], #16
806 eor v0.16b, v0.16b, v5.16b
807 decrypt_block v0, w3, x2, x8, w7
808 eor v0.16b, v0.16b, v5.16b
810 tbl v2.16b, {v0.16b}, v2.16b
811 tbx v0.16b, {v1.16b}, v3.16b
823 ld1 {v0.16b}, [x4] /* get dg */
827 encrypt_block v0, w2, x1, x7, w8
833 eor v0.16b, v0.16b, v1.16b /* ..and xor with dg */
834 encrypt_block v0, w2, x1, x7, w8
835 eor v0.16b, v0.16b, v2.16b
836 encrypt_block v0, w2, x1, x7, w8
837 eor v0.16b, v0.16b, v3.16b
838 encrypt_block v0, w2, x1, x7, w8
839 eor v0.16b, v0.16b, v4.16b
843 encrypt_block v0, w2, x1, x7, w8
844 st1 {v0.16b}, [x4] /* return dg */
852 eor v0.16b, v0.16b, v1.16b /* ..and xor with dg */
854 subs w3, w3, #1
859 encrypt_block v0, w2, x1, x7, w8
863 st1 {v0.16b}, [x4] /* return dg */