1#if defined(__aarch64__) 2#include <openssl/arm_arch.h> 3 4.text 5 6 7.globl sha1_block_data_order 8.type sha1_block_data_order,%function 9.align 6 10sha1_block_data_order: 11 ldr x16,.LOPENSSL_armcap_P 12 adr x17,.LOPENSSL_armcap_P 13 add x16,x16,x17 14 ldr w16,[x16] 15 tst w16,#ARMV8_SHA1 16 b.ne .Lv8_entry 17 18 stp x29,x30,[sp,#-96]! 19 add x29,sp,#0 20 stp x19,x20,[sp,#16] 21 stp x21,x22,[sp,#32] 22 stp x23,x24,[sp,#48] 23 stp x25,x26,[sp,#64] 24 stp x27,x28,[sp,#80] 25 26 ldp w20,w21,[x0] 27 ldp w22,w23,[x0,#8] 28 ldr w24,[x0,#16] 29 30.Loop: 31 ldr x3,[x1],#64 32 movz w28,#0x7999 33 sub x2,x2,#1 34 movk w28,#0x5a82,lsl#16 35#ifdef __ARMEB__ 36 ror x3,x3,#32 37#else 38 rev32 x3,x3 39#endif 40 add w24,w24,w28 // warm it up 41 add w24,w24,w3 42 lsr x4,x3,#32 43 ldr x5,[x1,#-56] 44 bic w25,w23,w21 45 and w26,w22,w21 46 ror w27,w20,#27 47 add w23,w23,w28 // future e+=K 48 orr w25,w25,w26 49 add w24,w24,w27 // e+=rot(a,5) 50 ror w21,w21,#2 51 add w23,w23,w4 // future e+=X[i] 52 add w24,w24,w25 // e+=F(b,c,d) 53#ifdef __ARMEB__ 54 ror x5,x5,#32 55#else 56 rev32 x5,x5 57#endif 58 bic w25,w22,w20 59 and w26,w21,w20 60 ror w27,w24,#27 61 add w22,w22,w28 // future e+=K 62 orr w25,w25,w26 63 add w23,w23,w27 // e+=rot(a,5) 64 ror w20,w20,#2 65 add w22,w22,w5 // future e+=X[i] 66 add w23,w23,w25 // e+=F(b,c,d) 67 lsr x6,x5,#32 68 ldr x7,[x1,#-48] 69 bic w25,w21,w24 70 and w26,w20,w24 71 ror w27,w23,#27 72 add w21,w21,w28 // future e+=K 73 orr w25,w25,w26 74 add w22,w22,w27 // e+=rot(a,5) 75 ror w24,w24,#2 76 add w21,w21,w6 // future e+=X[i] 77 add w22,w22,w25 // e+=F(b,c,d) 78#ifdef __ARMEB__ 79 ror x7,x7,#32 80#else 81 rev32 x7,x7 82#endif 83 bic w25,w20,w23 84 and w26,w24,w23 85 ror w27,w22,#27 86 add w20,w20,w28 // future e+=K 87 orr w25,w25,w26 88 add w21,w21,w27 // e+=rot(a,5) 89 ror w23,w23,#2 90 add w20,w20,w7 // future e+=X[i] 91 add w21,w21,w25 // e+=F(b,c,d) 92 lsr x8,x7,#32 93 ldr x9,[x1,#-40] 94 bic w25,w24,w22 95 and w26,w23,w22 96 ror w27,w21,#27 97 add w24,w24,w28 // future e+=K 98 orr w25,w25,w26 99 add w20,w20,w27 // e+=rot(a,5) 100 ror w22,w22,#2 101 add w24,w24,w8 // future e+=X[i] 102 add w20,w20,w25 // e+=F(b,c,d) 103#ifdef __ARMEB__ 104 ror x9,x9,#32 105#else 106 rev32 x9,x9 107#endif 108 bic w25,w23,w21 109 and w26,w22,w21 110 ror w27,w20,#27 111 add w23,w23,w28 // future e+=K 112 orr w25,w25,w26 113 add w24,w24,w27 // e+=rot(a,5) 114 ror w21,w21,#2 115 add w23,w23,w9 // future e+=X[i] 116 add w24,w24,w25 // e+=F(b,c,d) 117 lsr x10,x9,#32 118 ldr x11,[x1,#-32] 119 bic w25,w22,w20 120 and w26,w21,w20 121 ror w27,w24,#27 122 add w22,w22,w28 // future e+=K 123 orr w25,w25,w26 124 add w23,w23,w27 // e+=rot(a,5) 125 ror w20,w20,#2 126 add w22,w22,w10 // future e+=X[i] 127 add w23,w23,w25 // e+=F(b,c,d) 128#ifdef __ARMEB__ 129 ror x11,x11,#32 130#else 131 rev32 x11,x11 132#endif 133 bic w25,w21,w24 134 and w26,w20,w24 135 ror w27,w23,#27 136 add w21,w21,w28 // future e+=K 137 orr w25,w25,w26 138 add w22,w22,w27 // e+=rot(a,5) 139 ror w24,w24,#2 140 add w21,w21,w11 // future e+=X[i] 141 add w22,w22,w25 // e+=F(b,c,d) 142 lsr x12,x11,#32 143 ldr x13,[x1,#-24] 144 bic w25,w20,w23 145 and w26,w24,w23 146 ror w27,w22,#27 147 add w20,w20,w28 // future e+=K 148 orr w25,w25,w26 149 add w21,w21,w27 // e+=rot(a,5) 150 ror w23,w23,#2 151 add w20,w20,w12 // future e+=X[i] 152 add w21,w21,w25 // e+=F(b,c,d) 153#ifdef __ARMEB__ 154 ror x13,x13,#32 155#else 156 rev32 x13,x13 157#endif 158 bic w25,w24,w22 159 and w26,w23,w22 160 ror w27,w21,#27 161 add w24,w24,w28 // future e+=K 162 orr w25,w25,w26 163 add w20,w20,w27 // e+=rot(a,5) 164 ror w22,w22,#2 165 add w24,w24,w13 // future e+=X[i] 166 add w20,w20,w25 // e+=F(b,c,d) 167 lsr x14,x13,#32 168 ldr x15,[x1,#-16] 169 bic w25,w23,w21 170 and w26,w22,w21 171 ror w27,w20,#27 172 add w23,w23,w28 // future e+=K 173 orr w25,w25,w26 174 add w24,w24,w27 // e+=rot(a,5) 175 ror w21,w21,#2 176 add w23,w23,w14 // future e+=X[i] 177 add w24,w24,w25 // e+=F(b,c,d) 178#ifdef __ARMEB__ 179 ror x15,x15,#32 180#else 181 rev32 x15,x15 182#endif 183 bic w25,w22,w20 184 and w26,w21,w20 185 ror w27,w24,#27 186 add w22,w22,w28 // future e+=K 187 orr w25,w25,w26 188 add w23,w23,w27 // e+=rot(a,5) 189 ror w20,w20,#2 190 add w22,w22,w15 // future e+=X[i] 191 add w23,w23,w25 // e+=F(b,c,d) 192 lsr x16,x15,#32 193 ldr x17,[x1,#-8] 194 bic w25,w21,w24 195 and w26,w20,w24 196 ror w27,w23,#27 197 add w21,w21,w28 // future e+=K 198 orr w25,w25,w26 199 add w22,w22,w27 // e+=rot(a,5) 200 ror w24,w24,#2 201 add w21,w21,w16 // future e+=X[i] 202 add w22,w22,w25 // e+=F(b,c,d) 203#ifdef __ARMEB__ 204 ror x17,x17,#32 205#else 206 rev32 x17,x17 207#endif 208 bic w25,w20,w23 209 and w26,w24,w23 210 ror w27,w22,#27 211 add w20,w20,w28 // future e+=K 212 orr w25,w25,w26 213 add w21,w21,w27 // e+=rot(a,5) 214 ror w23,w23,#2 215 add w20,w20,w17 // future e+=X[i] 216 add w21,w21,w25 // e+=F(b,c,d) 217 lsr x19,x17,#32 218 eor w3,w3,w5 219 bic w25,w24,w22 220 and w26,w23,w22 221 ror w27,w21,#27 222 eor w3,w3,w11 223 add w24,w24,w28 // future e+=K 224 orr w25,w25,w26 225 add w20,w20,w27 // e+=rot(a,5) 226 eor w3,w3,w16 227 ror w22,w22,#2 228 add w24,w24,w19 // future e+=X[i] 229 add w20,w20,w25 // e+=F(b,c,d) 230 ror w3,w3,#31 231 eor w4,w4,w6 232 bic w25,w23,w21 233 and w26,w22,w21 234 ror w27,w20,#27 235 eor w4,w4,w12 236 add w23,w23,w28 // future e+=K 237 orr w25,w25,w26 238 add w24,w24,w27 // e+=rot(a,5) 239 eor w4,w4,w17 240 ror w21,w21,#2 241 add w23,w23,w3 // future e+=X[i] 242 add w24,w24,w25 // e+=F(b,c,d) 243 ror w4,w4,#31 244 eor w5,w5,w7 245 bic w25,w22,w20 246 and w26,w21,w20 247 ror w27,w24,#27 248 eor w5,w5,w13 249 add w22,w22,w28 // future e+=K 250 orr w25,w25,w26 251 add w23,w23,w27 // e+=rot(a,5) 252 eor w5,w5,w19 253 ror w20,w20,#2 254 add w22,w22,w4 // future e+=X[i] 255 add w23,w23,w25 // e+=F(b,c,d) 256 ror w5,w5,#31 257 eor w6,w6,w8 258 bic w25,w21,w24 259 and w26,w20,w24 260 ror w27,w23,#27 261 eor w6,w6,w14 262 add w21,w21,w28 // future e+=K 263 orr w25,w25,w26 264 add w22,w22,w27 // e+=rot(a,5) 265 eor w6,w6,w3 266 ror w24,w24,#2 267 add w21,w21,w5 // future e+=X[i] 268 add w22,w22,w25 // e+=F(b,c,d) 269 ror w6,w6,#31 270 eor w7,w7,w9 271 bic w25,w20,w23 272 and w26,w24,w23 273 ror w27,w22,#27 274 eor w7,w7,w15 275 add w20,w20,w28 // future e+=K 276 orr w25,w25,w26 277 add w21,w21,w27 // e+=rot(a,5) 278 eor w7,w7,w4 279 ror w23,w23,#2 280 add w20,w20,w6 // future e+=X[i] 281 add w21,w21,w25 // e+=F(b,c,d) 282 ror w7,w7,#31 283 movz w28,#0xeba1 284 movk w28,#0x6ed9,lsl#16 285 eor w8,w8,w10 286 bic w25,w24,w22 287 and w26,w23,w22 288 ror w27,w21,#27 289 eor w8,w8,w16 290 add w24,w24,w28 // future e+=K 291 orr w25,w25,w26 292 add w20,w20,w27 // e+=rot(a,5) 293 eor w8,w8,w5 294 ror w22,w22,#2 295 add w24,w24,w7 // future e+=X[i] 296 add w20,w20,w25 // e+=F(b,c,d) 297 ror w8,w8,#31 298 eor w9,w9,w11 299 eor w25,w23,w21 300 ror w27,w20,#27 301 add w23,w23,w28 // future e+=K 302 eor w9,w9,w17 303 eor w25,w25,w22 304 add w24,w24,w27 // e+=rot(a,5) 305 ror w21,w21,#2 306 eor w9,w9,w6 307 add w23,w23,w8 // future e+=X[i] 308 add w24,w24,w25 // e+=F(b,c,d) 309 ror w9,w9,#31 310 eor w10,w10,w12 311 eor w25,w22,w20 312 ror w27,w24,#27 313 add w22,w22,w28 // future e+=K 314 eor w10,w10,w19 315 eor w25,w25,w21 316 add w23,w23,w27 // e+=rot(a,5) 317 ror w20,w20,#2 318 eor w10,w10,w7 319 add w22,w22,w9 // future e+=X[i] 320 add w23,w23,w25 // e+=F(b,c,d) 321 ror w10,w10,#31 322 eor w11,w11,w13 323 eor w25,w21,w24 324 ror w27,w23,#27 325 add w21,w21,w28 // future e+=K 326 eor w11,w11,w3 327 eor w25,w25,w20 328 add w22,w22,w27 // e+=rot(a,5) 329 ror w24,w24,#2 330 eor w11,w11,w8 331 add w21,w21,w10 // future e+=X[i] 332 add w22,w22,w25 // e+=F(b,c,d) 333 ror w11,w11,#31 334 eor w12,w12,w14 335 eor w25,w20,w23 336 ror w27,w22,#27 337 add w20,w20,w28 // future e+=K 338 eor w12,w12,w4 339 eor w25,w25,w24 340 add w21,w21,w27 // e+=rot(a,5) 341 ror w23,w23,#2 342 eor w12,w12,w9 343 add w20,w20,w11 // future e+=X[i] 344 add w21,w21,w25 // e+=F(b,c,d) 345 ror w12,w12,#31 346 eor w13,w13,w15 347 eor w25,w24,w22 348 ror w27,w21,#27 349 add w24,w24,w28 // future e+=K 350 eor w13,w13,w5 351 eor w25,w25,w23 352 add w20,w20,w27 // e+=rot(a,5) 353 ror w22,w22,#2 354 eor w13,w13,w10 355 add w24,w24,w12 // future e+=X[i] 356 add w20,w20,w25 // e+=F(b,c,d) 357 ror w13,w13,#31 358 eor w14,w14,w16 359 eor w25,w23,w21 360 ror w27,w20,#27 361 add w23,w23,w28 // future e+=K 362 eor w14,w14,w6 363 eor w25,w25,w22 364 add w24,w24,w27 // e+=rot(a,5) 365 ror w21,w21,#2 366 eor w14,w14,w11 367 add w23,w23,w13 // future e+=X[i] 368 add w24,w24,w25 // e+=F(b,c,d) 369 ror w14,w14,#31 370 eor w15,w15,w17 371 eor w25,w22,w20 372 ror w27,w24,#27 373 add w22,w22,w28 // future e+=K 374 eor w15,w15,w7 375 eor w25,w25,w21 376 add w23,w23,w27 // e+=rot(a,5) 377 ror w20,w20,#2 378 eor w15,w15,w12 379 add w22,w22,w14 // future e+=X[i] 380 add w23,w23,w25 // e+=F(b,c,d) 381 ror w15,w15,#31 382 eor w16,w16,w19 383 eor w25,w21,w24 384 ror w27,w23,#27 385 add w21,w21,w28 // future e+=K 386 eor w16,w16,w8 387 eor w25,w25,w20 388 add w22,w22,w27 // e+=rot(a,5) 389 ror w24,w24,#2 390 eor w16,w16,w13 391 add w21,w21,w15 // future e+=X[i] 392 add w22,w22,w25 // e+=F(b,c,d) 393 ror w16,w16,#31 394 eor w17,w17,w3 395 eor w25,w20,w23 396 ror w27,w22,#27 397 add w20,w20,w28 // future e+=K 398 eor w17,w17,w9 399 eor w25,w25,w24 400 add w21,w21,w27 // e+=rot(a,5) 401 ror w23,w23,#2 402 eor w17,w17,w14 403 add w20,w20,w16 // future e+=X[i] 404 add w21,w21,w25 // e+=F(b,c,d) 405 ror w17,w17,#31 406 eor w19,w19,w4 407 eor w25,w24,w22 408 ror w27,w21,#27 409 add w24,w24,w28 // future e+=K 410 eor w19,w19,w10 411 eor w25,w25,w23 412 add w20,w20,w27 // e+=rot(a,5) 413 ror w22,w22,#2 414 eor w19,w19,w15 415 add w24,w24,w17 // future e+=X[i] 416 add w20,w20,w25 // e+=F(b,c,d) 417 ror w19,w19,#31 418 eor w3,w3,w5 419 eor w25,w23,w21 420 ror w27,w20,#27 421 add w23,w23,w28 // future e+=K 422 eor w3,w3,w11 423 eor w25,w25,w22 424 add w24,w24,w27 // e+=rot(a,5) 425 ror w21,w21,#2 426 eor w3,w3,w16 427 add w23,w23,w19 // future e+=X[i] 428 add w24,w24,w25 // e+=F(b,c,d) 429 ror w3,w3,#31 430 eor w4,w4,w6 431 eor w25,w22,w20 432 ror w27,w24,#27 433 add w22,w22,w28 // future e+=K 434 eor w4,w4,w12 435 eor w25,w25,w21 436 add w23,w23,w27 // e+=rot(a,5) 437 ror w20,w20,#2 438 eor w4,w4,w17 439 add w22,w22,w3 // future e+=X[i] 440 add w23,w23,w25 // e+=F(b,c,d) 441 ror w4,w4,#31 442 eor w5,w5,w7 443 eor w25,w21,w24 444 ror w27,w23,#27 445 add w21,w21,w28 // future e+=K 446 eor w5,w5,w13 447 eor w25,w25,w20 448 add w22,w22,w27 // e+=rot(a,5) 449 ror w24,w24,#2 450 eor w5,w5,w19 451 add w21,w21,w4 // future e+=X[i] 452 add w22,w22,w25 // e+=F(b,c,d) 453 ror w5,w5,#31 454 eor w6,w6,w8 455 eor w25,w20,w23 456 ror w27,w22,#27 457 add w20,w20,w28 // future e+=K 458 eor w6,w6,w14 459 eor w25,w25,w24 460 add w21,w21,w27 // e+=rot(a,5) 461 ror w23,w23,#2 462 eor w6,w6,w3 463 add w20,w20,w5 // future e+=X[i] 464 add w21,w21,w25 // e+=F(b,c,d) 465 ror w6,w6,#31 466 eor w7,w7,w9 467 eor w25,w24,w22 468 ror w27,w21,#27 469 add w24,w24,w28 // future e+=K 470 eor w7,w7,w15 471 eor w25,w25,w23 472 add w20,w20,w27 // e+=rot(a,5) 473 ror w22,w22,#2 474 eor w7,w7,w4 475 add w24,w24,w6 // future e+=X[i] 476 add w20,w20,w25 // e+=F(b,c,d) 477 ror w7,w7,#31 478 eor w8,w8,w10 479 eor w25,w23,w21 480 ror w27,w20,#27 481 add w23,w23,w28 // future e+=K 482 eor w8,w8,w16 483 eor w25,w25,w22 484 add w24,w24,w27 // e+=rot(a,5) 485 ror w21,w21,#2 486 eor w8,w8,w5 487 add w23,w23,w7 // future e+=X[i] 488 add w24,w24,w25 // e+=F(b,c,d) 489 ror w8,w8,#31 490 eor w9,w9,w11 491 eor w25,w22,w20 492 ror w27,w24,#27 493 add w22,w22,w28 // future e+=K 494 eor w9,w9,w17 495 eor w25,w25,w21 496 add w23,w23,w27 // e+=rot(a,5) 497 ror w20,w20,#2 498 eor w9,w9,w6 499 add w22,w22,w8 // future e+=X[i] 500 add w23,w23,w25 // e+=F(b,c,d) 501 ror w9,w9,#31 502 eor w10,w10,w12 503 eor w25,w21,w24 504 ror w27,w23,#27 505 add w21,w21,w28 // future e+=K 506 eor w10,w10,w19 507 eor w25,w25,w20 508 add w22,w22,w27 // e+=rot(a,5) 509 ror w24,w24,#2 510 eor w10,w10,w7 511 add w21,w21,w9 // future e+=X[i] 512 add w22,w22,w25 // e+=F(b,c,d) 513 ror w10,w10,#31 514 eor w11,w11,w13 515 eor w25,w20,w23 516 ror w27,w22,#27 517 add w20,w20,w28 // future e+=K 518 eor w11,w11,w3 519 eor w25,w25,w24 520 add w21,w21,w27 // e+=rot(a,5) 521 ror w23,w23,#2 522 eor w11,w11,w8 523 add w20,w20,w10 // future e+=X[i] 524 add w21,w21,w25 // e+=F(b,c,d) 525 ror w11,w11,#31 526 movz w28,#0xbcdc 527 movk w28,#0x8f1b,lsl#16 528 eor w12,w12,w14 529 eor w25,w24,w22 530 ror w27,w21,#27 531 add w24,w24,w28 // future e+=K 532 eor w12,w12,w4 533 eor w25,w25,w23 534 add w20,w20,w27 // e+=rot(a,5) 535 ror w22,w22,#2 536 eor w12,w12,w9 537 add w24,w24,w11 // future e+=X[i] 538 add w20,w20,w25 // e+=F(b,c,d) 539 ror w12,w12,#31 540 orr w25,w21,w22 541 and w26,w21,w22 542 eor w13,w13,w15 543 ror w27,w20,#27 544 and w25,w25,w23 545 add w23,w23,w28 // future e+=K 546 eor w13,w13,w5 547 add w24,w24,w27 // e+=rot(a,5) 548 orr w25,w25,w26 549 ror w21,w21,#2 550 eor w13,w13,w10 551 add w23,w23,w12 // future e+=X[i] 552 add w24,w24,w25 // e+=F(b,c,d) 553 ror w13,w13,#31 554 orr w25,w20,w21 555 and w26,w20,w21 556 eor w14,w14,w16 557 ror w27,w24,#27 558 and w25,w25,w22 559 add w22,w22,w28 // future e+=K 560 eor w14,w14,w6 561 add w23,w23,w27 // e+=rot(a,5) 562 orr w25,w25,w26 563 ror w20,w20,#2 564 eor w14,w14,w11 565 add w22,w22,w13 // future e+=X[i] 566 add w23,w23,w25 // e+=F(b,c,d) 567 ror w14,w14,#31 568 orr w25,w24,w20 569 and w26,w24,w20 570 eor w15,w15,w17 571 ror w27,w23,#27 572 and w25,w25,w21 573 add w21,w21,w28 // future e+=K 574 eor w15,w15,w7 575 add w22,w22,w27 // e+=rot(a,5) 576 orr w25,w25,w26 577 ror w24,w24,#2 578 eor w15,w15,w12 579 add w21,w21,w14 // future e+=X[i] 580 add w22,w22,w25 // e+=F(b,c,d) 581 ror w15,w15,#31 582 orr w25,w23,w24 583 and w26,w23,w24 584 eor w16,w16,w19 585 ror w27,w22,#27 586 and w25,w25,w20 587 add w20,w20,w28 // future e+=K 588 eor w16,w16,w8 589 add w21,w21,w27 // e+=rot(a,5) 590 orr w25,w25,w26 591 ror w23,w23,#2 592 eor w16,w16,w13 593 add w20,w20,w15 // future e+=X[i] 594 add w21,w21,w25 // e+=F(b,c,d) 595 ror w16,w16,#31 596 orr w25,w22,w23 597 and w26,w22,w23 598 eor w17,w17,w3 599 ror w27,w21,#27 600 and w25,w25,w24 601 add w24,w24,w28 // future e+=K 602 eor w17,w17,w9 603 add w20,w20,w27 // e+=rot(a,5) 604 orr w25,w25,w26 605 ror w22,w22,#2 606 eor w17,w17,w14 607 add w24,w24,w16 // future e+=X[i] 608 add w20,w20,w25 // e+=F(b,c,d) 609 ror w17,w17,#31 610 orr w25,w21,w22 611 and w26,w21,w22 612 eor w19,w19,w4 613 ror w27,w20,#27 614 and w25,w25,w23 615 add w23,w23,w28 // future e+=K 616 eor w19,w19,w10 617 add w24,w24,w27 // e+=rot(a,5) 618 orr w25,w25,w26 619 ror w21,w21,#2 620 eor w19,w19,w15 621 add w23,w23,w17 // future e+=X[i] 622 add w24,w24,w25 // e+=F(b,c,d) 623 ror w19,w19,#31 624 orr w25,w20,w21 625 and w26,w20,w21 626 eor w3,w3,w5 627 ror w27,w24,#27 628 and w25,w25,w22 629 add w22,w22,w28 // future e+=K 630 eor w3,w3,w11 631 add w23,w23,w27 // e+=rot(a,5) 632 orr w25,w25,w26 633 ror w20,w20,#2 634 eor w3,w3,w16 635 add w22,w22,w19 // future e+=X[i] 636 add w23,w23,w25 // e+=F(b,c,d) 637 ror w3,w3,#31 638 orr w25,w24,w20 639 and w26,w24,w20 640 eor w4,w4,w6 641 ror w27,w23,#27 642 and w25,w25,w21 643 add w21,w21,w28 // future e+=K 644 eor w4,w4,w12 645 add w22,w22,w27 // e+=rot(a,5) 646 orr w25,w25,w26 647 ror w24,w24,#2 648 eor w4,w4,w17 649 add w21,w21,w3 // future e+=X[i] 650 add w22,w22,w25 // e+=F(b,c,d) 651 ror w4,w4,#31 652 orr w25,w23,w24 653 and w26,w23,w24 654 eor w5,w5,w7 655 ror w27,w22,#27 656 and w25,w25,w20 657 add w20,w20,w28 // future e+=K 658 eor w5,w5,w13 659 add w21,w21,w27 // e+=rot(a,5) 660 orr w25,w25,w26 661 ror w23,w23,#2 662 eor w5,w5,w19 663 add w20,w20,w4 // future e+=X[i] 664 add w21,w21,w25 // e+=F(b,c,d) 665 ror w5,w5,#31 666 orr w25,w22,w23 667 and w26,w22,w23 668 eor w6,w6,w8 669 ror w27,w21,#27 670 and w25,w25,w24 671 add w24,w24,w28 // future e+=K 672 eor w6,w6,w14 673 add w20,w20,w27 // e+=rot(a,5) 674 orr w25,w25,w26 675 ror w22,w22,#2 676 eor w6,w6,w3 677 add w24,w24,w5 // future e+=X[i] 678 add w20,w20,w25 // e+=F(b,c,d) 679 ror w6,w6,#31 680 orr w25,w21,w22 681 and w26,w21,w22 682 eor w7,w7,w9 683 ror w27,w20,#27 684 and w25,w25,w23 685 add w23,w23,w28 // future e+=K 686 eor w7,w7,w15 687 add w24,w24,w27 // e+=rot(a,5) 688 orr w25,w25,w26 689 ror w21,w21,#2 690 eor w7,w7,w4 691 add w23,w23,w6 // future e+=X[i] 692 add w24,w24,w25 // e+=F(b,c,d) 693 ror w7,w7,#31 694 orr w25,w20,w21 695 and w26,w20,w21 696 eor w8,w8,w10 697 ror w27,w24,#27 698 and w25,w25,w22 699 add w22,w22,w28 // future e+=K 700 eor w8,w8,w16 701 add w23,w23,w27 // e+=rot(a,5) 702 orr w25,w25,w26 703 ror w20,w20,#2 704 eor w8,w8,w5 705 add w22,w22,w7 // future e+=X[i] 706 add w23,w23,w25 // e+=F(b,c,d) 707 ror w8,w8,#31 708 orr w25,w24,w20 709 and w26,w24,w20 710 eor w9,w9,w11 711 ror w27,w23,#27 712 and w25,w25,w21 713 add w21,w21,w28 // future e+=K 714 eor w9,w9,w17 715 add w22,w22,w27 // e+=rot(a,5) 716 orr w25,w25,w26 717 ror w24,w24,#2 718 eor w9,w9,w6 719 add w21,w21,w8 // future e+=X[i] 720 add w22,w22,w25 // e+=F(b,c,d) 721 ror w9,w9,#31 722 orr w25,w23,w24 723 and w26,w23,w24 724 eor w10,w10,w12 725 ror w27,w22,#27 726 and w25,w25,w20 727 add w20,w20,w28 // future e+=K 728 eor w10,w10,w19 729 add w21,w21,w27 // e+=rot(a,5) 730 orr w25,w25,w26 731 ror w23,w23,#2 732 eor w10,w10,w7 733 add w20,w20,w9 // future e+=X[i] 734 add w21,w21,w25 // e+=F(b,c,d) 735 ror w10,w10,#31 736 orr w25,w22,w23 737 and w26,w22,w23 738 eor w11,w11,w13 739 ror w27,w21,#27 740 and w25,w25,w24 741 add w24,w24,w28 // future e+=K 742 eor w11,w11,w3 743 add w20,w20,w27 // e+=rot(a,5) 744 orr w25,w25,w26 745 ror w22,w22,#2 746 eor w11,w11,w8 747 add w24,w24,w10 // future e+=X[i] 748 add w20,w20,w25 // e+=F(b,c,d) 749 ror w11,w11,#31 750 orr w25,w21,w22 751 and w26,w21,w22 752 eor w12,w12,w14 753 ror w27,w20,#27 754 and w25,w25,w23 755 add w23,w23,w28 // future e+=K 756 eor w12,w12,w4 757 add w24,w24,w27 // e+=rot(a,5) 758 orr w25,w25,w26 759 ror w21,w21,#2 760 eor w12,w12,w9 761 add w23,w23,w11 // future e+=X[i] 762 add w24,w24,w25 // e+=F(b,c,d) 763 ror w12,w12,#31 764 orr w25,w20,w21 765 and w26,w20,w21 766 eor w13,w13,w15 767 ror w27,w24,#27 768 and w25,w25,w22 769 add w22,w22,w28 // future e+=K 770 eor w13,w13,w5 771 add w23,w23,w27 // e+=rot(a,5) 772 orr w25,w25,w26 773 ror w20,w20,#2 774 eor w13,w13,w10 775 add w22,w22,w12 // future e+=X[i] 776 add w23,w23,w25 // e+=F(b,c,d) 777 ror w13,w13,#31 778 orr w25,w24,w20 779 and w26,w24,w20 780 eor w14,w14,w16 781 ror w27,w23,#27 782 and w25,w25,w21 783 add w21,w21,w28 // future e+=K 784 eor w14,w14,w6 785 add w22,w22,w27 // e+=rot(a,5) 786 orr w25,w25,w26 787 ror w24,w24,#2 788 eor w14,w14,w11 789 add w21,w21,w13 // future e+=X[i] 790 add w22,w22,w25 // e+=F(b,c,d) 791 ror w14,w14,#31 792 orr w25,w23,w24 793 and w26,w23,w24 794 eor w15,w15,w17 795 ror w27,w22,#27 796 and w25,w25,w20 797 add w20,w20,w28 // future e+=K 798 eor w15,w15,w7 799 add w21,w21,w27 // e+=rot(a,5) 800 orr w25,w25,w26 801 ror w23,w23,#2 802 eor w15,w15,w12 803 add w20,w20,w14 // future e+=X[i] 804 add w21,w21,w25 // e+=F(b,c,d) 805 ror w15,w15,#31 806 movz w28,#0xc1d6 807 movk w28,#0xca62,lsl#16 808 orr w25,w22,w23 809 and w26,w22,w23 810 eor w16,w16,w19 811 ror w27,w21,#27 812 and w25,w25,w24 813 add w24,w24,w28 // future e+=K 814 eor w16,w16,w8 815 add w20,w20,w27 // e+=rot(a,5) 816 orr w25,w25,w26 817 ror w22,w22,#2 818 eor w16,w16,w13 819 add w24,w24,w15 // future e+=X[i] 820 add w20,w20,w25 // e+=F(b,c,d) 821 ror w16,w16,#31 822 eor w17,w17,w3 823 eor w25,w23,w21 824 ror w27,w20,#27 825 add w23,w23,w28 // future e+=K 826 eor w17,w17,w9 827 eor w25,w25,w22 828 add w24,w24,w27 // e+=rot(a,5) 829 ror w21,w21,#2 830 eor w17,w17,w14 831 add w23,w23,w16 // future e+=X[i] 832 add w24,w24,w25 // e+=F(b,c,d) 833 ror w17,w17,#31 834 eor w19,w19,w4 835 eor w25,w22,w20 836 ror w27,w24,#27 837 add w22,w22,w28 // future e+=K 838 eor w19,w19,w10 839 eor w25,w25,w21 840 add w23,w23,w27 // e+=rot(a,5) 841 ror w20,w20,#2 842 eor w19,w19,w15 843 add w22,w22,w17 // future e+=X[i] 844 add w23,w23,w25 // e+=F(b,c,d) 845 ror w19,w19,#31 846 eor w3,w3,w5 847 eor w25,w21,w24 848 ror w27,w23,#27 849 add w21,w21,w28 // future e+=K 850 eor w3,w3,w11 851 eor w25,w25,w20 852 add w22,w22,w27 // e+=rot(a,5) 853 ror w24,w24,#2 854 eor w3,w3,w16 855 add w21,w21,w19 // future e+=X[i] 856 add w22,w22,w25 // e+=F(b,c,d) 857 ror w3,w3,#31 858 eor w4,w4,w6 859 eor w25,w20,w23 860 ror w27,w22,#27 861 add w20,w20,w28 // future e+=K 862 eor w4,w4,w12 863 eor w25,w25,w24 864 add w21,w21,w27 // e+=rot(a,5) 865 ror w23,w23,#2 866 eor w4,w4,w17 867 add w20,w20,w3 // future e+=X[i] 868 add w21,w21,w25 // e+=F(b,c,d) 869 ror w4,w4,#31 870 eor w5,w5,w7 871 eor w25,w24,w22 872 ror w27,w21,#27 873 add w24,w24,w28 // future e+=K 874 eor w5,w5,w13 875 eor w25,w25,w23 876 add w20,w20,w27 // e+=rot(a,5) 877 ror w22,w22,#2 878 eor w5,w5,w19 879 add w24,w24,w4 // future e+=X[i] 880 add w20,w20,w25 // e+=F(b,c,d) 881 ror w5,w5,#31 882 eor w6,w6,w8 883 eor w25,w23,w21 884 ror w27,w20,#27 885 add w23,w23,w28 // future e+=K 886 eor w6,w6,w14 887 eor w25,w25,w22 888 add w24,w24,w27 // e+=rot(a,5) 889 ror w21,w21,#2 890 eor w6,w6,w3 891 add w23,w23,w5 // future e+=X[i] 892 add w24,w24,w25 // e+=F(b,c,d) 893 ror w6,w6,#31 894 eor w7,w7,w9 895 eor w25,w22,w20 896 ror w27,w24,#27 897 add w22,w22,w28 // future e+=K 898 eor w7,w7,w15 899 eor w25,w25,w21 900 add w23,w23,w27 // e+=rot(a,5) 901 ror w20,w20,#2 902 eor w7,w7,w4 903 add w22,w22,w6 // future e+=X[i] 904 add w23,w23,w25 // e+=F(b,c,d) 905 ror w7,w7,#31 906 eor w8,w8,w10 907 eor w25,w21,w24 908 ror w27,w23,#27 909 add w21,w21,w28 // future e+=K 910 eor w8,w8,w16 911 eor w25,w25,w20 912 add w22,w22,w27 // e+=rot(a,5) 913 ror w24,w24,#2 914 eor w8,w8,w5 915 add w21,w21,w7 // future e+=X[i] 916 add w22,w22,w25 // e+=F(b,c,d) 917 ror w8,w8,#31 918 eor w9,w9,w11 919 eor w25,w20,w23 920 ror w27,w22,#27 921 add w20,w20,w28 // future e+=K 922 eor w9,w9,w17 923 eor w25,w25,w24 924 add w21,w21,w27 // e+=rot(a,5) 925 ror w23,w23,#2 926 eor w9,w9,w6 927 add w20,w20,w8 // future e+=X[i] 928 add w21,w21,w25 // e+=F(b,c,d) 929 ror w9,w9,#31 930 eor w10,w10,w12 931 eor w25,w24,w22 932 ror w27,w21,#27 933 add w24,w24,w28 // future e+=K 934 eor w10,w10,w19 935 eor w25,w25,w23 936 add w20,w20,w27 // e+=rot(a,5) 937 ror w22,w22,#2 938 eor w10,w10,w7 939 add w24,w24,w9 // future e+=X[i] 940 add w20,w20,w25 // e+=F(b,c,d) 941 ror w10,w10,#31 942 eor w11,w11,w13 943 eor w25,w23,w21 944 ror w27,w20,#27 945 add w23,w23,w28 // future e+=K 946 eor w11,w11,w3 947 eor w25,w25,w22 948 add w24,w24,w27 // e+=rot(a,5) 949 ror w21,w21,#2 950 eor w11,w11,w8 951 add w23,w23,w10 // future e+=X[i] 952 add w24,w24,w25 // e+=F(b,c,d) 953 ror w11,w11,#31 954 eor w12,w12,w14 955 eor w25,w22,w20 956 ror w27,w24,#27 957 add w22,w22,w28 // future e+=K 958 eor w12,w12,w4 959 eor w25,w25,w21 960 add w23,w23,w27 // e+=rot(a,5) 961 ror w20,w20,#2 962 eor w12,w12,w9 963 add w22,w22,w11 // future e+=X[i] 964 add w23,w23,w25 // e+=F(b,c,d) 965 ror w12,w12,#31 966 eor w13,w13,w15 967 eor w25,w21,w24 968 ror w27,w23,#27 969 add w21,w21,w28 // future e+=K 970 eor w13,w13,w5 971 eor w25,w25,w20 972 add w22,w22,w27 // e+=rot(a,5) 973 ror w24,w24,#2 974 eor w13,w13,w10 975 add w21,w21,w12 // future e+=X[i] 976 add w22,w22,w25 // e+=F(b,c,d) 977 ror w13,w13,#31 978 eor w14,w14,w16 979 eor w25,w20,w23 980 ror w27,w22,#27 981 add w20,w20,w28 // future e+=K 982 eor w14,w14,w6 983 eor w25,w25,w24 984 add w21,w21,w27 // e+=rot(a,5) 985 ror w23,w23,#2 986 eor w14,w14,w11 987 add w20,w20,w13 // future e+=X[i] 988 add w21,w21,w25 // e+=F(b,c,d) 989 ror w14,w14,#31 990 eor w15,w15,w17 991 eor w25,w24,w22 992 ror w27,w21,#27 993 add w24,w24,w28 // future e+=K 994 eor w15,w15,w7 995 eor w25,w25,w23 996 add w20,w20,w27 // e+=rot(a,5) 997 ror w22,w22,#2 998 eor w15,w15,w12 999 add w24,w24,w14 // future e+=X[i] 1000 add w20,w20,w25 // e+=F(b,c,d) 1001 ror w15,w15,#31 1002 eor w16,w16,w19 1003 eor w25,w23,w21 1004 ror w27,w20,#27 1005 add w23,w23,w28 // future e+=K 1006 eor w16,w16,w8 1007 eor w25,w25,w22 1008 add w24,w24,w27 // e+=rot(a,5) 1009 ror w21,w21,#2 1010 eor w16,w16,w13 1011 add w23,w23,w15 // future e+=X[i] 1012 add w24,w24,w25 // e+=F(b,c,d) 1013 ror w16,w16,#31 1014 eor w17,w17,w3 1015 eor w25,w22,w20 1016 ror w27,w24,#27 1017 add w22,w22,w28 // future e+=K 1018 eor w17,w17,w9 1019 eor w25,w25,w21 1020 add w23,w23,w27 // e+=rot(a,5) 1021 ror w20,w20,#2 1022 eor w17,w17,w14 1023 add w22,w22,w16 // future e+=X[i] 1024 add w23,w23,w25 // e+=F(b,c,d) 1025 ror w17,w17,#31 1026 eor w19,w19,w4 1027 eor w25,w21,w24 1028 ror w27,w23,#27 1029 add w21,w21,w28 // future e+=K 1030 eor w19,w19,w10 1031 eor w25,w25,w20 1032 add w22,w22,w27 // e+=rot(a,5) 1033 ror w24,w24,#2 1034 eor w19,w19,w15 1035 add w21,w21,w17 // future e+=X[i] 1036 add w22,w22,w25 // e+=F(b,c,d) 1037 ror w19,w19,#31 1038 ldp w4,w5,[x0] 1039 eor w25,w20,w23 1040 ror w27,w22,#27 1041 add w20,w20,w28 // future e+=K 1042 eor w25,w25,w24 1043 add w21,w21,w27 // e+=rot(a,5) 1044 ror w23,w23,#2 1045 add w20,w20,w19 // future e+=X[i] 1046 add w21,w21,w25 // e+=F(b,c,d) 1047 ldp w6,w7,[x0,#8] 1048 eor w25,w24,w22 1049 ror w27,w21,#27 1050 eor w25,w25,w23 1051 add w20,w20,w27 // e+=rot(a,5) 1052 ror w22,w22,#2 1053 ldr w8,[x0,#16] 1054 add w20,w20,w25 // e+=F(b,c,d) 1055 add w21,w21,w5 1056 add w22,w22,w6 1057 add w20,w20,w4 1058 add w23,w23,w7 1059 add w24,w24,w8 1060 stp w20,w21,[x0] 1061 stp w22,w23,[x0,#8] 1062 str w24,[x0,#16] 1063 cbnz x2,.Loop 1064 1065 ldp x19,x20,[sp,#16] 1066 ldp x21,x22,[sp,#32] 1067 ldp x23,x24,[sp,#48] 1068 ldp x25,x26,[sp,#64] 1069 ldp x27,x28,[sp,#80] 1070 ldr x29,[sp],#96 1071 ret 1072.size sha1_block_data_order,.-sha1_block_data_order 1073.type sha1_block_armv8,%function 1074.align 6 1075sha1_block_armv8: 1076.Lv8_entry: 1077 stp x29,x30,[sp,#-16]! 1078 add x29,sp,#0 1079 1080 adr x4,.Lconst 1081 eor v1.16b,v1.16b,v1.16b 1082 ld1 {v0.4s},[x0],#16 1083 ld1 {v1.s}[0],[x0] 1084 sub x0,x0,#16 1085 ld1 {v16.4s,v17.4s,v18.4s,v19.4s},[x4] 1086 1087.Loop_hw: 1088 ld1 {v4.16b,v5.16b,v6.16b,v7.16b},[x1],#64 1089 sub x2,x2,#1 1090 rev32 v4.16b,v4.16b 1091 rev32 v5.16b,v5.16b 1092 1093 add v20.4s,v16.4s,v4.4s 1094 rev32 v6.16b,v6.16b 1095 orr v22.16b,v0.16b,v0.16b // offload 1096 1097 add v21.4s,v16.4s,v5.4s 1098 rev32 v7.16b,v7.16b 1099.inst 0x5e280803 //sha1h v3.16b,v0.16b 1100.inst 0x5e140020 //sha1c v0.16b,v1.16b,v20.4s // 0 1101 add v20.4s,v16.4s,v6.4s 1102.inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b 1103.inst 0x5e280802 //sha1h v2.16b,v0.16b // 1 1104.inst 0x5e150060 //sha1c v0.16b,v3.16b,v21.4s 1105 add v21.4s,v16.4s,v7.4s 1106.inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b 1107.inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b 1108.inst 0x5e280803 //sha1h v3.16b,v0.16b // 2 1109.inst 0x5e140040 //sha1c v0.16b,v2.16b,v20.4s 1110 add v20.4s,v16.4s,v4.4s 1111.inst 0x5e281885 //sha1su1 v5.16b,v4.16b 1112.inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b 1113.inst 0x5e280802 //sha1h v2.16b,v0.16b // 3 1114.inst 0x5e150060 //sha1c v0.16b,v3.16b,v21.4s 1115 add v21.4s,v17.4s,v5.4s 1116.inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b 1117.inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b 1118.inst 0x5e280803 //sha1h v3.16b,v0.16b // 4 1119.inst 0x5e140040 //sha1c v0.16b,v2.16b,v20.4s 1120 add v20.4s,v17.4s,v6.4s 1121.inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b 1122.inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b 1123.inst 0x5e280802 //sha1h v2.16b,v0.16b // 5 1124.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1125 add v21.4s,v17.4s,v7.4s 1126.inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b 1127.inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b 1128.inst 0x5e280803 //sha1h v3.16b,v0.16b // 6 1129.inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s 1130 add v20.4s,v17.4s,v4.4s 1131.inst 0x5e281885 //sha1su1 v5.16b,v4.16b 1132.inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b 1133.inst 0x5e280802 //sha1h v2.16b,v0.16b // 7 1134.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1135 add v21.4s,v17.4s,v5.4s 1136.inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b 1137.inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b 1138.inst 0x5e280803 //sha1h v3.16b,v0.16b // 8 1139.inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s 1140 add v20.4s,v18.4s,v6.4s 1141.inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b 1142.inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b 1143.inst 0x5e280802 //sha1h v2.16b,v0.16b // 9 1144.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1145 add v21.4s,v18.4s,v7.4s 1146.inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b 1147.inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b 1148.inst 0x5e280803 //sha1h v3.16b,v0.16b // 10 1149.inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s 1150 add v20.4s,v18.4s,v4.4s 1151.inst 0x5e281885 //sha1su1 v5.16b,v4.16b 1152.inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b 1153.inst 0x5e280802 //sha1h v2.16b,v0.16b // 11 1154.inst 0x5e152060 //sha1m v0.16b,v3.16b,v21.4s 1155 add v21.4s,v18.4s,v5.4s 1156.inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b 1157.inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b 1158.inst 0x5e280803 //sha1h v3.16b,v0.16b // 12 1159.inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s 1160 add v20.4s,v18.4s,v6.4s 1161.inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b 1162.inst 0x5e0630a4 //sha1su0 v4.16b,v5.16b,v6.16b 1163.inst 0x5e280802 //sha1h v2.16b,v0.16b // 13 1164.inst 0x5e152060 //sha1m v0.16b,v3.16b,v21.4s 1165 add v21.4s,v19.4s,v7.4s 1166.inst 0x5e2818e4 //sha1su1 v4.16b,v7.16b 1167.inst 0x5e0730c5 //sha1su0 v5.16b,v6.16b,v7.16b 1168.inst 0x5e280803 //sha1h v3.16b,v0.16b // 14 1169.inst 0x5e142040 //sha1m v0.16b,v2.16b,v20.4s 1170 add v20.4s,v19.4s,v4.4s 1171.inst 0x5e281885 //sha1su1 v5.16b,v4.16b 1172.inst 0x5e0430e6 //sha1su0 v6.16b,v7.16b,v4.16b 1173.inst 0x5e280802 //sha1h v2.16b,v0.16b // 15 1174.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1175 add v21.4s,v19.4s,v5.4s 1176.inst 0x5e2818a6 //sha1su1 v6.16b,v5.16b 1177.inst 0x5e053087 //sha1su0 v7.16b,v4.16b,v5.16b 1178.inst 0x5e280803 //sha1h v3.16b,v0.16b // 16 1179.inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s 1180 add v20.4s,v19.4s,v6.4s 1181.inst 0x5e2818c7 //sha1su1 v7.16b,v6.16b 1182.inst 0x5e280802 //sha1h v2.16b,v0.16b // 17 1183.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1184 add v21.4s,v19.4s,v7.4s 1185 1186.inst 0x5e280803 //sha1h v3.16b,v0.16b // 18 1187.inst 0x5e141040 //sha1p v0.16b,v2.16b,v20.4s 1188 1189.inst 0x5e280802 //sha1h v2.16b,v0.16b // 19 1190.inst 0x5e151060 //sha1p v0.16b,v3.16b,v21.4s 1191 1192 add v1.4s,v1.4s,v2.4s 1193 add v0.4s,v0.4s,v22.4s 1194 1195 cbnz x2,.Loop_hw 1196 1197 st1 {v0.4s},[x0],#16 1198 st1 {v1.s}[0],[x0] 1199 1200 ldr x29,[sp],#16 1201 ret 1202.size sha1_block_armv8,.-sha1_block_armv8 1203.align 6 1204.Lconst: 1205.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 //K_00_19 1206.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 //K_20_39 1207.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc //K_40_59 1208.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 //K_60_79 1209.LOPENSSL_armcap_P: 1210.quad OPENSSL_armcap_P-. 1211.byte 83,72,65,49,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 1212.align 2 1213.align 2 1214.comm OPENSSL_armcap_P,4,4 1215#endif