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