Lines Matching +full:4 +full:- +full:temp
1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * linux/arch/arm64/crypto/aes-neon.S - AES cipher for ARMv8 NEON
5 * Copyright (C) 2013 - 2017 Linaro Ltd. <ard.biesheuvel@linaro.org>
22 /* special case for the neon-bs driver calling into this one for CTS */
28 .macro mul_by_x, out, in, temp, const
29 sshr \temp, \in, #7
31 and \temp, \temp, \const
32 eor \out, \out, \temp
36 .macro mul_by_x2, out, in, temp, const
37 ushr \temp, \in, #6
39 pmul \temp, \temp, \const
40 eor \out, \out, \temp
44 .macro prepare, sbox, shiftrows, temp argument
46 ldr_l q13, \shiftrows, \temp
47 ldr_l q14, .Lror32by8, \temp
48 adr_l \temp, \sbox
49 ld1 {v16.16b-v19.16b}, [\temp], #64
50 ld1 {v20.16b-v23.16b}, [\temp], #64
51 ld1 {v24.16b-v27.16b}, [\temp], #64
52 ld1 {v28.16b-v31.16b}, [\temp]
56 .macro enc_prepare, ignore0, ignore1, temp argument
57 prepare crypto_aes_sbox, .LForward_ShiftRows, \temp
60 .macro enc_switch_key, ignore0, ignore1, temp argument
65 .macro dec_prepare, ignore0, ignore1, temp argument
66 prepare crypto_aes_inv_sbox, .LReverse_ShiftRows, \temp
72 tbl \in\().16b, {v16.16b-v19.16b}, \in\().16b
74 tbx \in\().16b, {v20.16b-v23.16b}, v9.16b
76 tbx \in\().16b, {v24.16b-v27.16b}, v10.16b
77 tbx \in\().16b, {v28.16b-v31.16b}, v11.16b
83 /* Inverse MixColumns: pre-multiply by { 5, 0, 4, 0 } */
99 ld1 {v15.4s}, [\rk]
107 ld1 {v15.4s}, [\rkp], #16
129 tbl \in0\().16b, {v16.16b-v19.16b}, \in0\().16b
131 tbl \in1\().16b, {v16.16b-v19.16b}, \in1\().16b
133 tbl \in2\().16b, {v16.16b-v19.16b}, \in2\().16b
135 tbl \in3\().16b, {v16.16b-v19.16b}, \in3\().16b
136 tbx \in0\().16b, {v20.16b-v23.16b}, v8.16b
137 tbx \in1\().16b, {v20.16b-v23.16b}, v9.16b
139 tbx \in2\().16b, {v20.16b-v23.16b}, v10.16b
141 tbx \in3\().16b, {v20.16b-v23.16b}, v11.16b
143 tbx \in0\().16b, {v24.16b-v27.16b}, v8.16b
145 tbx \in1\().16b, {v24.16b-v27.16b}, v9.16b
147 tbx \in2\().16b, {v24.16b-v27.16b}, v10.16b
149 tbx \in3\().16b, {v24.16b-v27.16b}, v11.16b
151 tbx \in0\().16b, {v28.16b-v31.16b}, v8.16b
153 tbx \in1\().16b, {v28.16b-v31.16b}, v9.16b
154 tbx \in2\().16b, {v28.16b-v31.16b}, v10.16b
155 tbx \in3\().16b, {v28.16b-v31.16b}, v11.16b
182 /* Inverse MixColumns: pre-multiply by { 5, 0, 4, 0 } */
206 ld1 {v15.4s}, [\rk]
220 ld1 {v15.4s}, [\rkp], #16
239 #include "aes-modes.S"
242 .align 4