1# This file is generated from a similarly-named Perl script in the BoringSSL 2# source tree. Do not edit by hand. 3 4#if defined(__has_feature) 5#if __has_feature(memory_sanitizer) && !defined(OPENSSL_NO_ASM) 6#define OPENSSL_NO_ASM 7#endif 8#endif 9 10#if defined(__x86_64__) && !defined(OPENSSL_NO_ASM) 11#if defined(BORINGSSL_PREFIX) 12#include <boringssl_prefix_symbols_asm.h> 13#endif 14.text 15.p2align 4 16 17.globl _md5_block_asm_data_order 18.private_extern _md5_block_asm_data_order 19 20_md5_block_asm_data_order: 21 22 pushq %rbp 23 24 pushq %rbx 25 26 pushq %r12 27 28 pushq %r14 29 30 pushq %r15 31 32L$prologue: 33 34 35 36 37 movq %rdi,%rbp 38 shlq $6,%rdx 39 leaq (%rsi,%rdx,1),%rdi 40 movl 0(%rbp),%eax 41 movl 4(%rbp),%ebx 42 movl 8(%rbp),%ecx 43 movl 12(%rbp),%edx 44 45 46 47 48 49 50 51 cmpq %rdi,%rsi 52 je L$end 53 54 55L$loop: 56 movl %eax,%r8d 57 movl %ebx,%r9d 58 movl %ecx,%r14d 59 movl %edx,%r15d 60 movl 0(%rsi),%r10d 61 movl %edx,%r11d 62 xorl %ecx,%r11d 63 leal -680876936(%rax,%r10,1),%eax 64 andl %ebx,%r11d 65 xorl %edx,%r11d 66 movl 4(%rsi),%r10d 67 addl %r11d,%eax 68 roll $7,%eax 69 movl %ecx,%r11d 70 addl %ebx,%eax 71 xorl %ebx,%r11d 72 leal -389564586(%rdx,%r10,1),%edx 73 andl %eax,%r11d 74 xorl %ecx,%r11d 75 movl 8(%rsi),%r10d 76 addl %r11d,%edx 77 roll $12,%edx 78 movl %ebx,%r11d 79 addl %eax,%edx 80 xorl %eax,%r11d 81 leal 606105819(%rcx,%r10,1),%ecx 82 andl %edx,%r11d 83 xorl %ebx,%r11d 84 movl 12(%rsi),%r10d 85 addl %r11d,%ecx 86 roll $17,%ecx 87 movl %eax,%r11d 88 addl %edx,%ecx 89 xorl %edx,%r11d 90 leal -1044525330(%rbx,%r10,1),%ebx 91 andl %ecx,%r11d 92 xorl %eax,%r11d 93 movl 16(%rsi),%r10d 94 addl %r11d,%ebx 95 roll $22,%ebx 96 movl %edx,%r11d 97 addl %ecx,%ebx 98 xorl %ecx,%r11d 99 leal -176418897(%rax,%r10,1),%eax 100 andl %ebx,%r11d 101 xorl %edx,%r11d 102 movl 20(%rsi),%r10d 103 addl %r11d,%eax 104 roll $7,%eax 105 movl %ecx,%r11d 106 addl %ebx,%eax 107 xorl %ebx,%r11d 108 leal 1200080426(%rdx,%r10,1),%edx 109 andl %eax,%r11d 110 xorl %ecx,%r11d 111 movl 24(%rsi),%r10d 112 addl %r11d,%edx 113 roll $12,%edx 114 movl %ebx,%r11d 115 addl %eax,%edx 116 xorl %eax,%r11d 117 leal -1473231341(%rcx,%r10,1),%ecx 118 andl %edx,%r11d 119 xorl %ebx,%r11d 120 movl 28(%rsi),%r10d 121 addl %r11d,%ecx 122 roll $17,%ecx 123 movl %eax,%r11d 124 addl %edx,%ecx 125 xorl %edx,%r11d 126 leal -45705983(%rbx,%r10,1),%ebx 127 andl %ecx,%r11d 128 xorl %eax,%r11d 129 movl 32(%rsi),%r10d 130 addl %r11d,%ebx 131 roll $22,%ebx 132 movl %edx,%r11d 133 addl %ecx,%ebx 134 xorl %ecx,%r11d 135 leal 1770035416(%rax,%r10,1),%eax 136 andl %ebx,%r11d 137 xorl %edx,%r11d 138 movl 36(%rsi),%r10d 139 addl %r11d,%eax 140 roll $7,%eax 141 movl %ecx,%r11d 142 addl %ebx,%eax 143 xorl %ebx,%r11d 144 leal -1958414417(%rdx,%r10,1),%edx 145 andl %eax,%r11d 146 xorl %ecx,%r11d 147 movl 40(%rsi),%r10d 148 addl %r11d,%edx 149 roll $12,%edx 150 movl %ebx,%r11d 151 addl %eax,%edx 152 xorl %eax,%r11d 153 leal -42063(%rcx,%r10,1),%ecx 154 andl %edx,%r11d 155 xorl %ebx,%r11d 156 movl 44(%rsi),%r10d 157 addl %r11d,%ecx 158 roll $17,%ecx 159 movl %eax,%r11d 160 addl %edx,%ecx 161 xorl %edx,%r11d 162 leal -1990404162(%rbx,%r10,1),%ebx 163 andl %ecx,%r11d 164 xorl %eax,%r11d 165 movl 48(%rsi),%r10d 166 addl %r11d,%ebx 167 roll $22,%ebx 168 movl %edx,%r11d 169 addl %ecx,%ebx 170 xorl %ecx,%r11d 171 leal 1804603682(%rax,%r10,1),%eax 172 andl %ebx,%r11d 173 xorl %edx,%r11d 174 movl 52(%rsi),%r10d 175 addl %r11d,%eax 176 roll $7,%eax 177 movl %ecx,%r11d 178 addl %ebx,%eax 179 xorl %ebx,%r11d 180 leal -40341101(%rdx,%r10,1),%edx 181 andl %eax,%r11d 182 xorl %ecx,%r11d 183 movl 56(%rsi),%r10d 184 addl %r11d,%edx 185 roll $12,%edx 186 movl %ebx,%r11d 187 addl %eax,%edx 188 xorl %eax,%r11d 189 leal -1502002290(%rcx,%r10,1),%ecx 190 andl %edx,%r11d 191 xorl %ebx,%r11d 192 movl 60(%rsi),%r10d 193 addl %r11d,%ecx 194 roll $17,%ecx 195 movl %eax,%r11d 196 addl %edx,%ecx 197 xorl %edx,%r11d 198 leal 1236535329(%rbx,%r10,1),%ebx 199 andl %ecx,%r11d 200 xorl %eax,%r11d 201 movl 0(%rsi),%r10d 202 addl %r11d,%ebx 203 roll $22,%ebx 204 movl %edx,%r11d 205 addl %ecx,%ebx 206 movl 4(%rsi),%r10d 207 movl %edx,%r11d 208 movl %edx,%r12d 209 notl %r11d 210 leal -165796510(%rax,%r10,1),%eax 211 andl %ebx,%r12d 212 andl %ecx,%r11d 213 movl 24(%rsi),%r10d 214 orl %r11d,%r12d 215 movl %ecx,%r11d 216 addl %r12d,%eax 217 movl %ecx,%r12d 218 roll $5,%eax 219 addl %ebx,%eax 220 notl %r11d 221 leal -1069501632(%rdx,%r10,1),%edx 222 andl %eax,%r12d 223 andl %ebx,%r11d 224 movl 44(%rsi),%r10d 225 orl %r11d,%r12d 226 movl %ebx,%r11d 227 addl %r12d,%edx 228 movl %ebx,%r12d 229 roll $9,%edx 230 addl %eax,%edx 231 notl %r11d 232 leal 643717713(%rcx,%r10,1),%ecx 233 andl %edx,%r12d 234 andl %eax,%r11d 235 movl 0(%rsi),%r10d 236 orl %r11d,%r12d 237 movl %eax,%r11d 238 addl %r12d,%ecx 239 movl %eax,%r12d 240 roll $14,%ecx 241 addl %edx,%ecx 242 notl %r11d 243 leal -373897302(%rbx,%r10,1),%ebx 244 andl %ecx,%r12d 245 andl %edx,%r11d 246 movl 20(%rsi),%r10d 247 orl %r11d,%r12d 248 movl %edx,%r11d 249 addl %r12d,%ebx 250 movl %edx,%r12d 251 roll $20,%ebx 252 addl %ecx,%ebx 253 notl %r11d 254 leal -701558691(%rax,%r10,1),%eax 255 andl %ebx,%r12d 256 andl %ecx,%r11d 257 movl 40(%rsi),%r10d 258 orl %r11d,%r12d 259 movl %ecx,%r11d 260 addl %r12d,%eax 261 movl %ecx,%r12d 262 roll $5,%eax 263 addl %ebx,%eax 264 notl %r11d 265 leal 38016083(%rdx,%r10,1),%edx 266 andl %eax,%r12d 267 andl %ebx,%r11d 268 movl 60(%rsi),%r10d 269 orl %r11d,%r12d 270 movl %ebx,%r11d 271 addl %r12d,%edx 272 movl %ebx,%r12d 273 roll $9,%edx 274 addl %eax,%edx 275 notl %r11d 276 leal -660478335(%rcx,%r10,1),%ecx 277 andl %edx,%r12d 278 andl %eax,%r11d 279 movl 16(%rsi),%r10d 280 orl %r11d,%r12d 281 movl %eax,%r11d 282 addl %r12d,%ecx 283 movl %eax,%r12d 284 roll $14,%ecx 285 addl %edx,%ecx 286 notl %r11d 287 leal -405537848(%rbx,%r10,1),%ebx 288 andl %ecx,%r12d 289 andl %edx,%r11d 290 movl 36(%rsi),%r10d 291 orl %r11d,%r12d 292 movl %edx,%r11d 293 addl %r12d,%ebx 294 movl %edx,%r12d 295 roll $20,%ebx 296 addl %ecx,%ebx 297 notl %r11d 298 leal 568446438(%rax,%r10,1),%eax 299 andl %ebx,%r12d 300 andl %ecx,%r11d 301 movl 56(%rsi),%r10d 302 orl %r11d,%r12d 303 movl %ecx,%r11d 304 addl %r12d,%eax 305 movl %ecx,%r12d 306 roll $5,%eax 307 addl %ebx,%eax 308 notl %r11d 309 leal -1019803690(%rdx,%r10,1),%edx 310 andl %eax,%r12d 311 andl %ebx,%r11d 312 movl 12(%rsi),%r10d 313 orl %r11d,%r12d 314 movl %ebx,%r11d 315 addl %r12d,%edx 316 movl %ebx,%r12d 317 roll $9,%edx 318 addl %eax,%edx 319 notl %r11d 320 leal -187363961(%rcx,%r10,1),%ecx 321 andl %edx,%r12d 322 andl %eax,%r11d 323 movl 32(%rsi),%r10d 324 orl %r11d,%r12d 325 movl %eax,%r11d 326 addl %r12d,%ecx 327 movl %eax,%r12d 328 roll $14,%ecx 329 addl %edx,%ecx 330 notl %r11d 331 leal 1163531501(%rbx,%r10,1),%ebx 332 andl %ecx,%r12d 333 andl %edx,%r11d 334 movl 52(%rsi),%r10d 335 orl %r11d,%r12d 336 movl %edx,%r11d 337 addl %r12d,%ebx 338 movl %edx,%r12d 339 roll $20,%ebx 340 addl %ecx,%ebx 341 notl %r11d 342 leal -1444681467(%rax,%r10,1),%eax 343 andl %ebx,%r12d 344 andl %ecx,%r11d 345 movl 8(%rsi),%r10d 346 orl %r11d,%r12d 347 movl %ecx,%r11d 348 addl %r12d,%eax 349 movl %ecx,%r12d 350 roll $5,%eax 351 addl %ebx,%eax 352 notl %r11d 353 leal -51403784(%rdx,%r10,1),%edx 354 andl %eax,%r12d 355 andl %ebx,%r11d 356 movl 28(%rsi),%r10d 357 orl %r11d,%r12d 358 movl %ebx,%r11d 359 addl %r12d,%edx 360 movl %ebx,%r12d 361 roll $9,%edx 362 addl %eax,%edx 363 notl %r11d 364 leal 1735328473(%rcx,%r10,1),%ecx 365 andl %edx,%r12d 366 andl %eax,%r11d 367 movl 48(%rsi),%r10d 368 orl %r11d,%r12d 369 movl %eax,%r11d 370 addl %r12d,%ecx 371 movl %eax,%r12d 372 roll $14,%ecx 373 addl %edx,%ecx 374 notl %r11d 375 leal -1926607734(%rbx,%r10,1),%ebx 376 andl %ecx,%r12d 377 andl %edx,%r11d 378 movl 0(%rsi),%r10d 379 orl %r11d,%r12d 380 movl %edx,%r11d 381 addl %r12d,%ebx 382 movl %edx,%r12d 383 roll $20,%ebx 384 addl %ecx,%ebx 385 movl 20(%rsi),%r10d 386 movl %ecx,%r11d 387 leal -378558(%rax,%r10,1),%eax 388 movl 32(%rsi),%r10d 389 xorl %edx,%r11d 390 xorl %ebx,%r11d 391 addl %r11d,%eax 392 roll $4,%eax 393 movl %ebx,%r11d 394 addl %ebx,%eax 395 leal -2022574463(%rdx,%r10,1),%edx 396 movl 44(%rsi),%r10d 397 xorl %ecx,%r11d 398 xorl %eax,%r11d 399 addl %r11d,%edx 400 roll $11,%edx 401 movl %eax,%r11d 402 addl %eax,%edx 403 leal 1839030562(%rcx,%r10,1),%ecx 404 movl 56(%rsi),%r10d 405 xorl %ebx,%r11d 406 xorl %edx,%r11d 407 addl %r11d,%ecx 408 roll $16,%ecx 409 movl %edx,%r11d 410 addl %edx,%ecx 411 leal -35309556(%rbx,%r10,1),%ebx 412 movl 4(%rsi),%r10d 413 xorl %eax,%r11d 414 xorl %ecx,%r11d 415 addl %r11d,%ebx 416 roll $23,%ebx 417 movl %ecx,%r11d 418 addl %ecx,%ebx 419 leal -1530992060(%rax,%r10,1),%eax 420 movl 16(%rsi),%r10d 421 xorl %edx,%r11d 422 xorl %ebx,%r11d 423 addl %r11d,%eax 424 roll $4,%eax 425 movl %ebx,%r11d 426 addl %ebx,%eax 427 leal 1272893353(%rdx,%r10,1),%edx 428 movl 28(%rsi),%r10d 429 xorl %ecx,%r11d 430 xorl %eax,%r11d 431 addl %r11d,%edx 432 roll $11,%edx 433 movl %eax,%r11d 434 addl %eax,%edx 435 leal -155497632(%rcx,%r10,1),%ecx 436 movl 40(%rsi),%r10d 437 xorl %ebx,%r11d 438 xorl %edx,%r11d 439 addl %r11d,%ecx 440 roll $16,%ecx 441 movl %edx,%r11d 442 addl %edx,%ecx 443 leal -1094730640(%rbx,%r10,1),%ebx 444 movl 52(%rsi),%r10d 445 xorl %eax,%r11d 446 xorl %ecx,%r11d 447 addl %r11d,%ebx 448 roll $23,%ebx 449 movl %ecx,%r11d 450 addl %ecx,%ebx 451 leal 681279174(%rax,%r10,1),%eax 452 movl 0(%rsi),%r10d 453 xorl %edx,%r11d 454 xorl %ebx,%r11d 455 addl %r11d,%eax 456 roll $4,%eax 457 movl %ebx,%r11d 458 addl %ebx,%eax 459 leal -358537222(%rdx,%r10,1),%edx 460 movl 12(%rsi),%r10d 461 xorl %ecx,%r11d 462 xorl %eax,%r11d 463 addl %r11d,%edx 464 roll $11,%edx 465 movl %eax,%r11d 466 addl %eax,%edx 467 leal -722521979(%rcx,%r10,1),%ecx 468 movl 24(%rsi),%r10d 469 xorl %ebx,%r11d 470 xorl %edx,%r11d 471 addl %r11d,%ecx 472 roll $16,%ecx 473 movl %edx,%r11d 474 addl %edx,%ecx 475 leal 76029189(%rbx,%r10,1),%ebx 476 movl 36(%rsi),%r10d 477 xorl %eax,%r11d 478 xorl %ecx,%r11d 479 addl %r11d,%ebx 480 roll $23,%ebx 481 movl %ecx,%r11d 482 addl %ecx,%ebx 483 leal -640364487(%rax,%r10,1),%eax 484 movl 48(%rsi),%r10d 485 xorl %edx,%r11d 486 xorl %ebx,%r11d 487 addl %r11d,%eax 488 roll $4,%eax 489 movl %ebx,%r11d 490 addl %ebx,%eax 491 leal -421815835(%rdx,%r10,1),%edx 492 movl 60(%rsi),%r10d 493 xorl %ecx,%r11d 494 xorl %eax,%r11d 495 addl %r11d,%edx 496 roll $11,%edx 497 movl %eax,%r11d 498 addl %eax,%edx 499 leal 530742520(%rcx,%r10,1),%ecx 500 movl 8(%rsi),%r10d 501 xorl %ebx,%r11d 502 xorl %edx,%r11d 503 addl %r11d,%ecx 504 roll $16,%ecx 505 movl %edx,%r11d 506 addl %edx,%ecx 507 leal -995338651(%rbx,%r10,1),%ebx 508 movl 0(%rsi),%r10d 509 xorl %eax,%r11d 510 xorl %ecx,%r11d 511 addl %r11d,%ebx 512 roll $23,%ebx 513 movl %ecx,%r11d 514 addl %ecx,%ebx 515 movl 0(%rsi),%r10d 516 movl $0xffffffff,%r11d 517 xorl %edx,%r11d 518 leal -198630844(%rax,%r10,1),%eax 519 orl %ebx,%r11d 520 xorl %ecx,%r11d 521 addl %r11d,%eax 522 movl 28(%rsi),%r10d 523 movl $0xffffffff,%r11d 524 roll $6,%eax 525 xorl %ecx,%r11d 526 addl %ebx,%eax 527 leal 1126891415(%rdx,%r10,1),%edx 528 orl %eax,%r11d 529 xorl %ebx,%r11d 530 addl %r11d,%edx 531 movl 56(%rsi),%r10d 532 movl $0xffffffff,%r11d 533 roll $10,%edx 534 xorl %ebx,%r11d 535 addl %eax,%edx 536 leal -1416354905(%rcx,%r10,1),%ecx 537 orl %edx,%r11d 538 xorl %eax,%r11d 539 addl %r11d,%ecx 540 movl 20(%rsi),%r10d 541 movl $0xffffffff,%r11d 542 roll $15,%ecx 543 xorl %eax,%r11d 544 addl %edx,%ecx 545 leal -57434055(%rbx,%r10,1),%ebx 546 orl %ecx,%r11d 547 xorl %edx,%r11d 548 addl %r11d,%ebx 549 movl 48(%rsi),%r10d 550 movl $0xffffffff,%r11d 551 roll $21,%ebx 552 xorl %edx,%r11d 553 addl %ecx,%ebx 554 leal 1700485571(%rax,%r10,1),%eax 555 orl %ebx,%r11d 556 xorl %ecx,%r11d 557 addl %r11d,%eax 558 movl 12(%rsi),%r10d 559 movl $0xffffffff,%r11d 560 roll $6,%eax 561 xorl %ecx,%r11d 562 addl %ebx,%eax 563 leal -1894986606(%rdx,%r10,1),%edx 564 orl %eax,%r11d 565 xorl %ebx,%r11d 566 addl %r11d,%edx 567 movl 40(%rsi),%r10d 568 movl $0xffffffff,%r11d 569 roll $10,%edx 570 xorl %ebx,%r11d 571 addl %eax,%edx 572 leal -1051523(%rcx,%r10,1),%ecx 573 orl %edx,%r11d 574 xorl %eax,%r11d 575 addl %r11d,%ecx 576 movl 4(%rsi),%r10d 577 movl $0xffffffff,%r11d 578 roll $15,%ecx 579 xorl %eax,%r11d 580 addl %edx,%ecx 581 leal -2054922799(%rbx,%r10,1),%ebx 582 orl %ecx,%r11d 583 xorl %edx,%r11d 584 addl %r11d,%ebx 585 movl 32(%rsi),%r10d 586 movl $0xffffffff,%r11d 587 roll $21,%ebx 588 xorl %edx,%r11d 589 addl %ecx,%ebx 590 leal 1873313359(%rax,%r10,1),%eax 591 orl %ebx,%r11d 592 xorl %ecx,%r11d 593 addl %r11d,%eax 594 movl 60(%rsi),%r10d 595 movl $0xffffffff,%r11d 596 roll $6,%eax 597 xorl %ecx,%r11d 598 addl %ebx,%eax 599 leal -30611744(%rdx,%r10,1),%edx 600 orl %eax,%r11d 601 xorl %ebx,%r11d 602 addl %r11d,%edx 603 movl 24(%rsi),%r10d 604 movl $0xffffffff,%r11d 605 roll $10,%edx 606 xorl %ebx,%r11d 607 addl %eax,%edx 608 leal -1560198380(%rcx,%r10,1),%ecx 609 orl %edx,%r11d 610 xorl %eax,%r11d 611 addl %r11d,%ecx 612 movl 52(%rsi),%r10d 613 movl $0xffffffff,%r11d 614 roll $15,%ecx 615 xorl %eax,%r11d 616 addl %edx,%ecx 617 leal 1309151649(%rbx,%r10,1),%ebx 618 orl %ecx,%r11d 619 xorl %edx,%r11d 620 addl %r11d,%ebx 621 movl 16(%rsi),%r10d 622 movl $0xffffffff,%r11d 623 roll $21,%ebx 624 xorl %edx,%r11d 625 addl %ecx,%ebx 626 leal -145523070(%rax,%r10,1),%eax 627 orl %ebx,%r11d 628 xorl %ecx,%r11d 629 addl %r11d,%eax 630 movl 44(%rsi),%r10d 631 movl $0xffffffff,%r11d 632 roll $6,%eax 633 xorl %ecx,%r11d 634 addl %ebx,%eax 635 leal -1120210379(%rdx,%r10,1),%edx 636 orl %eax,%r11d 637 xorl %ebx,%r11d 638 addl %r11d,%edx 639 movl 8(%rsi),%r10d 640 movl $0xffffffff,%r11d 641 roll $10,%edx 642 xorl %ebx,%r11d 643 addl %eax,%edx 644 leal 718787259(%rcx,%r10,1),%ecx 645 orl %edx,%r11d 646 xorl %eax,%r11d 647 addl %r11d,%ecx 648 movl 36(%rsi),%r10d 649 movl $0xffffffff,%r11d 650 roll $15,%ecx 651 xorl %eax,%r11d 652 addl %edx,%ecx 653 leal -343485551(%rbx,%r10,1),%ebx 654 orl %ecx,%r11d 655 xorl %edx,%r11d 656 addl %r11d,%ebx 657 movl 0(%rsi),%r10d 658 movl $0xffffffff,%r11d 659 roll $21,%ebx 660 xorl %edx,%r11d 661 addl %ecx,%ebx 662 663 addl %r8d,%eax 664 addl %r9d,%ebx 665 addl %r14d,%ecx 666 addl %r15d,%edx 667 668 669 addq $64,%rsi 670 cmpq %rdi,%rsi 671 jb L$loop 672 673 674L$end: 675 movl %eax,0(%rbp) 676 movl %ebx,4(%rbp) 677 movl %ecx,8(%rbp) 678 movl %edx,12(%rbp) 679 680 movq (%rsp),%r15 681 682 movq 8(%rsp),%r14 683 684 movq 16(%rsp),%r12 685 686 movq 24(%rsp),%rbx 687 688 movq 32(%rsp),%rbp 689 690 addq $40,%rsp 691 692L$epilogue: 693 .byte 0xf3,0xc3 694 695 696#endif 697