Lines Matching +full:sub +full:- +full:blocks
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * linux/arch/arm64/crypto/aes-modes.S - chaining mode wrappers for AES
5 * Copyright (C) 2013 - 2017 Linaro Ltd <ard.biesheuvel@linaro.org>
8 /* included by aes-ce.S and aes-neon.S */
49 * int blocks)
51 * int blocks)
55 stp x29, x30, [sp, #-16]!
63 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
67 st1 {v0.16b-v3.16b}, [x0], #64
86 stp x29, x30, [sp, #-16]!
94 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
98 st1 {v0.16b-v3.16b}, [x0], #64
118 * int blocks, u8 iv[])
120 * int blocks, u8 iv[])
122 * int rounds, int blocks, u8 iv[],
125 * int rounds, int blocks, u8 iv[],
132 mov w8, #14 /* AES-256: 14 rounds */
145 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
154 st1 {v0.16b-v3.16b}, [x0], #64
174 stp x29, x30, [sp, #-16]!
179 mov w8, #14 /* AES-256: 14 rounds */
185 stp x29, x30, [sp, #-16]!
195 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
202 sub x1, x1, #32
215 sub x1, x1, #16
222 st1 {v0.16b-v3.16b}, [x0], #64
254 sub x4, x4, #16
257 sub x9, x9, x4
283 sub x4, x4, #16
286 sub x9, x9, x4
328 stp x29, x30, [sp, #-16]!
339 sub w4, w4, #MAX_STRIDE << 4
361 /* apply carry to N counter blocks for N := x12 */
364 sub x16, x16, x12, lsl #3
381 sub x7, x12, #MAX_STRIDE - 1
382 sub x8, x12, #MAX_STRIDE - 2
383 sub x9, x12, #MAX_STRIDE - 3
388 ST5( sub x10, x12, #MAX_STRIDE - 4 )
394 ld1 {v5.16b-v7.16b}, [x1], #48
400 ST5( ld1 {v5.16b-v6.16b}, [x1], #32 )
404 st1 {v0.16b-v3.16b}, [x0], #64
415 /* XOR up to MAX_STRIDE * 16 - 1 bytes of in/output with v0 ... v3/v4 */
420 ST5( cmp w4, #64 - (MAX_STRIDE << 4) )
422 cmp w4, #48 - (MAX_STRIDE << 4)
424 cmp w4, #32 - (MAX_STRIDE << 4)
426 cmp w4, #16 - (MAX_STRIDE << 4)
497 stp x29, x30, [sp, #-16]!
517 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 pt blocks */
530 st1 {v0.16b-v3.16b}, [x0], #64
561 sub x0, x0, #16
569 sub x9, x9, x4
584 stp x29, x30, [sp, #-16]!
588 sub w8, w4, #0x10
610 ld1 {v0.16b-v3.16b}, [x1], #64 /* get 4 ct blocks */
623 st1 {v0.16b-v3.16b}, [x0], #64
656 sub x9, x9, x4
679 * int blocks, u8 dg[], int enc_before, int enc_after)
691 ld1 {v1.16b-v4.16b}, [x0], #64 /* get next pt block */