Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(15)

Side by Side Diff: third_party/boringssl/linux-aarch64/crypto/sha/sha512-armv8.S

Issue 862133002: Update from https://crrev.com/312398 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 #include "arm_arch.h"
2
3 .text
4
5 .globl sha512_block_data_order
6 .type sha512_block_data_order,%function
7 .align 6
8 sha512_block_data_order:
9 stp x29,x30,[sp,#-128]!
10 add x29,sp,#0
11
12 stp x19,x20,[sp,#16]
13 stp x21,x22,[sp,#32]
14 stp x23,x24,[sp,#48]
15 stp x25,x26,[sp,#64]
16 stp x27,x28,[sp,#80]
17 sub sp,sp,#4*8
18
19 ldp x20,x21,[x0] // load context
20 ldp x22,x23,[x0,#2*8]
21 ldp x24,x25,[x0,#4*8]
22 add x2,x1,x2,lsl#7 // end of input
23 ldp x26,x27,[x0,#6*8]
24 adr x30,K512
25 stp x0,x2,[x29,#96]
26
27 .Loop:
28 ldp x3,x4,[x1],#2*8
29 ldr x19,[x30],#8 // *K++
30 eor x28,x21,x22 // magic seed
31 str x1,[x29,#112]
32 #ifndef __ARMEB__
33 rev x3,x3 // 0
34 #endif
35 ror x16,x24,#14
36 add x27,x27,x19 // h+=K[i]
37 eor x6,x24,x24,ror#23
38 and x17,x25,x24
39 bic x19,x26,x24
40 add x27,x27,x3 // h+=X[i]
41 orr x17,x17,x19 // Ch(e,f,g)
42 eor x19,x20,x21 // a^b, b^c in next round
43 eor x16,x16,x6,ror#18 // Sigma1(e)
44 ror x6,x20,#28
45 add x27,x27,x17 // h+=Ch(e,f,g)
46 eor x17,x20,x20,ror#5
47 add x27,x27,x16 // h+=Sigma1(e)
48 and x28,x28,x19 // (b^c)&=(a^b)
49 add x23,x23,x27 // d+=h
50 eor x28,x28,x21 // Maj(a,b,c)
51 eor x17,x6,x17,ror#34 // Sigma0(a)
52 add x27,x27,x28 // h+=Maj(a,b,c)
53 ldr x28,[x30],#8 // *K++, x19 in next round
54 //add x27,x27,x17 // h+=Sigma0(a)
55 #ifndef __ARMEB__
56 rev x4,x4 // 1
57 #endif
58 ldp x5,x6,[x1],#2*8
59 add x27,x27,x17 // h+=Sigma0(a)
60 ror x16,x23,#14
61 add x26,x26,x28 // h+=K[i]
62 eor x7,x23,x23,ror#23
63 and x17,x24,x23
64 bic x28,x25,x23
65 add x26,x26,x4 // h+=X[i]
66 orr x17,x17,x28 // Ch(e,f,g)
67 eor x28,x27,x20 // a^b, b^c in next round
68 eor x16,x16,x7,ror#18 // Sigma1(e)
69 ror x7,x27,#28
70 add x26,x26,x17 // h+=Ch(e,f,g)
71 eor x17,x27,x27,ror#5
72 add x26,x26,x16 // h+=Sigma1(e)
73 and x19,x19,x28 // (b^c)&=(a^b)
74 add x22,x22,x26 // d+=h
75 eor x19,x19,x20 // Maj(a,b,c)
76 eor x17,x7,x17,ror#34 // Sigma0(a)
77 add x26,x26,x19 // h+=Maj(a,b,c)
78 ldr x19,[x30],#8 // *K++, x28 in next round
79 //add x26,x26,x17 // h+=Sigma0(a)
80 #ifndef __ARMEB__
81 rev x5,x5 // 2
82 #endif
83 add x26,x26,x17 // h+=Sigma0(a)
84 ror x16,x22,#14
85 add x25,x25,x19 // h+=K[i]
86 eor x8,x22,x22,ror#23
87 and x17,x23,x22
88 bic x19,x24,x22
89 add x25,x25,x5 // h+=X[i]
90 orr x17,x17,x19 // Ch(e,f,g)
91 eor x19,x26,x27 // a^b, b^c in next round
92 eor x16,x16,x8,ror#18 // Sigma1(e)
93 ror x8,x26,#28
94 add x25,x25,x17 // h+=Ch(e,f,g)
95 eor x17,x26,x26,ror#5
96 add x25,x25,x16 // h+=Sigma1(e)
97 and x28,x28,x19 // (b^c)&=(a^b)
98 add x21,x21,x25 // d+=h
99 eor x28,x28,x27 // Maj(a,b,c)
100 eor x17,x8,x17,ror#34 // Sigma0(a)
101 add x25,x25,x28 // h+=Maj(a,b,c)
102 ldr x28,[x30],#8 // *K++, x19 in next round
103 //add x25,x25,x17 // h+=Sigma0(a)
104 #ifndef __ARMEB__
105 rev x6,x6 // 3
106 #endif
107 ldp x7,x8,[x1],#2*8
108 add x25,x25,x17 // h+=Sigma0(a)
109 ror x16,x21,#14
110 add x24,x24,x28 // h+=K[i]
111 eor x9,x21,x21,ror#23
112 and x17,x22,x21
113 bic x28,x23,x21
114 add x24,x24,x6 // h+=X[i]
115 orr x17,x17,x28 // Ch(e,f,g)
116 eor x28,x25,x26 // a^b, b^c in next round
117 eor x16,x16,x9,ror#18 // Sigma1(e)
118 ror x9,x25,#28
119 add x24,x24,x17 // h+=Ch(e,f,g)
120 eor x17,x25,x25,ror#5
121 add x24,x24,x16 // h+=Sigma1(e)
122 and x19,x19,x28 // (b^c)&=(a^b)
123 add x20,x20,x24 // d+=h
124 eor x19,x19,x26 // Maj(a,b,c)
125 eor x17,x9,x17,ror#34 // Sigma0(a)
126 add x24,x24,x19 // h+=Maj(a,b,c)
127 ldr x19,[x30],#8 // *K++, x28 in next round
128 //add x24,x24,x17 // h+=Sigma0(a)
129 #ifndef __ARMEB__
130 rev x7,x7 // 4
131 #endif
132 add x24,x24,x17 // h+=Sigma0(a)
133 ror x16,x20,#14
134 add x23,x23,x19 // h+=K[i]
135 eor x10,x20,x20,ror#23
136 and x17,x21,x20
137 bic x19,x22,x20
138 add x23,x23,x7 // h+=X[i]
139 orr x17,x17,x19 // Ch(e,f,g)
140 eor x19,x24,x25 // a^b, b^c in next round
141 eor x16,x16,x10,ror#18 // Sigma1(e)
142 ror x10,x24,#28
143 add x23,x23,x17 // h+=Ch(e,f,g)
144 eor x17,x24,x24,ror#5
145 add x23,x23,x16 // h+=Sigma1(e)
146 and x28,x28,x19 // (b^c)&=(a^b)
147 add x27,x27,x23 // d+=h
148 eor x28,x28,x25 // Maj(a,b,c)
149 eor x17,x10,x17,ror#34 // Sigma0(a)
150 add x23,x23,x28 // h+=Maj(a,b,c)
151 ldr x28,[x30],#8 // *K++, x19 in next round
152 //add x23,x23,x17 // h+=Sigma0(a)
153 #ifndef __ARMEB__
154 rev x8,x8 // 5
155 #endif
156 ldp x9,x10,[x1],#2*8
157 add x23,x23,x17 // h+=Sigma0(a)
158 ror x16,x27,#14
159 add x22,x22,x28 // h+=K[i]
160 eor x11,x27,x27,ror#23
161 and x17,x20,x27
162 bic x28,x21,x27
163 add x22,x22,x8 // h+=X[i]
164 orr x17,x17,x28 // Ch(e,f,g)
165 eor x28,x23,x24 // a^b, b^c in next round
166 eor x16,x16,x11,ror#18 // Sigma1(e)
167 ror x11,x23,#28
168 add x22,x22,x17 // h+=Ch(e,f,g)
169 eor x17,x23,x23,ror#5
170 add x22,x22,x16 // h+=Sigma1(e)
171 and x19,x19,x28 // (b^c)&=(a^b)
172 add x26,x26,x22 // d+=h
173 eor x19,x19,x24 // Maj(a,b,c)
174 eor x17,x11,x17,ror#34 // Sigma0(a)
175 add x22,x22,x19 // h+=Maj(a,b,c)
176 ldr x19,[x30],#8 // *K++, x28 in next round
177 //add x22,x22,x17 // h+=Sigma0(a)
178 #ifndef __ARMEB__
179 rev x9,x9 // 6
180 #endif
181 add x22,x22,x17 // h+=Sigma0(a)
182 ror x16,x26,#14
183 add x21,x21,x19 // h+=K[i]
184 eor x12,x26,x26,ror#23
185 and x17,x27,x26
186 bic x19,x20,x26
187 add x21,x21,x9 // h+=X[i]
188 orr x17,x17,x19 // Ch(e,f,g)
189 eor x19,x22,x23 // a^b, b^c in next round
190 eor x16,x16,x12,ror#18 // Sigma1(e)
191 ror x12,x22,#28
192 add x21,x21,x17 // h+=Ch(e,f,g)
193 eor x17,x22,x22,ror#5
194 add x21,x21,x16 // h+=Sigma1(e)
195 and x28,x28,x19 // (b^c)&=(a^b)
196 add x25,x25,x21 // d+=h
197 eor x28,x28,x23 // Maj(a,b,c)
198 eor x17,x12,x17,ror#34 // Sigma0(a)
199 add x21,x21,x28 // h+=Maj(a,b,c)
200 ldr x28,[x30],#8 // *K++, x19 in next round
201 //add x21,x21,x17 // h+=Sigma0(a)
202 #ifndef __ARMEB__
203 rev x10,x10 // 7
204 #endif
205 ldp x11,x12,[x1],#2*8
206 add x21,x21,x17 // h+=Sigma0(a)
207 ror x16,x25,#14
208 add x20,x20,x28 // h+=K[i]
209 eor x13,x25,x25,ror#23
210 and x17,x26,x25
211 bic x28,x27,x25
212 add x20,x20,x10 // h+=X[i]
213 orr x17,x17,x28 // Ch(e,f,g)
214 eor x28,x21,x22 // a^b, b^c in next round
215 eor x16,x16,x13,ror#18 // Sigma1(e)
216 ror x13,x21,#28
217 add x20,x20,x17 // h+=Ch(e,f,g)
218 eor x17,x21,x21,ror#5
219 add x20,x20,x16 // h+=Sigma1(e)
220 and x19,x19,x28 // (b^c)&=(a^b)
221 add x24,x24,x20 // d+=h
222 eor x19,x19,x22 // Maj(a,b,c)
223 eor x17,x13,x17,ror#34 // Sigma0(a)
224 add x20,x20,x19 // h+=Maj(a,b,c)
225 ldr x19,[x30],#8 // *K++, x28 in next round
226 //add x20,x20,x17 // h+=Sigma0(a)
227 #ifndef __ARMEB__
228 rev x11,x11 // 8
229 #endif
230 add x20,x20,x17 // h+=Sigma0(a)
231 ror x16,x24,#14
232 add x27,x27,x19 // h+=K[i]
233 eor x14,x24,x24,ror#23
234 and x17,x25,x24
235 bic x19,x26,x24
236 add x27,x27,x11 // h+=X[i]
237 orr x17,x17,x19 // Ch(e,f,g)
238 eor x19,x20,x21 // a^b, b^c in next round
239 eor x16,x16,x14,ror#18 // Sigma1(e)
240 ror x14,x20,#28
241 add x27,x27,x17 // h+=Ch(e,f,g)
242 eor x17,x20,x20,ror#5
243 add x27,x27,x16 // h+=Sigma1(e)
244 and x28,x28,x19 // (b^c)&=(a^b)
245 add x23,x23,x27 // d+=h
246 eor x28,x28,x21 // Maj(a,b,c)
247 eor x17,x14,x17,ror#34 // Sigma0(a)
248 add x27,x27,x28 // h+=Maj(a,b,c)
249 ldr x28,[x30],#8 // *K++, x19 in next round
250 //add x27,x27,x17 // h+=Sigma0(a)
251 #ifndef __ARMEB__
252 rev x12,x12 // 9
253 #endif
254 ldp x13,x14,[x1],#2*8
255 add x27,x27,x17 // h+=Sigma0(a)
256 ror x16,x23,#14
257 add x26,x26,x28 // h+=K[i]
258 eor x15,x23,x23,ror#23
259 and x17,x24,x23
260 bic x28,x25,x23
261 add x26,x26,x12 // h+=X[i]
262 orr x17,x17,x28 // Ch(e,f,g)
263 eor x28,x27,x20 // a^b, b^c in next round
264 eor x16,x16,x15,ror#18 // Sigma1(e)
265 ror x15,x27,#28
266 add x26,x26,x17 // h+=Ch(e,f,g)
267 eor x17,x27,x27,ror#5
268 add x26,x26,x16 // h+=Sigma1(e)
269 and x19,x19,x28 // (b^c)&=(a^b)
270 add x22,x22,x26 // d+=h
271 eor x19,x19,x20 // Maj(a,b,c)
272 eor x17,x15,x17,ror#34 // Sigma0(a)
273 add x26,x26,x19 // h+=Maj(a,b,c)
274 ldr x19,[x30],#8 // *K++, x28 in next round
275 //add x26,x26,x17 // h+=Sigma0(a)
276 #ifndef __ARMEB__
277 rev x13,x13 // 10
278 #endif
279 add x26,x26,x17 // h+=Sigma0(a)
280 ror x16,x22,#14
281 add x25,x25,x19 // h+=K[i]
282 eor x0,x22,x22,ror#23
283 and x17,x23,x22
284 bic x19,x24,x22
285 add x25,x25,x13 // h+=X[i]
286 orr x17,x17,x19 // Ch(e,f,g)
287 eor x19,x26,x27 // a^b, b^c in next round
288 eor x16,x16,x0,ror#18 // Sigma1(e)
289 ror x0,x26,#28
290 add x25,x25,x17 // h+=Ch(e,f,g)
291 eor x17,x26,x26,ror#5
292 add x25,x25,x16 // h+=Sigma1(e)
293 and x28,x28,x19 // (b^c)&=(a^b)
294 add x21,x21,x25 // d+=h
295 eor x28,x28,x27 // Maj(a,b,c)
296 eor x17,x0,x17,ror#34 // Sigma0(a)
297 add x25,x25,x28 // h+=Maj(a,b,c)
298 ldr x28,[x30],#8 // *K++, x19 in next round
299 //add x25,x25,x17 // h+=Sigma0(a)
300 #ifndef __ARMEB__
301 rev x14,x14 // 11
302 #endif
303 ldp x15,x0,[x1],#2*8
304 add x25,x25,x17 // h+=Sigma0(a)
305 str x6,[sp,#24]
306 ror x16,x21,#14
307 add x24,x24,x28 // h+=K[i]
308 eor x6,x21,x21,ror#23
309 and x17,x22,x21
310 bic x28,x23,x21
311 add x24,x24,x14 // h+=X[i]
312 orr x17,x17,x28 // Ch(e,f,g)
313 eor x28,x25,x26 // a^b, b^c in next round
314 eor x16,x16,x6,ror#18 // Sigma1(e)
315 ror x6,x25,#28
316 add x24,x24,x17 // h+=Ch(e,f,g)
317 eor x17,x25,x25,ror#5
318 add x24,x24,x16 // h+=Sigma1(e)
319 and x19,x19,x28 // (b^c)&=(a^b)
320 add x20,x20,x24 // d+=h
321 eor x19,x19,x26 // Maj(a,b,c)
322 eor x17,x6,x17,ror#34 // Sigma0(a)
323 add x24,x24,x19 // h+=Maj(a,b,c)
324 ldr x19,[x30],#8 // *K++, x28 in next round
325 //add x24,x24,x17 // h+=Sigma0(a)
326 #ifndef __ARMEB__
327 rev x15,x15 // 12
328 #endif
329 add x24,x24,x17 // h+=Sigma0(a)
330 str x7,[sp,#0]
331 ror x16,x20,#14
332 add x23,x23,x19 // h+=K[i]
333 eor x7,x20,x20,ror#23
334 and x17,x21,x20
335 bic x19,x22,x20
336 add x23,x23,x15 // h+=X[i]
337 orr x17,x17,x19 // Ch(e,f,g)
338 eor x19,x24,x25 // a^b, b^c in next round
339 eor x16,x16,x7,ror#18 // Sigma1(e)
340 ror x7,x24,#28
341 add x23,x23,x17 // h+=Ch(e,f,g)
342 eor x17,x24,x24,ror#5
343 add x23,x23,x16 // h+=Sigma1(e)
344 and x28,x28,x19 // (b^c)&=(a^b)
345 add x27,x27,x23 // d+=h
346 eor x28,x28,x25 // Maj(a,b,c)
347 eor x17,x7,x17,ror#34 // Sigma0(a)
348 add x23,x23,x28 // h+=Maj(a,b,c)
349 ldr x28,[x30],#8 // *K++, x19 in next round
350 //add x23,x23,x17 // h+=Sigma0(a)
351 #ifndef __ARMEB__
352 rev x0,x0 // 13
353 #endif
354 ldp x1,x2,[x1]
355 add x23,x23,x17 // h+=Sigma0(a)
356 str x8,[sp,#8]
357 ror x16,x27,#14
358 add x22,x22,x28 // h+=K[i]
359 eor x8,x27,x27,ror#23
360 and x17,x20,x27
361 bic x28,x21,x27
362 add x22,x22,x0 // h+=X[i]
363 orr x17,x17,x28 // Ch(e,f,g)
364 eor x28,x23,x24 // a^b, b^c in next round
365 eor x16,x16,x8,ror#18 // Sigma1(e)
366 ror x8,x23,#28
367 add x22,x22,x17 // h+=Ch(e,f,g)
368 eor x17,x23,x23,ror#5
369 add x22,x22,x16 // h+=Sigma1(e)
370 and x19,x19,x28 // (b^c)&=(a^b)
371 add x26,x26,x22 // d+=h
372 eor x19,x19,x24 // Maj(a,b,c)
373 eor x17,x8,x17,ror#34 // Sigma0(a)
374 add x22,x22,x19 // h+=Maj(a,b,c)
375 ldr x19,[x30],#8 // *K++, x28 in next round
376 //add x22,x22,x17 // h+=Sigma0(a)
377 #ifndef __ARMEB__
378 rev x1,x1 // 14
379 #endif
380 ldr x6,[sp,#24]
381 add x22,x22,x17 // h+=Sigma0(a)
382 str x9,[sp,#16]
383 ror x16,x26,#14
384 add x21,x21,x19 // h+=K[i]
385 eor x9,x26,x26,ror#23
386 and x17,x27,x26
387 bic x19,x20,x26
388 add x21,x21,x1 // h+=X[i]
389 orr x17,x17,x19 // Ch(e,f,g)
390 eor x19,x22,x23 // a^b, b^c in next round
391 eor x16,x16,x9,ror#18 // Sigma1(e)
392 ror x9,x22,#28
393 add x21,x21,x17 // h+=Ch(e,f,g)
394 eor x17,x22,x22,ror#5
395 add x21,x21,x16 // h+=Sigma1(e)
396 and x28,x28,x19 // (b^c)&=(a^b)
397 add x25,x25,x21 // d+=h
398 eor x28,x28,x23 // Maj(a,b,c)
399 eor x17,x9,x17,ror#34 // Sigma0(a)
400 add x21,x21,x28 // h+=Maj(a,b,c)
401 ldr x28,[x30],#8 // *K++, x19 in next round
402 //add x21,x21,x17 // h+=Sigma0(a)
403 #ifndef __ARMEB__
404 rev x2,x2 // 15
405 #endif
406 ldr x7,[sp,#0]
407 add x21,x21,x17 // h+=Sigma0(a)
408 str x10,[sp,#24]
409 ror x16,x25,#14
410 add x20,x20,x28 // h+=K[i]
411 ror x9,x4,#1
412 and x17,x26,x25
413 ror x8,x1,#19
414 bic x28,x27,x25
415 ror x10,x21,#28
416 add x20,x20,x2 // h+=X[i]
417 eor x16,x16,x25,ror#18
418 eor x9,x9,x4,ror#8
419 orr x17,x17,x28 // Ch(e,f,g)
420 eor x28,x21,x22 // a^b, b^c in next round
421 eor x16,x16,x25,ror#41 // Sigma1(e)
422 eor x10,x10,x21,ror#34
423 add x20,x20,x17 // h+=Ch(e,f,g)
424 and x19,x19,x28 // (b^c)&=(a^b)
425 eor x8,x8,x1,ror#61
426 eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
427 add x20,x20,x16 // h+=Sigma1(e)
428 eor x19,x19,x22 // Maj(a,b,c)
429 eor x17,x10,x21,ror#39 // Sigma0(a)
430 eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
431 add x3,x3,x12
432 add x24,x24,x20 // d+=h
433 add x20,x20,x19 // h+=Maj(a,b,c)
434 ldr x19,[x30],#8 // *K++, x28 in next round
435 add x3,x3,x9
436 add x20,x20,x17 // h+=Sigma0(a)
437 add x3,x3,x8
438 .Loop_16_xx:
439 ldr x8,[sp,#8]
440 str x11,[sp,#0]
441 ror x16,x24,#14
442 add x27,x27,x19 // h+=K[i]
443 ror x10,x5,#1
444 and x17,x25,x24
445 ror x9,x2,#19
446 bic x19,x26,x24
447 ror x11,x20,#28
448 add x27,x27,x3 // h+=X[i]
449 eor x16,x16,x24,ror#18
450 eor x10,x10,x5,ror#8
451 orr x17,x17,x19 // Ch(e,f,g)
452 eor x19,x20,x21 // a^b, b^c in next round
453 eor x16,x16,x24,ror#41 // Sigma1(e)
454 eor x11,x11,x20,ror#34
455 add x27,x27,x17 // h+=Ch(e,f,g)
456 and x28,x28,x19 // (b^c)&=(a^b)
457 eor x9,x9,x2,ror#61
458 eor x10,x10,x5,lsr#7 // sigma0(X[i+1])
459 add x27,x27,x16 // h+=Sigma1(e)
460 eor x28,x28,x21 // Maj(a,b,c)
461 eor x17,x11,x20,ror#39 // Sigma0(a)
462 eor x9,x9,x2,lsr#6 // sigma1(X[i+14])
463 add x4,x4,x13
464 add x23,x23,x27 // d+=h
465 add x27,x27,x28 // h+=Maj(a,b,c)
466 ldr x28,[x30],#8 // *K++, x19 in next round
467 add x4,x4,x10
468 add x27,x27,x17 // h+=Sigma0(a)
469 add x4,x4,x9
470 ldr x9,[sp,#16]
471 str x12,[sp,#8]
472 ror x16,x23,#14
473 add x26,x26,x28 // h+=K[i]
474 ror x11,x6,#1
475 and x17,x24,x23
476 ror x10,x3,#19
477 bic x28,x25,x23
478 ror x12,x27,#28
479 add x26,x26,x4 // h+=X[i]
480 eor x16,x16,x23,ror#18
481 eor x11,x11,x6,ror#8
482 orr x17,x17,x28 // Ch(e,f,g)
483 eor x28,x27,x20 // a^b, b^c in next round
484 eor x16,x16,x23,ror#41 // Sigma1(e)
485 eor x12,x12,x27,ror#34
486 add x26,x26,x17 // h+=Ch(e,f,g)
487 and x19,x19,x28 // (b^c)&=(a^b)
488 eor x10,x10,x3,ror#61
489 eor x11,x11,x6,lsr#7 // sigma0(X[i+1])
490 add x26,x26,x16 // h+=Sigma1(e)
491 eor x19,x19,x20 // Maj(a,b,c)
492 eor x17,x12,x27,ror#39 // Sigma0(a)
493 eor x10,x10,x3,lsr#6 // sigma1(X[i+14])
494 add x5,x5,x14
495 add x22,x22,x26 // d+=h
496 add x26,x26,x19 // h+=Maj(a,b,c)
497 ldr x19,[x30],#8 // *K++, x28 in next round
498 add x5,x5,x11
499 add x26,x26,x17 // h+=Sigma0(a)
500 add x5,x5,x10
501 ldr x10,[sp,#24]
502 str x13,[sp,#16]
503 ror x16,x22,#14
504 add x25,x25,x19 // h+=K[i]
505 ror x12,x7,#1
506 and x17,x23,x22
507 ror x11,x4,#19
508 bic x19,x24,x22
509 ror x13,x26,#28
510 add x25,x25,x5 // h+=X[i]
511 eor x16,x16,x22,ror#18
512 eor x12,x12,x7,ror#8
513 orr x17,x17,x19 // Ch(e,f,g)
514 eor x19,x26,x27 // a^b, b^c in next round
515 eor x16,x16,x22,ror#41 // Sigma1(e)
516 eor x13,x13,x26,ror#34
517 add x25,x25,x17 // h+=Ch(e,f,g)
518 and x28,x28,x19 // (b^c)&=(a^b)
519 eor x11,x11,x4,ror#61
520 eor x12,x12,x7,lsr#7 // sigma0(X[i+1])
521 add x25,x25,x16 // h+=Sigma1(e)
522 eor x28,x28,x27 // Maj(a,b,c)
523 eor x17,x13,x26,ror#39 // Sigma0(a)
524 eor x11,x11,x4,lsr#6 // sigma1(X[i+14])
525 add x6,x6,x15
526 add x21,x21,x25 // d+=h
527 add x25,x25,x28 // h+=Maj(a,b,c)
528 ldr x28,[x30],#8 // *K++, x19 in next round
529 add x6,x6,x12
530 add x25,x25,x17 // h+=Sigma0(a)
531 add x6,x6,x11
532 ldr x11,[sp,#0]
533 str x14,[sp,#24]
534 ror x16,x21,#14
535 add x24,x24,x28 // h+=K[i]
536 ror x13,x8,#1
537 and x17,x22,x21
538 ror x12,x5,#19
539 bic x28,x23,x21
540 ror x14,x25,#28
541 add x24,x24,x6 // h+=X[i]
542 eor x16,x16,x21,ror#18
543 eor x13,x13,x8,ror#8
544 orr x17,x17,x28 // Ch(e,f,g)
545 eor x28,x25,x26 // a^b, b^c in next round
546 eor x16,x16,x21,ror#41 // Sigma1(e)
547 eor x14,x14,x25,ror#34
548 add x24,x24,x17 // h+=Ch(e,f,g)
549 and x19,x19,x28 // (b^c)&=(a^b)
550 eor x12,x12,x5,ror#61
551 eor x13,x13,x8,lsr#7 // sigma0(X[i+1])
552 add x24,x24,x16 // h+=Sigma1(e)
553 eor x19,x19,x26 // Maj(a,b,c)
554 eor x17,x14,x25,ror#39 // Sigma0(a)
555 eor x12,x12,x5,lsr#6 // sigma1(X[i+14])
556 add x7,x7,x0
557 add x20,x20,x24 // d+=h
558 add x24,x24,x19 // h+=Maj(a,b,c)
559 ldr x19,[x30],#8 // *K++, x28 in next round
560 add x7,x7,x13
561 add x24,x24,x17 // h+=Sigma0(a)
562 add x7,x7,x12
563 ldr x12,[sp,#8]
564 str x15,[sp,#0]
565 ror x16,x20,#14
566 add x23,x23,x19 // h+=K[i]
567 ror x14,x9,#1
568 and x17,x21,x20
569 ror x13,x6,#19
570 bic x19,x22,x20
571 ror x15,x24,#28
572 add x23,x23,x7 // h+=X[i]
573 eor x16,x16,x20,ror#18
574 eor x14,x14,x9,ror#8
575 orr x17,x17,x19 // Ch(e,f,g)
576 eor x19,x24,x25 // a^b, b^c in next round
577 eor x16,x16,x20,ror#41 // Sigma1(e)
578 eor x15,x15,x24,ror#34
579 add x23,x23,x17 // h+=Ch(e,f,g)
580 and x28,x28,x19 // (b^c)&=(a^b)
581 eor x13,x13,x6,ror#61
582 eor x14,x14,x9,lsr#7 // sigma0(X[i+1])
583 add x23,x23,x16 // h+=Sigma1(e)
584 eor x28,x28,x25 // Maj(a,b,c)
585 eor x17,x15,x24,ror#39 // Sigma0(a)
586 eor x13,x13,x6,lsr#6 // sigma1(X[i+14])
587 add x8,x8,x1
588 add x27,x27,x23 // d+=h
589 add x23,x23,x28 // h+=Maj(a,b,c)
590 ldr x28,[x30],#8 // *K++, x19 in next round
591 add x8,x8,x14
592 add x23,x23,x17 // h+=Sigma0(a)
593 add x8,x8,x13
594 ldr x13,[sp,#16]
595 str x0,[sp,#8]
596 ror x16,x27,#14
597 add x22,x22,x28 // h+=K[i]
598 ror x15,x10,#1
599 and x17,x20,x27
600 ror x14,x7,#19
601 bic x28,x21,x27
602 ror x0,x23,#28
603 add x22,x22,x8 // h+=X[i]
604 eor x16,x16,x27,ror#18
605 eor x15,x15,x10,ror#8
606 orr x17,x17,x28 // Ch(e,f,g)
607 eor x28,x23,x24 // a^b, b^c in next round
608 eor x16,x16,x27,ror#41 // Sigma1(e)
609 eor x0,x0,x23,ror#34
610 add x22,x22,x17 // h+=Ch(e,f,g)
611 and x19,x19,x28 // (b^c)&=(a^b)
612 eor x14,x14,x7,ror#61
613 eor x15,x15,x10,lsr#7 // sigma0(X[i+1])
614 add x22,x22,x16 // h+=Sigma1(e)
615 eor x19,x19,x24 // Maj(a,b,c)
616 eor x17,x0,x23,ror#39 // Sigma0(a)
617 eor x14,x14,x7,lsr#6 // sigma1(X[i+14])
618 add x9,x9,x2
619 add x26,x26,x22 // d+=h
620 add x22,x22,x19 // h+=Maj(a,b,c)
621 ldr x19,[x30],#8 // *K++, x28 in next round
622 add x9,x9,x15
623 add x22,x22,x17 // h+=Sigma0(a)
624 add x9,x9,x14
625 ldr x14,[sp,#24]
626 str x1,[sp,#16]
627 ror x16,x26,#14
628 add x21,x21,x19 // h+=K[i]
629 ror x0,x11,#1
630 and x17,x27,x26
631 ror x15,x8,#19
632 bic x19,x20,x26
633 ror x1,x22,#28
634 add x21,x21,x9 // h+=X[i]
635 eor x16,x16,x26,ror#18
636 eor x0,x0,x11,ror#8
637 orr x17,x17,x19 // Ch(e,f,g)
638 eor x19,x22,x23 // a^b, b^c in next round
639 eor x16,x16,x26,ror#41 // Sigma1(e)
640 eor x1,x1,x22,ror#34
641 add x21,x21,x17 // h+=Ch(e,f,g)
642 and x28,x28,x19 // (b^c)&=(a^b)
643 eor x15,x15,x8,ror#61
644 eor x0,x0,x11,lsr#7 // sigma0(X[i+1])
645 add x21,x21,x16 // h+=Sigma1(e)
646 eor x28,x28,x23 // Maj(a,b,c)
647 eor x17,x1,x22,ror#39 // Sigma0(a)
648 eor x15,x15,x8,lsr#6 // sigma1(X[i+14])
649 add x10,x10,x3
650 add x25,x25,x21 // d+=h
651 add x21,x21,x28 // h+=Maj(a,b,c)
652 ldr x28,[x30],#8 // *K++, x19 in next round
653 add x10,x10,x0
654 add x21,x21,x17 // h+=Sigma0(a)
655 add x10,x10,x15
656 ldr x15,[sp,#0]
657 str x2,[sp,#24]
658 ror x16,x25,#14
659 add x20,x20,x28 // h+=K[i]
660 ror x1,x12,#1
661 and x17,x26,x25
662 ror x0,x9,#19
663 bic x28,x27,x25
664 ror x2,x21,#28
665 add x20,x20,x10 // h+=X[i]
666 eor x16,x16,x25,ror#18
667 eor x1,x1,x12,ror#8
668 orr x17,x17,x28 // Ch(e,f,g)
669 eor x28,x21,x22 // a^b, b^c in next round
670 eor x16,x16,x25,ror#41 // Sigma1(e)
671 eor x2,x2,x21,ror#34
672 add x20,x20,x17 // h+=Ch(e,f,g)
673 and x19,x19,x28 // (b^c)&=(a^b)
674 eor x0,x0,x9,ror#61
675 eor x1,x1,x12,lsr#7 // sigma0(X[i+1])
676 add x20,x20,x16 // h+=Sigma1(e)
677 eor x19,x19,x22 // Maj(a,b,c)
678 eor x17,x2,x21,ror#39 // Sigma0(a)
679 eor x0,x0,x9,lsr#6 // sigma1(X[i+14])
680 add x11,x11,x4
681 add x24,x24,x20 // d+=h
682 add x20,x20,x19 // h+=Maj(a,b,c)
683 ldr x19,[x30],#8 // *K++, x28 in next round
684 add x11,x11,x1
685 add x20,x20,x17 // h+=Sigma0(a)
686 add x11,x11,x0
687 ldr x0,[sp,#8]
688 str x3,[sp,#0]
689 ror x16,x24,#14
690 add x27,x27,x19 // h+=K[i]
691 ror x2,x13,#1
692 and x17,x25,x24
693 ror x1,x10,#19
694 bic x19,x26,x24
695 ror x3,x20,#28
696 add x27,x27,x11 // h+=X[i]
697 eor x16,x16,x24,ror#18
698 eor x2,x2,x13,ror#8
699 orr x17,x17,x19 // Ch(e,f,g)
700 eor x19,x20,x21 // a^b, b^c in next round
701 eor x16,x16,x24,ror#41 // Sigma1(e)
702 eor x3,x3,x20,ror#34
703 add x27,x27,x17 // h+=Ch(e,f,g)
704 and x28,x28,x19 // (b^c)&=(a^b)
705 eor x1,x1,x10,ror#61
706 eor x2,x2,x13,lsr#7 // sigma0(X[i+1])
707 add x27,x27,x16 // h+=Sigma1(e)
708 eor x28,x28,x21 // Maj(a,b,c)
709 eor x17,x3,x20,ror#39 // Sigma0(a)
710 eor x1,x1,x10,lsr#6 // sigma1(X[i+14])
711 add x12,x12,x5
712 add x23,x23,x27 // d+=h
713 add x27,x27,x28 // h+=Maj(a,b,c)
714 ldr x28,[x30],#8 // *K++, x19 in next round
715 add x12,x12,x2
716 add x27,x27,x17 // h+=Sigma0(a)
717 add x12,x12,x1
718 ldr x1,[sp,#16]
719 str x4,[sp,#8]
720 ror x16,x23,#14
721 add x26,x26,x28 // h+=K[i]
722 ror x3,x14,#1
723 and x17,x24,x23
724 ror x2,x11,#19
725 bic x28,x25,x23
726 ror x4,x27,#28
727 add x26,x26,x12 // h+=X[i]
728 eor x16,x16,x23,ror#18
729 eor x3,x3,x14,ror#8
730 orr x17,x17,x28 // Ch(e,f,g)
731 eor x28,x27,x20 // a^b, b^c in next round
732 eor x16,x16,x23,ror#41 // Sigma1(e)
733 eor x4,x4,x27,ror#34
734 add x26,x26,x17 // h+=Ch(e,f,g)
735 and x19,x19,x28 // (b^c)&=(a^b)
736 eor x2,x2,x11,ror#61
737 eor x3,x3,x14,lsr#7 // sigma0(X[i+1])
738 add x26,x26,x16 // h+=Sigma1(e)
739 eor x19,x19,x20 // Maj(a,b,c)
740 eor x17,x4,x27,ror#39 // Sigma0(a)
741 eor x2,x2,x11,lsr#6 // sigma1(X[i+14])
742 add x13,x13,x6
743 add x22,x22,x26 // d+=h
744 add x26,x26,x19 // h+=Maj(a,b,c)
745 ldr x19,[x30],#8 // *K++, x28 in next round
746 add x13,x13,x3
747 add x26,x26,x17 // h+=Sigma0(a)
748 add x13,x13,x2
749 ldr x2,[sp,#24]
750 str x5,[sp,#16]
751 ror x16,x22,#14
752 add x25,x25,x19 // h+=K[i]
753 ror x4,x15,#1
754 and x17,x23,x22
755 ror x3,x12,#19
756 bic x19,x24,x22
757 ror x5,x26,#28
758 add x25,x25,x13 // h+=X[i]
759 eor x16,x16,x22,ror#18
760 eor x4,x4,x15,ror#8
761 orr x17,x17,x19 // Ch(e,f,g)
762 eor x19,x26,x27 // a^b, b^c in next round
763 eor x16,x16,x22,ror#41 // Sigma1(e)
764 eor x5,x5,x26,ror#34
765 add x25,x25,x17 // h+=Ch(e,f,g)
766 and x28,x28,x19 // (b^c)&=(a^b)
767 eor x3,x3,x12,ror#61
768 eor x4,x4,x15,lsr#7 // sigma0(X[i+1])
769 add x25,x25,x16 // h+=Sigma1(e)
770 eor x28,x28,x27 // Maj(a,b,c)
771 eor x17,x5,x26,ror#39 // Sigma0(a)
772 eor x3,x3,x12,lsr#6 // sigma1(X[i+14])
773 add x14,x14,x7
774 add x21,x21,x25 // d+=h
775 add x25,x25,x28 // h+=Maj(a,b,c)
776 ldr x28,[x30],#8 // *K++, x19 in next round
777 add x14,x14,x4
778 add x25,x25,x17 // h+=Sigma0(a)
779 add x14,x14,x3
780 ldr x3,[sp,#0]
781 str x6,[sp,#24]
782 ror x16,x21,#14
783 add x24,x24,x28 // h+=K[i]
784 ror x5,x0,#1
785 and x17,x22,x21
786 ror x4,x13,#19
787 bic x28,x23,x21
788 ror x6,x25,#28
789 add x24,x24,x14 // h+=X[i]
790 eor x16,x16,x21,ror#18
791 eor x5,x5,x0,ror#8
792 orr x17,x17,x28 // Ch(e,f,g)
793 eor x28,x25,x26 // a^b, b^c in next round
794 eor x16,x16,x21,ror#41 // Sigma1(e)
795 eor x6,x6,x25,ror#34
796 add x24,x24,x17 // h+=Ch(e,f,g)
797 and x19,x19,x28 // (b^c)&=(a^b)
798 eor x4,x4,x13,ror#61
799 eor x5,x5,x0,lsr#7 // sigma0(X[i+1])
800 add x24,x24,x16 // h+=Sigma1(e)
801 eor x19,x19,x26 // Maj(a,b,c)
802 eor x17,x6,x25,ror#39 // Sigma0(a)
803 eor x4,x4,x13,lsr#6 // sigma1(X[i+14])
804 add x15,x15,x8
805 add x20,x20,x24 // d+=h
806 add x24,x24,x19 // h+=Maj(a,b,c)
807 ldr x19,[x30],#8 // *K++, x28 in next round
808 add x15,x15,x5
809 add x24,x24,x17 // h+=Sigma0(a)
810 add x15,x15,x4
811 ldr x4,[sp,#8]
812 str x7,[sp,#0]
813 ror x16,x20,#14
814 add x23,x23,x19 // h+=K[i]
815 ror x6,x1,#1
816 and x17,x21,x20
817 ror x5,x14,#19
818 bic x19,x22,x20
819 ror x7,x24,#28
820 add x23,x23,x15 // h+=X[i]
821 eor x16,x16,x20,ror#18
822 eor x6,x6,x1,ror#8
823 orr x17,x17,x19 // Ch(e,f,g)
824 eor x19,x24,x25 // a^b, b^c in next round
825 eor x16,x16,x20,ror#41 // Sigma1(e)
826 eor x7,x7,x24,ror#34
827 add x23,x23,x17 // h+=Ch(e,f,g)
828 and x28,x28,x19 // (b^c)&=(a^b)
829 eor x5,x5,x14,ror#61
830 eor x6,x6,x1,lsr#7 // sigma0(X[i+1])
831 add x23,x23,x16 // h+=Sigma1(e)
832 eor x28,x28,x25 // Maj(a,b,c)
833 eor x17,x7,x24,ror#39 // Sigma0(a)
834 eor x5,x5,x14,lsr#6 // sigma1(X[i+14])
835 add x0,x0,x9
836 add x27,x27,x23 // d+=h
837 add x23,x23,x28 // h+=Maj(a,b,c)
838 ldr x28,[x30],#8 // *K++, x19 in next round
839 add x0,x0,x6
840 add x23,x23,x17 // h+=Sigma0(a)
841 add x0,x0,x5
842 ldr x5,[sp,#16]
843 str x8,[sp,#8]
844 ror x16,x27,#14
845 add x22,x22,x28 // h+=K[i]
846 ror x7,x2,#1
847 and x17,x20,x27
848 ror x6,x15,#19
849 bic x28,x21,x27
850 ror x8,x23,#28
851 add x22,x22,x0 // h+=X[i]
852 eor x16,x16,x27,ror#18
853 eor x7,x7,x2,ror#8
854 orr x17,x17,x28 // Ch(e,f,g)
855 eor x28,x23,x24 // a^b, b^c in next round
856 eor x16,x16,x27,ror#41 // Sigma1(e)
857 eor x8,x8,x23,ror#34
858 add x22,x22,x17 // h+=Ch(e,f,g)
859 and x19,x19,x28 // (b^c)&=(a^b)
860 eor x6,x6,x15,ror#61
861 eor x7,x7,x2,lsr#7 // sigma0(X[i+1])
862 add x22,x22,x16 // h+=Sigma1(e)
863 eor x19,x19,x24 // Maj(a,b,c)
864 eor x17,x8,x23,ror#39 // Sigma0(a)
865 eor x6,x6,x15,lsr#6 // sigma1(X[i+14])
866 add x1,x1,x10
867 add x26,x26,x22 // d+=h
868 add x22,x22,x19 // h+=Maj(a,b,c)
869 ldr x19,[x30],#8 // *K++, x28 in next round
870 add x1,x1,x7
871 add x22,x22,x17 // h+=Sigma0(a)
872 add x1,x1,x6
873 ldr x6,[sp,#24]
874 str x9,[sp,#16]
875 ror x16,x26,#14
876 add x21,x21,x19 // h+=K[i]
877 ror x8,x3,#1
878 and x17,x27,x26
879 ror x7,x0,#19
880 bic x19,x20,x26
881 ror x9,x22,#28
882 add x21,x21,x1 // h+=X[i]
883 eor x16,x16,x26,ror#18
884 eor x8,x8,x3,ror#8
885 orr x17,x17,x19 // Ch(e,f,g)
886 eor x19,x22,x23 // a^b, b^c in next round
887 eor x16,x16,x26,ror#41 // Sigma1(e)
888 eor x9,x9,x22,ror#34
889 add x21,x21,x17 // h+=Ch(e,f,g)
890 and x28,x28,x19 // (b^c)&=(a^b)
891 eor x7,x7,x0,ror#61
892 eor x8,x8,x3,lsr#7 // sigma0(X[i+1])
893 add x21,x21,x16 // h+=Sigma1(e)
894 eor x28,x28,x23 // Maj(a,b,c)
895 eor x17,x9,x22,ror#39 // Sigma0(a)
896 eor x7,x7,x0,lsr#6 // sigma1(X[i+14])
897 add x2,x2,x11
898 add x25,x25,x21 // d+=h
899 add x21,x21,x28 // h+=Maj(a,b,c)
900 ldr x28,[x30],#8 // *K++, x19 in next round
901 add x2,x2,x8
902 add x21,x21,x17 // h+=Sigma0(a)
903 add x2,x2,x7
904 ldr x7,[sp,#0]
905 str x10,[sp,#24]
906 ror x16,x25,#14
907 add x20,x20,x28 // h+=K[i]
908 ror x9,x4,#1
909 and x17,x26,x25
910 ror x8,x1,#19
911 bic x28,x27,x25
912 ror x10,x21,#28
913 add x20,x20,x2 // h+=X[i]
914 eor x16,x16,x25,ror#18
915 eor x9,x9,x4,ror#8
916 orr x17,x17,x28 // Ch(e,f,g)
917 eor x28,x21,x22 // a^b, b^c in next round
918 eor x16,x16,x25,ror#41 // Sigma1(e)
919 eor x10,x10,x21,ror#34
920 add x20,x20,x17 // h+=Ch(e,f,g)
921 and x19,x19,x28 // (b^c)&=(a^b)
922 eor x8,x8,x1,ror#61
923 eor x9,x9,x4,lsr#7 // sigma0(X[i+1])
924 add x20,x20,x16 // h+=Sigma1(e)
925 eor x19,x19,x22 // Maj(a,b,c)
926 eor x17,x10,x21,ror#39 // Sigma0(a)
927 eor x8,x8,x1,lsr#6 // sigma1(X[i+14])
928 add x3,x3,x12
929 add x24,x24,x20 // d+=h
930 add x20,x20,x19 // h+=Maj(a,b,c)
931 ldr x19,[x30],#8 // *K++, x28 in next round
932 add x3,x3,x9
933 add x20,x20,x17 // h+=Sigma0(a)
934 add x3,x3,x8
935 cbnz x19,.Loop_16_xx
936
937 ldp x0,x2,[x29,#96]
938 ldr x1,[x29,#112]
939 sub x30,x30,#648 // rewind
940
941 ldp x3,x4,[x0]
942 ldp x5,x6,[x0,#2*8]
943 add x1,x1,#14*8 // advance input pointer
944 ldp x7,x8,[x0,#4*8]
945 add x20,x20,x3
946 ldp x9,x10,[x0,#6*8]
947 add x21,x21,x4
948 add x22,x22,x5
949 add x23,x23,x6
950 stp x20,x21,[x0]
951 add x24,x24,x7
952 add x25,x25,x8
953 stp x22,x23,[x0,#2*8]
954 add x26,x26,x9
955 add x27,x27,x10
956 cmp x1,x2
957 stp x24,x25,[x0,#4*8]
958 stp x26,x27,[x0,#6*8]
959 b.ne .Loop
960
961 ldp x19,x20,[x29,#16]
962 add sp,sp,#4*8
963 ldp x21,x22,[x29,#32]
964 ldp x23,x24,[x29,#48]
965 ldp x25,x26,[x29,#64]
966 ldp x27,x28,[x29,#80]
967 ldp x29,x30,[sp],#128
968 ret
969 .size sha512_block_data_order,.-sha512_block_data_order
970
971 .align 6
972 .type K512,%object
973 K512:
974 .quad 0x428a2f98d728ae22,0x7137449123ef65cd
975 .quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc
976 .quad 0x3956c25bf348b538,0x59f111f1b605d019
977 .quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118
978 .quad 0xd807aa98a3030242,0x12835b0145706fbe
979 .quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2
980 .quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1
981 .quad 0x9bdc06a725c71235,0xc19bf174cf692694
982 .quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3
983 .quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65
984 .quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483
985 .quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5
986 .quad 0x983e5152ee66dfab,0xa831c66d2db43210
987 .quad 0xb00327c898fb213f,0xbf597fc7beef0ee4
988 .quad 0xc6e00bf33da88fc2,0xd5a79147930aa725
989 .quad 0x06ca6351e003826f,0x142929670a0e6e70
990 .quad 0x27b70a8546d22ffc,0x2e1b21385c26c926
991 .quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df
992 .quad 0x650a73548baf63de,0x766a0abb3c77b2a8
993 .quad 0x81c2c92e47edaee6,0x92722c851482353b
994 .quad 0xa2bfe8a14cf10364,0xa81a664bbc423001
995 .quad 0xc24b8b70d0f89791,0xc76c51a30654be30
996 .quad 0xd192e819d6ef5218,0xd69906245565a910
997 .quad 0xf40e35855771202a,0x106aa07032bbd1b8
998 .quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53
999 .quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8
1000 .quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb
1001 .quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3
1002 .quad 0x748f82ee5defb2fc,0x78a5636f43172f60
1003 .quad 0x84c87814a1f0ab72,0x8cc702081a6439ec
1004 .quad 0x90befffa23631e28,0xa4506cebde82bde9
1005 .quad 0xbef9a3f7b2c67915,0xc67178f2e372532b
1006 .quad 0xca273eceea26619c,0xd186b8c721c0c207
1007 .quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178
1008 .quad 0x06f067aa72176fba,0x0a637dc5a2c898a6
1009 .quad 0x113f9804bef90dae,0x1b710b35131c471b
1010 .quad 0x28db77f523047d84,0x32caab7b40c72493
1011 .quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
1012 .quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
1013 .quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
1014 .quad 0 // terminator
1015 .size K512,.-K512
1016 .align 3
1017 .LOPENSSL_armcap_P:
1018 .quad OPENSSL_armcap_P-.
1019 .asciz "SHA512 block transform for ARMv8, CRYPTOGAMS by <appro@openssl.org>"
1020 .align 2
1021 .comm OPENSSL_armcap_P,4,4
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698