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