Lines Matching +full:2 +full:- +full:8

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * sha3-ce-core.S - core SHA-3 transform using v8.2 Crypto Extensions
8 * it under the terms of the GNU General Public License version 2 as
15 .irp b,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
16 .set .Lv\b\().2d, \b
21 * ARMv8.2 Crypto Extensions instructions
46 ld1 { v0.1d- v3.1d}, [x0]
47 ld1 { v4.1d- v7.1d}, [x8], #32
48 ld1 { v8.1d-v11.1d}, [x8], #32
49 ld1 {v12.1d-v15.1d}, [x8], #32
50 ld1 {v16.1d-v19.1d}, [x8], #32
51 ld1 {v20.1d-v23.1d}, [x8], #32
59 ld1 {v25.8b-v28.8b}, [x1], #32
60 ld1 {v29.8b-v31.8b}, [x1], #24
61 eor v0.8b, v0.8b, v25.8b
62 eor v1.8b, v1.8b, v26.8b
63 eor v2.8b, v2.8b, v27.8b
64 eor v3.8b, v3.8b, v28.8b
65 eor v4.8b, v4.8b, v29.8b
66 eor v5.8b, v5.8b, v30.8b
67 eor v6.8b, v6.8b, v31.8b
69 tbnz x3, #6, 2f // SHA3-512
71 ld1 {v25.8b-v28.8b}, [x1], #32
72 ld1 {v29.8b-v30.8b}, [x1], #16
73 eor v7.8b, v7.8b, v25.8b
74 eor v8.8b, v8.8b, v26.8b
75 eor v9.8b, v9.8b, v27.8b
76 eor v10.8b, v10.8b, v28.8b
77 eor v11.8b, v11.8b, v29.8b
78 eor v12.8b, v12.8b, v30.8b
80 tbnz x3, #4, 1f // SHA3-384 or SHA3-224
82 // SHA3-256
83 ld1 {v25.8b-v28.8b}, [x1], #32
84 eor v13.8b, v13.8b, v25.8b
85 eor v14.8b, v14.8b, v26.8b
86 eor v15.8b, v15.8b, v27.8b
87 eor v16.8b, v16.8b, v28.8b
90 1: tbz x3, #2, 3f // bit 2 cleared? SHA-384
92 // SHA3-224
93 ld1 {v25.8b-v28.8b}, [x1], #32
94 ld1 {v29.8b}, [x1], #8
95 eor v13.8b, v13.8b, v25.8b
96 eor v14.8b, v14.8b, v26.8b
97 eor v15.8b, v15.8b, v27.8b
98 eor v16.8b, v16.8b, v28.8b
99 eor v17.8b, v17.8b, v29.8b
102 // SHA3-512
103 2: ld1 {v25.8b-v26.8b}, [x1], #16
104 eor v7.8b, v7.8b, v25.8b
105 eor v8.8b, v8.8b, v26.8b
120 rax1 v30.2d, v29.2d, v26.2d // bc[0]
121 rax1 v26.2d, v26.2d, v28.2d // bc[2]
122 rax1 v28.2d, v28.2d, v25.2d // bc[4]
123 rax1 v25.2d, v25.2d, v27.2d // bc[1]
124 rax1 v27.2d, v27.2d, v29.2d // bc[3]
127 xar v29.2d, v1.2d, v25.2d, (64 - 1)
128 xar v1.2d, v6.2d, v25.2d, (64 - 44)
129 xar v6.2d, v9.2d, v28.2d, (64 - 20)
130 xar v9.2d, v22.2d, v26.2d, (64 - 61)
131 xar v22.2d, v14.2d, v28.2d, (64 - 39)
132 xar v14.2d, v20.2d, v30.2d, (64 - 18)
133 xar v31.2d, v2.2d, v26.2d, (64 - 62)
134 xar v2.2d, v12.2d, v26.2d, (64 - 43)
135 xar v12.2d, v13.2d, v27.2d, (64 - 25)
136 xar v13.2d, v19.2d, v28.2d, (64 - 8)
137 xar v19.2d, v23.2d, v27.2d, (64 - 56)
138 xar v23.2d, v15.2d, v30.2d, (64 - 41)
139 xar v15.2d, v4.2d, v28.2d, (64 - 27)
140 xar v28.2d, v24.2d, v28.2d, (64 - 14)
141 xar v24.2d, v21.2d, v25.2d, (64 - 2)
142 xar v8.2d, v8.2d, v27.2d, (64 - 55)
143 xar v4.2d, v16.2d, v25.2d, (64 - 45)
144 xar v16.2d, v5.2d, v30.2d, (64 - 36)
145 xar v5.2d, v3.2d, v27.2d, (64 - 28)
146 xar v27.2d, v18.2d, v27.2d, (64 - 21)
147 xar v3.2d, v17.2d, v26.2d, (64 - 15)
148 xar v25.2d, v11.2d, v25.2d, (64 - 10)
149 xar v26.2d, v7.2d, v26.2d, (64 - 6)
150 xar v30.2d, v10.2d, v30.2d, (64 - 3)
158 ld1r {v31.2d}, [x9], #8
191 4: st1 { v0.1d- v3.1d}, [x0], #32
192 st1 { v4.1d- v7.1d}, [x0], #32
193 st1 { v8.1d-v11.1d}, [x0], #32
194 st1 {v12.1d-v15.1d}, [x0], #32
195 st1 {v16.1d-v19.1d}, [x0], #32
196 st1 {v20.1d-v23.1d}, [x0], #32
203 .align 8