Lines Matching +full:in3 +full:- +full:in2
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 */
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]
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 } */
127 .macro sub_bytes_4x, in0, in1, in2, in3 argument
129 tbl \in0\().16b, {v16.16b-v19.16b}, \in0\().16b
131 tbl \in1\().16b, {v16.16b-v19.16b}, \in1\().16b
132 sub v10.16b, \in2\().16b, v15.16b
133 tbl \in2\().16b, {v16.16b-v19.16b}, \in2\().16b
134 sub v11.16b, \in3\().16b, v15.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 } */
205 .macro do_block_4x, enc, in0, in1, in2, in3, rounds, rk, rkp, i
211 eor \in2\().16b, \in2\().16b, v15.16b /* ^round key */
212 eor \in3\().16b, \in3\().16b, v15.16b /* ^round key */
216 tbl \in2\().16b, {\in2\().16b}, v13.16b /* ShiftRows */
217 tbl \in3\().16b, {\in3\().16b}, v13.16b /* ShiftRows */
218 sub_bytes_4x \in0, \in1, \in2, \in3
223 mix_columns_2x \in2, \in3, \enc
227 eor \in2\().16b, \in2\().16b, v15.16b /* ^round key */
228 eor \in3\().16b, \in3\().16b, v15.16b /* ^round key */
231 .macro encrypt_block4x, in0, in1, in2, in3, rounds, rk, rkp, i
232 do_block_4x 1, \in0, \in1, \in2, \in3, \rounds, \rk, \rkp, \i
235 .macro decrypt_block4x, in0, in1, in2, in3, rounds, rk, rkp, i
236 do_block_4x 0, \in0, \in1, \in2, \in3, \rounds, \rk, \rkp, \i
239 #include "aes-modes.S"