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