1#include <machine/asm.h> 2.text 3.globl gcm_gmult_4bit_x86 4.type gcm_gmult_4bit_x86,@function 5.align 16 6gcm_gmult_4bit_x86: 7.L_gcm_gmult_4bit_x86_begin: 8 #ifdef __CET__ 9 10.byte 243,15,30,251 11 #endif 12 13 pushl %ebp 14 pushl %ebx 15 pushl %esi 16 pushl %edi 17 subl $84,%esp 18 movl 104(%esp),%edi 19 movl 108(%esp),%esi 20 movl (%edi),%ebp 21 movl 4(%edi),%edx 22 movl 8(%edi),%ecx 23 movl 12(%edi),%ebx 24 movl $0,16(%esp) 25 movl $471859200,20(%esp) 26 movl $943718400,24(%esp) 27 movl $610271232,28(%esp) 28 movl $1887436800,32(%esp) 29 movl $1822425088,36(%esp) 30 movl $1220542464,40(%esp) 31 movl $1423966208,44(%esp) 32 movl $3774873600,48(%esp) 33 movl $4246732800,52(%esp) 34 movl $3644850176,56(%esp) 35 movl $3311403008,60(%esp) 36 movl $2441084928,64(%esp) 37 movl $2376073216,68(%esp) 38 movl $2847932416,72(%esp) 39 movl $3051356160,76(%esp) 40 movl %ebp,(%esp) 41 movl %edx,4(%esp) 42 movl %ecx,8(%esp) 43 movl %ebx,12(%esp) 44 shrl $20,%ebx 45 andl $240,%ebx 46 movl 4(%esi,%ebx,1),%ebp 47 movl (%esi,%ebx,1),%edx 48 movl 12(%esi,%ebx,1),%ecx 49 movl 8(%esi,%ebx,1),%ebx 50 xorl %eax,%eax 51 movl $15,%edi 52 jmp .L000x86_loop 53.align 16 54.L000x86_loop: 55 movb %bl,%al 56 shrdl $4,%ecx,%ebx 57 andb $15,%al 58 shrdl $4,%edx,%ecx 59 shrdl $4,%ebp,%edx 60 shrl $4,%ebp 61 xorl 16(%esp,%eax,4),%ebp 62 movb (%esp,%edi,1),%al 63 andb $240,%al 64 xorl 8(%esi,%eax,1),%ebx 65 xorl 12(%esi,%eax,1),%ecx 66 xorl (%esi,%eax,1),%edx 67 xorl 4(%esi,%eax,1),%ebp 68 decl %edi 69 js .L001x86_break 70 movb %bl,%al 71 shrdl $4,%ecx,%ebx 72 andb $15,%al 73 shrdl $4,%edx,%ecx 74 shrdl $4,%ebp,%edx 75 shrl $4,%ebp 76 xorl 16(%esp,%eax,4),%ebp 77 movb (%esp,%edi,1),%al 78 shlb $4,%al 79 xorl 8(%esi,%eax,1),%ebx 80 xorl 12(%esi,%eax,1),%ecx 81 xorl (%esi,%eax,1),%edx 82 xorl 4(%esi,%eax,1),%ebp 83 jmp .L000x86_loop 84.align 16 85.L001x86_break: 86 bswap %ebx 87 bswap %ecx 88 bswap %edx 89 bswap %ebp 90 movl 104(%esp),%edi 91 movl %ebx,12(%edi) 92 movl %ecx,8(%edi) 93 movl %edx,4(%edi) 94 movl %ebp,(%edi) 95 addl $84,%esp 96 popl %edi 97 popl %esi 98 popl %ebx 99 popl %ebp 100 ret 101.size gcm_gmult_4bit_x86,.-.L_gcm_gmult_4bit_x86_begin 102.globl gcm_ghash_4bit_x86 103.type gcm_ghash_4bit_x86,@function 104.align 16 105gcm_ghash_4bit_x86: 106.L_gcm_ghash_4bit_x86_begin: 107 #ifdef __CET__ 108 109.byte 243,15,30,251 110 #endif 111 112 pushl %ebp 113 pushl %ebx 114 pushl %esi 115 pushl %edi 116 subl $84,%esp 117 movl 104(%esp),%ebx 118 movl 108(%esp),%esi 119 movl 112(%esp),%edi 120 movl 116(%esp),%ecx 121 addl %edi,%ecx 122 movl %ecx,116(%esp) 123 movl (%ebx),%ebp 124 movl 4(%ebx),%edx 125 movl 8(%ebx),%ecx 126 movl 12(%ebx),%ebx 127 movl $0,16(%esp) 128 movl $471859200,20(%esp) 129 movl $943718400,24(%esp) 130 movl $610271232,28(%esp) 131 movl $1887436800,32(%esp) 132 movl $1822425088,36(%esp) 133 movl $1220542464,40(%esp) 134 movl $1423966208,44(%esp) 135 movl $3774873600,48(%esp) 136 movl $4246732800,52(%esp) 137 movl $3644850176,56(%esp) 138 movl $3311403008,60(%esp) 139 movl $2441084928,64(%esp) 140 movl $2376073216,68(%esp) 141 movl $2847932416,72(%esp) 142 movl $3051356160,76(%esp) 143.align 16 144.L002x86_outer_loop: 145 xorl 12(%edi),%ebx 146 xorl 8(%edi),%ecx 147 xorl 4(%edi),%edx 148 xorl (%edi),%ebp 149 movl %ebx,12(%esp) 150 movl %ecx,8(%esp) 151 movl %edx,4(%esp) 152 movl %ebp,(%esp) 153 shrl $20,%ebx 154 andl $240,%ebx 155 movl 4(%esi,%ebx,1),%ebp 156 movl (%esi,%ebx,1),%edx 157 movl 12(%esi,%ebx,1),%ecx 158 movl 8(%esi,%ebx,1),%ebx 159 xorl %eax,%eax 160 movl $15,%edi 161 jmp .L003x86_loop 162.align 16 163.L003x86_loop: 164 movb %bl,%al 165 shrdl $4,%ecx,%ebx 166 andb $15,%al 167 shrdl $4,%edx,%ecx 168 shrdl $4,%ebp,%edx 169 shrl $4,%ebp 170 xorl 16(%esp,%eax,4),%ebp 171 movb (%esp,%edi,1),%al 172 andb $240,%al 173 xorl 8(%esi,%eax,1),%ebx 174 xorl 12(%esi,%eax,1),%ecx 175 xorl (%esi,%eax,1),%edx 176 xorl 4(%esi,%eax,1),%ebp 177 decl %edi 178 js .L004x86_break 179 movb %bl,%al 180 shrdl $4,%ecx,%ebx 181 andb $15,%al 182 shrdl $4,%edx,%ecx 183 shrdl $4,%ebp,%edx 184 shrl $4,%ebp 185 xorl 16(%esp,%eax,4),%ebp 186 movb (%esp,%edi,1),%al 187 shlb $4,%al 188 xorl 8(%esi,%eax,1),%ebx 189 xorl 12(%esi,%eax,1),%ecx 190 xorl (%esi,%eax,1),%edx 191 xorl 4(%esi,%eax,1),%ebp 192 jmp .L003x86_loop 193.align 16 194.L004x86_break: 195 bswap %ebx 196 bswap %ecx 197 bswap %edx 198 bswap %ebp 199 movl 112(%esp),%edi 200 leal 16(%edi),%edi 201 cmpl 116(%esp),%edi 202 movl %edi,112(%esp) 203 jb .L002x86_outer_loop 204 movl 104(%esp),%edi 205 movl %ebx,12(%edi) 206 movl %ecx,8(%edi) 207 movl %edx,4(%edi) 208 movl %ebp,(%edi) 209 addl $84,%esp 210 popl %edi 211 popl %esi 212 popl %ebx 213 popl %ebp 214 ret 215.size gcm_ghash_4bit_x86,.-.L_gcm_ghash_4bit_x86_begin 216.globl gcm_gmult_4bit_mmx 217.type gcm_gmult_4bit_mmx,@function 218.align 16 219gcm_gmult_4bit_mmx: 220.L_gcm_gmult_4bit_mmx_begin: 221 #ifdef __CET__ 222 223.byte 243,15,30,251 224 #endif 225 226 pushl %ebp 227 pushl %ebx 228 pushl %esi 229 pushl %edi 230 movl 20(%esp),%edi 231 movl 24(%esp),%esi 232 call .L005pic_point 233.L005pic_point: 234 popl %eax 235 leal .Lrem_4bit-.L005pic_point(%eax),%eax 236 movzbl 15(%edi),%ebx 237 xorl %ecx,%ecx 238 movl %ebx,%edx 239 movb %dl,%cl 240 movl $14,%ebp 241 shlb $4,%cl 242 andl $240,%edx 243 movq 8(%esi,%ecx,1),%mm0 244 movq (%esi,%ecx,1),%mm1 245 movd %mm0,%ebx 246 jmp .L006mmx_loop 247.align 16 248.L006mmx_loop: 249 psrlq $4,%mm0 250 andl $15,%ebx 251 movq %mm1,%mm2 252 psrlq $4,%mm1 253 pxor 8(%esi,%edx,1),%mm0 254 movb (%edi,%ebp,1),%cl 255 psllq $60,%mm2 256 pxor (%eax,%ebx,8),%mm1 257 decl %ebp 258 movd %mm0,%ebx 259 pxor (%esi,%edx,1),%mm1 260 movl %ecx,%edx 261 pxor %mm2,%mm0 262 js .L007mmx_break 263 shlb $4,%cl 264 andl $15,%ebx 265 psrlq $4,%mm0 266 andl $240,%edx 267 movq %mm1,%mm2 268 psrlq $4,%mm1 269 pxor 8(%esi,%ecx,1),%mm0 270 psllq $60,%mm2 271 pxor (%eax,%ebx,8),%mm1 272 movd %mm0,%ebx 273 pxor (%esi,%ecx,1),%mm1 274 pxor %mm2,%mm0 275 jmp .L006mmx_loop 276.align 16 277.L007mmx_break: 278 shlb $4,%cl 279 andl $15,%ebx 280 psrlq $4,%mm0 281 andl $240,%edx 282 movq %mm1,%mm2 283 psrlq $4,%mm1 284 pxor 8(%esi,%ecx,1),%mm0 285 psllq $60,%mm2 286 pxor (%eax,%ebx,8),%mm1 287 movd %mm0,%ebx 288 pxor (%esi,%ecx,1),%mm1 289 pxor %mm2,%mm0 290 psrlq $4,%mm0 291 andl $15,%ebx 292 movq %mm1,%mm2 293 psrlq $4,%mm1 294 pxor 8(%esi,%edx,1),%mm0 295 psllq $60,%mm2 296 pxor (%eax,%ebx,8),%mm1 297 movd %mm0,%ebx 298 pxor (%esi,%edx,1),%mm1 299 pxor %mm2,%mm0 300 psrlq $32,%mm0 301 movd %mm1,%edx 302 psrlq $32,%mm1 303 movd %mm0,%ecx 304 movd %mm1,%ebp 305 bswap %ebx 306 bswap %edx 307 bswap %ecx 308 bswap %ebp 309 emms 310 movl %ebx,12(%edi) 311 movl %edx,4(%edi) 312 movl %ecx,8(%edi) 313 movl %ebp,(%edi) 314 popl %edi 315 popl %esi 316 popl %ebx 317 popl %ebp 318 ret 319.size gcm_gmult_4bit_mmx,.-.L_gcm_gmult_4bit_mmx_begin 320.globl gcm_ghash_4bit_mmx 321.type gcm_ghash_4bit_mmx,@function 322.align 16 323gcm_ghash_4bit_mmx: 324.L_gcm_ghash_4bit_mmx_begin: 325 #ifdef __CET__ 326 327.byte 243,15,30,251 328 #endif 329 330 pushl %ebp 331 pushl %ebx 332 pushl %esi 333 pushl %edi 334 movl 20(%esp),%eax 335 movl 24(%esp),%ebx 336 movl 28(%esp),%ecx 337 movl 32(%esp),%edx 338 movl %esp,%ebp 339 call .L008pic_point 340.L008pic_point: 341 popl %esi 342 leal .Lrem_8bit-.L008pic_point(%esi),%esi 343 subl $544,%esp 344 andl $-64,%esp 345 subl $16,%esp 346 addl %ecx,%edx 347 movl %eax,544(%esp) 348 movl %edx,552(%esp) 349 movl %ebp,556(%esp) 350 addl $128,%ebx 351 leal 144(%esp),%edi 352 leal 400(%esp),%ebp 353 movl -120(%ebx),%edx 354 movq -120(%ebx),%mm0 355 movq -128(%ebx),%mm3 356 shll $4,%edx 357 movb %dl,(%esp) 358 movl -104(%ebx),%edx 359 movq -104(%ebx),%mm2 360 movq -112(%ebx),%mm5 361 movq %mm0,-128(%edi) 362 psrlq $4,%mm0 363 movq %mm3,(%edi) 364 movq %mm3,%mm7 365 psrlq $4,%mm3 366 shll $4,%edx 367 movb %dl,1(%esp) 368 movl -88(%ebx),%edx 369 movq -88(%ebx),%mm1 370 psllq $60,%mm7 371 movq -96(%ebx),%mm4 372 por %mm7,%mm0 373 movq %mm2,-120(%edi) 374 psrlq $4,%mm2 375 movq %mm5,8(%edi) 376 movq %mm5,%mm6 377 movq %mm0,-128(%ebp) 378 psrlq $4,%mm5 379 movq %mm3,(%ebp) 380 shll $4,%edx 381 movb %dl,2(%esp) 382 movl -72(%ebx),%edx 383 movq -72(%ebx),%mm0 384 psllq $60,%mm6 385 movq -80(%ebx),%mm3 386 por %mm6,%mm2 387 movq %mm1,-112(%edi) 388 psrlq $4,%mm1 389 movq %mm4,16(%edi) 390 movq %mm4,%mm7 391 movq %mm2,-120(%ebp) 392 psrlq $4,%mm4 393 movq %mm5,8(%ebp) 394 shll $4,%edx 395 movb %dl,3(%esp) 396 movl -56(%ebx),%edx 397 movq -56(%ebx),%mm2 398 psllq $60,%mm7 399 movq -64(%ebx),%mm5 400 por %mm7,%mm1 401 movq %mm0,-104(%edi) 402 psrlq $4,%mm0 403 movq %mm3,24(%edi) 404 movq %mm3,%mm6 405 movq %mm1,-112(%ebp) 406 psrlq $4,%mm3 407 movq %mm4,16(%ebp) 408 shll $4,%edx 409 movb %dl,4(%esp) 410 movl -40(%ebx),%edx 411 movq -40(%ebx),%mm1 412 psllq $60,%mm6 413 movq -48(%ebx),%mm4 414 por %mm6,%mm0 415 movq %mm2,-96(%edi) 416 psrlq $4,%mm2 417 movq %mm5,32(%edi) 418 movq %mm5,%mm7 419 movq %mm0,-104(%ebp) 420 psrlq $4,%mm5 421 movq %mm3,24(%ebp) 422 shll $4,%edx 423 movb %dl,5(%esp) 424 movl -24(%ebx),%edx 425 movq -24(%ebx),%mm0 426 psllq $60,%mm7 427 movq -32(%ebx),%mm3 428 por %mm7,%mm2 429 movq %mm1,-88(%edi) 430 psrlq $4,%mm1 431 movq %mm4,40(%edi) 432 movq %mm4,%mm6 433 movq %mm2,-96(%ebp) 434 psrlq $4,%mm4 435 movq %mm5,32(%ebp) 436 shll $4,%edx 437 movb %dl,6(%esp) 438 movl -8(%ebx),%edx 439 movq -8(%ebx),%mm2 440 psllq $60,%mm6 441 movq -16(%ebx),%mm5 442 por %mm6,%mm1 443 movq %mm0,-80(%edi) 444 psrlq $4,%mm0 445 movq %mm3,48(%edi) 446 movq %mm3,%mm7 447 movq %mm1,-88(%ebp) 448 psrlq $4,%mm3 449 movq %mm4,40(%ebp) 450 shll $4,%edx 451 movb %dl,7(%esp) 452 movl 8(%ebx),%edx 453 movq 8(%ebx),%mm1 454 psllq $60,%mm7 455 movq (%ebx),%mm4 456 por %mm7,%mm0 457 movq %mm2,-72(%edi) 458 psrlq $4,%mm2 459 movq %mm5,56(%edi) 460 movq %mm5,%mm6 461 movq %mm0,-80(%ebp) 462 psrlq $4,%mm5 463 movq %mm3,48(%ebp) 464 shll $4,%edx 465 movb %dl,8(%esp) 466 movl 24(%ebx),%edx 467 movq 24(%ebx),%mm0 468 psllq $60,%mm6 469 movq 16(%ebx),%mm3 470 por %mm6,%mm2 471 movq %mm1,-64(%edi) 472 psrlq $4,%mm1 473 movq %mm4,64(%edi) 474 movq %mm4,%mm7 475 movq %mm2,-72(%ebp) 476 psrlq $4,%mm4 477 movq %mm5,56(%ebp) 478 shll $4,%edx 479 movb %dl,9(%esp) 480 movl 40(%ebx),%edx 481 movq 40(%ebx),%mm2 482 psllq $60,%mm7 483 movq 32(%ebx),%mm5 484 por %mm7,%mm1 485 movq %mm0,-56(%edi) 486 psrlq $4,%mm0 487 movq %mm3,72(%edi) 488 movq %mm3,%mm6 489 movq %mm1,-64(%ebp) 490 psrlq $4,%mm3 491 movq %mm4,64(%ebp) 492 shll $4,%edx 493 movb %dl,10(%esp) 494 movl 56(%ebx),%edx 495 movq 56(%ebx),%mm1 496 psllq $60,%mm6 497 movq 48(%ebx),%mm4 498 por %mm6,%mm0 499 movq %mm2,-48(%edi) 500 psrlq $4,%mm2 501 movq %mm5,80(%edi) 502 movq %mm5,%mm7 503 movq %mm0,-56(%ebp) 504 psrlq $4,%mm5 505 movq %mm3,72(%ebp) 506 shll $4,%edx 507 movb %dl,11(%esp) 508 movl 72(%ebx),%edx 509 movq 72(%ebx),%mm0 510 psllq $60,%mm7 511 movq 64(%ebx),%mm3 512 por %mm7,%mm2 513 movq %mm1,-40(%edi) 514 psrlq $4,%mm1 515 movq %mm4,88(%edi) 516 movq %mm4,%mm6 517 movq %mm2,-48(%ebp) 518 psrlq $4,%mm4 519 movq %mm5,80(%ebp) 520 shll $4,%edx 521 movb %dl,12(%esp) 522 movl 88(%ebx),%edx 523 movq 88(%ebx),%mm2 524 psllq $60,%mm6 525 movq 80(%ebx),%mm5 526 por %mm6,%mm1 527 movq %mm0,-32(%edi) 528 psrlq $4,%mm0 529 movq %mm3,96(%edi) 530 movq %mm3,%mm7 531 movq %mm1,-40(%ebp) 532 psrlq $4,%mm3 533 movq %mm4,88(%ebp) 534 shll $4,%edx 535 movb %dl,13(%esp) 536 movl 104(%ebx),%edx 537 movq 104(%ebx),%mm1 538 psllq $60,%mm7 539 movq 96(%ebx),%mm4 540 por %mm7,%mm0 541 movq %mm2,-24(%edi) 542 psrlq $4,%mm2 543 movq %mm5,104(%edi) 544 movq %mm5,%mm6 545 movq %mm0,-32(%ebp) 546 psrlq $4,%mm5 547 movq %mm3,96(%ebp) 548 shll $4,%edx 549 movb %dl,14(%esp) 550 movl 120(%ebx),%edx 551 movq 120(%ebx),%mm0 552 psllq $60,%mm6 553 movq 112(%ebx),%mm3 554 por %mm6,%mm2 555 movq %mm1,-16(%edi) 556 psrlq $4,%mm1 557 movq %mm4,112(%edi) 558 movq %mm4,%mm7 559 movq %mm2,-24(%ebp) 560 psrlq $4,%mm4 561 movq %mm5,104(%ebp) 562 shll $4,%edx 563 movb %dl,15(%esp) 564 psllq $60,%mm7 565 por %mm7,%mm1 566 movq %mm0,-8(%edi) 567 psrlq $4,%mm0 568 movq %mm3,120(%edi) 569 movq %mm3,%mm6 570 movq %mm1,-16(%ebp) 571 psrlq $4,%mm3 572 movq %mm4,112(%ebp) 573 psllq $60,%mm6 574 por %mm6,%mm0 575 movq %mm0,-8(%ebp) 576 movq %mm3,120(%ebp) 577 movq (%eax),%mm6 578 movl 8(%eax),%ebx 579 movl 12(%eax),%edx 580.align 16 581.L009outer: 582 xorl 12(%ecx),%edx 583 xorl 8(%ecx),%ebx 584 pxor (%ecx),%mm6 585 leal 16(%ecx),%ecx 586 movl %ebx,536(%esp) 587 movq %mm6,528(%esp) 588 movl %ecx,548(%esp) 589 xorl %eax,%eax 590 roll $8,%edx 591 movb %dl,%al 592 movl %eax,%ebp 593 andb $15,%al 594 shrl $4,%ebp 595 pxor %mm0,%mm0 596 roll $8,%edx 597 pxor %mm1,%mm1 598 pxor %mm2,%mm2 599 movq 16(%esp,%eax,8),%mm7 600 movq 144(%esp,%eax,8),%mm6 601 movb %dl,%al 602 movd %mm7,%ebx 603 psrlq $8,%mm7 604 movq %mm6,%mm3 605 movl %eax,%edi 606 psrlq $8,%mm6 607 pxor 272(%esp,%ebp,8),%mm7 608 andb $15,%al 609 psllq $56,%mm3 610 shrl $4,%edi 611 pxor 16(%esp,%eax,8),%mm7 612 roll $8,%edx 613 pxor 144(%esp,%eax,8),%mm6 614 pxor %mm3,%mm7 615 pxor 400(%esp,%ebp,8),%mm6 616 xorb (%esp,%ebp,1),%bl 617 movb %dl,%al 618 movd %mm7,%ecx 619 movzbl %bl,%ebx 620 psrlq $8,%mm7 621 movq %mm6,%mm3 622 movl %eax,%ebp 623 psrlq $8,%mm6 624 pxor 272(%esp,%edi,8),%mm7 625 andb $15,%al 626 psllq $56,%mm3 627 shrl $4,%ebp 628 pinsrw $2,(%esi,%ebx,2),%mm2 629 pxor 16(%esp,%eax,8),%mm7 630 roll $8,%edx 631 pxor 144(%esp,%eax,8),%mm6 632 pxor %mm3,%mm7 633 pxor 400(%esp,%edi,8),%mm6 634 xorb (%esp,%edi,1),%cl 635 movb %dl,%al 636 movl 536(%esp),%edx 637 movd %mm7,%ebx 638 movzbl %cl,%ecx 639 psrlq $8,%mm7 640 movq %mm6,%mm3 641 movl %eax,%edi 642 psrlq $8,%mm6 643 pxor 272(%esp,%ebp,8),%mm7 644 andb $15,%al 645 psllq $56,%mm3 646 pxor %mm2,%mm6 647 shrl $4,%edi 648 pinsrw $2,(%esi,%ecx,2),%mm1 649 pxor 16(%esp,%eax,8),%mm7 650 roll $8,%edx 651 pxor 144(%esp,%eax,8),%mm6 652 pxor %mm3,%mm7 653 pxor 400(%esp,%ebp,8),%mm6 654 xorb (%esp,%ebp,1),%bl 655 movb %dl,%al 656 movd %mm7,%ecx 657 movzbl %bl,%ebx 658 psrlq $8,%mm7 659 movq %mm6,%mm3 660 movl %eax,%ebp 661 psrlq $8,%mm6 662 pxor 272(%esp,%edi,8),%mm7 663 andb $15,%al 664 psllq $56,%mm3 665 pxor %mm1,%mm6 666 shrl $4,%ebp 667 pinsrw $2,(%esi,%ebx,2),%mm0 668 pxor 16(%esp,%eax,8),%mm7 669 roll $8,%edx 670 pxor 144(%esp,%eax,8),%mm6 671 pxor %mm3,%mm7 672 pxor 400(%esp,%edi,8),%mm6 673 xorb (%esp,%edi,1),%cl 674 movb %dl,%al 675 movd %mm7,%ebx 676 movzbl %cl,%ecx 677 psrlq $8,%mm7 678 movq %mm6,%mm3 679 movl %eax,%edi 680 psrlq $8,%mm6 681 pxor 272(%esp,%ebp,8),%mm7 682 andb $15,%al 683 psllq $56,%mm3 684 pxor %mm0,%mm6 685 shrl $4,%edi 686 pinsrw $2,(%esi,%ecx,2),%mm2 687 pxor 16(%esp,%eax,8),%mm7 688 roll $8,%edx 689 pxor 144(%esp,%eax,8),%mm6 690 pxor %mm3,%mm7 691 pxor 400(%esp,%ebp,8),%mm6 692 xorb (%esp,%ebp,1),%bl 693 movb %dl,%al 694 movd %mm7,%ecx 695 movzbl %bl,%ebx 696 psrlq $8,%mm7 697 movq %mm6,%mm3 698 movl %eax,%ebp 699 psrlq $8,%mm6 700 pxor 272(%esp,%edi,8),%mm7 701 andb $15,%al 702 psllq $56,%mm3 703 pxor %mm2,%mm6 704 shrl $4,%ebp 705 pinsrw $2,(%esi,%ebx,2),%mm1 706 pxor 16(%esp,%eax,8),%mm7 707 roll $8,%edx 708 pxor 144(%esp,%eax,8),%mm6 709 pxor %mm3,%mm7 710 pxor 400(%esp,%edi,8),%mm6 711 xorb (%esp,%edi,1),%cl 712 movb %dl,%al 713 movl 532(%esp),%edx 714 movd %mm7,%ebx 715 movzbl %cl,%ecx 716 psrlq $8,%mm7 717 movq %mm6,%mm3 718 movl %eax,%edi 719 psrlq $8,%mm6 720 pxor 272(%esp,%ebp,8),%mm7 721 andb $15,%al 722 psllq $56,%mm3 723 pxor %mm1,%mm6 724 shrl $4,%edi 725 pinsrw $2,(%esi,%ecx,2),%mm0 726 pxor 16(%esp,%eax,8),%mm7 727 roll $8,%edx 728 pxor 144(%esp,%eax,8),%mm6 729 pxor %mm3,%mm7 730 pxor 400(%esp,%ebp,8),%mm6 731 xorb (%esp,%ebp,1),%bl 732 movb %dl,%al 733 movd %mm7,%ecx 734 movzbl %bl,%ebx 735 psrlq $8,%mm7 736 movq %mm6,%mm3 737 movl %eax,%ebp 738 psrlq $8,%mm6 739 pxor 272(%esp,%edi,8),%mm7 740 andb $15,%al 741 psllq $56,%mm3 742 pxor %mm0,%mm6 743 shrl $4,%ebp 744 pinsrw $2,(%esi,%ebx,2),%mm2 745 pxor 16(%esp,%eax,8),%mm7 746 roll $8,%edx 747 pxor 144(%esp,%eax,8),%mm6 748 pxor %mm3,%mm7 749 pxor 400(%esp,%edi,8),%mm6 750 xorb (%esp,%edi,1),%cl 751 movb %dl,%al 752 movd %mm7,%ebx 753 movzbl %cl,%ecx 754 psrlq $8,%mm7 755 movq %mm6,%mm3 756 movl %eax,%edi 757 psrlq $8,%mm6 758 pxor 272(%esp,%ebp,8),%mm7 759 andb $15,%al 760 psllq $56,%mm3 761 pxor %mm2,%mm6 762 shrl $4,%edi 763 pinsrw $2,(%esi,%ecx,2),%mm1 764 pxor 16(%esp,%eax,8),%mm7 765 roll $8,%edx 766 pxor 144(%esp,%eax,8),%mm6 767 pxor %mm3,%mm7 768 pxor 400(%esp,%ebp,8),%mm6 769 xorb (%esp,%ebp,1),%bl 770 movb %dl,%al 771 movd %mm7,%ecx 772 movzbl %bl,%ebx 773 psrlq $8,%mm7 774 movq %mm6,%mm3 775 movl %eax,%ebp 776 psrlq $8,%mm6 777 pxor 272(%esp,%edi,8),%mm7 778 andb $15,%al 779 psllq $56,%mm3 780 pxor %mm1,%mm6 781 shrl $4,%ebp 782 pinsrw $2,(%esi,%ebx,2),%mm0 783 pxor 16(%esp,%eax,8),%mm7 784 roll $8,%edx 785 pxor 144(%esp,%eax,8),%mm6 786 pxor %mm3,%mm7 787 pxor 400(%esp,%edi,8),%mm6 788 xorb (%esp,%edi,1),%cl 789 movb %dl,%al 790 movl 528(%esp),%edx 791 movd %mm7,%ebx 792 movzbl %cl,%ecx 793 psrlq $8,%mm7 794 movq %mm6,%mm3 795 movl %eax,%edi 796 psrlq $8,%mm6 797 pxor 272(%esp,%ebp,8),%mm7 798 andb $15,%al 799 psllq $56,%mm3 800 pxor %mm0,%mm6 801 shrl $4,%edi 802 pinsrw $2,(%esi,%ecx,2),%mm2 803 pxor 16(%esp,%eax,8),%mm7 804 roll $8,%edx 805 pxor 144(%esp,%eax,8),%mm6 806 pxor %mm3,%mm7 807 pxor 400(%esp,%ebp,8),%mm6 808 xorb (%esp,%ebp,1),%bl 809 movb %dl,%al 810 movd %mm7,%ecx 811 movzbl %bl,%ebx 812 psrlq $8,%mm7 813 movq %mm6,%mm3 814 movl %eax,%ebp 815 psrlq $8,%mm6 816 pxor 272(%esp,%edi,8),%mm7 817 andb $15,%al 818 psllq $56,%mm3 819 pxor %mm2,%mm6 820 shrl $4,%ebp 821 pinsrw $2,(%esi,%ebx,2),%mm1 822 pxor 16(%esp,%eax,8),%mm7 823 roll $8,%edx 824 pxor 144(%esp,%eax,8),%mm6 825 pxor %mm3,%mm7 826 pxor 400(%esp,%edi,8),%mm6 827 xorb (%esp,%edi,1),%cl 828 movb %dl,%al 829 movd %mm7,%ebx 830 movzbl %cl,%ecx 831 psrlq $8,%mm7 832 movq %mm6,%mm3 833 movl %eax,%edi 834 psrlq $8,%mm6 835 pxor 272(%esp,%ebp,8),%mm7 836 andb $15,%al 837 psllq $56,%mm3 838 pxor %mm1,%mm6 839 shrl $4,%edi 840 pinsrw $2,(%esi,%ecx,2),%mm0 841 pxor 16(%esp,%eax,8),%mm7 842 roll $8,%edx 843 pxor 144(%esp,%eax,8),%mm6 844 pxor %mm3,%mm7 845 pxor 400(%esp,%ebp,8),%mm6 846 xorb (%esp,%ebp,1),%bl 847 movb %dl,%al 848 movd %mm7,%ecx 849 movzbl %bl,%ebx 850 psrlq $8,%mm7 851 movq %mm6,%mm3 852 movl %eax,%ebp 853 psrlq $8,%mm6 854 pxor 272(%esp,%edi,8),%mm7 855 andb $15,%al 856 psllq $56,%mm3 857 pxor %mm0,%mm6 858 shrl $4,%ebp 859 pinsrw $2,(%esi,%ebx,2),%mm2 860 pxor 16(%esp,%eax,8),%mm7 861 roll $8,%edx 862 pxor 144(%esp,%eax,8),%mm6 863 pxor %mm3,%mm7 864 pxor 400(%esp,%edi,8),%mm6 865 xorb (%esp,%edi,1),%cl 866 movb %dl,%al 867 movl 524(%esp),%edx 868 movd %mm7,%ebx 869 movzbl %cl,%ecx 870 psrlq $8,%mm7 871 movq %mm6,%mm3 872 movl %eax,%edi 873 psrlq $8,%mm6 874 pxor 272(%esp,%ebp,8),%mm7 875 andb $15,%al 876 psllq $56,%mm3 877 pxor %mm2,%mm6 878 shrl $4,%edi 879 pinsrw $2,(%esi,%ecx,2),%mm1 880 pxor 16(%esp,%eax,8),%mm7 881 pxor 144(%esp,%eax,8),%mm6 882 xorb (%esp,%ebp,1),%bl 883 pxor %mm3,%mm7 884 pxor 400(%esp,%ebp,8),%mm6 885 movzbl %bl,%ebx 886 pxor %mm2,%mm2 887 psllq $4,%mm1 888 movd %mm7,%ecx 889 psrlq $4,%mm7 890 movq %mm6,%mm3 891 psrlq $4,%mm6 892 shll $4,%ecx 893 pxor 16(%esp,%edi,8),%mm7 894 psllq $60,%mm3 895 movzbl %cl,%ecx 896 pxor %mm3,%mm7 897 pxor 144(%esp,%edi,8),%mm6 898 pinsrw $2,(%esi,%ebx,2),%mm0 899 pxor %mm1,%mm6 900 movd %mm7,%edx 901 pinsrw $3,(%esi,%ecx,2),%mm2 902 psllq $12,%mm0 903 pxor %mm0,%mm6 904 psrlq $32,%mm7 905 pxor %mm2,%mm6 906 movl 548(%esp),%ecx 907 movd %mm7,%ebx 908 movq %mm6,%mm3 909 psllw $8,%mm6 910 psrlw $8,%mm3 911 por %mm3,%mm6 912 bswap %edx 913 pshufw $27,%mm6,%mm6 914 bswap %ebx 915 cmpl 552(%esp),%ecx 916 jne .L009outer 917 movl 544(%esp),%eax 918 movl %edx,12(%eax) 919 movl %ebx,8(%eax) 920 movq %mm6,(%eax) 921 movl 556(%esp),%esp 922 emms 923 popl %edi 924 popl %esi 925 popl %ebx 926 popl %ebp 927 ret 928.size gcm_ghash_4bit_mmx,.-.L_gcm_ghash_4bit_mmx_begin 929.globl gcm_init_clmul 930.type gcm_init_clmul,@function 931.align 16 932gcm_init_clmul: 933.L_gcm_init_clmul_begin: 934 #ifdef __CET__ 935 936.byte 243,15,30,251 937 #endif 938 939 movl 4(%esp),%edx 940 movl 8(%esp),%eax 941 call .L010pic 942.L010pic: 943 popl %ecx 944 leal .Lbswap-.L010pic(%ecx),%ecx 945 movdqu (%eax),%xmm2 946 pshufd $78,%xmm2,%xmm2 947 pshufd $255,%xmm2,%xmm4 948 movdqa %xmm2,%xmm3 949 psllq $1,%xmm2 950 pxor %xmm5,%xmm5 951 psrlq $63,%xmm3 952 pcmpgtd %xmm4,%xmm5 953 pslldq $8,%xmm3 954 por %xmm3,%xmm2 955 pand 16(%ecx),%xmm5 956 pxor %xmm5,%xmm2 957 movdqa %xmm2,%xmm0 958 movdqa %xmm0,%xmm1 959 pshufd $78,%xmm0,%xmm3 960 pshufd $78,%xmm2,%xmm4 961 pxor %xmm0,%xmm3 962 pxor %xmm2,%xmm4 963.byte 102,15,58,68,194,0 964.byte 102,15,58,68,202,17 965.byte 102,15,58,68,220,0 966 xorps %xmm0,%xmm3 967 xorps %xmm1,%xmm3 968 movdqa %xmm3,%xmm4 969 psrldq $8,%xmm3 970 pslldq $8,%xmm4 971 pxor %xmm3,%xmm1 972 pxor %xmm4,%xmm0 973 movdqa %xmm0,%xmm4 974 movdqa %xmm0,%xmm3 975 psllq $5,%xmm0 976 pxor %xmm0,%xmm3 977 psllq $1,%xmm0 978 pxor %xmm3,%xmm0 979 psllq $57,%xmm0 980 movdqa %xmm0,%xmm3 981 pslldq $8,%xmm0 982 psrldq $8,%xmm3 983 pxor %xmm4,%xmm0 984 pxor %xmm3,%xmm1 985 movdqa %xmm0,%xmm4 986 psrlq $1,%xmm0 987 pxor %xmm4,%xmm1 988 pxor %xmm0,%xmm4 989 psrlq $5,%xmm0 990 pxor %xmm4,%xmm0 991 psrlq $1,%xmm0 992 pxor %xmm1,%xmm0 993 pshufd $78,%xmm2,%xmm3 994 pshufd $78,%xmm0,%xmm4 995 pxor %xmm2,%xmm3 996 movdqu %xmm2,(%edx) 997 pxor %xmm0,%xmm4 998 movdqu %xmm0,16(%edx) 999.byte 102,15,58,15,227,8 1000 movdqu %xmm4,32(%edx) 1001 ret 1002.size gcm_init_clmul,.-.L_gcm_init_clmul_begin 1003.globl gcm_gmult_clmul 1004.type gcm_gmult_clmul,@function 1005.align 16 1006gcm_gmult_clmul: 1007.L_gcm_gmult_clmul_begin: 1008 #ifdef __CET__ 1009 1010.byte 243,15,30,251 1011 #endif 1012 1013 movl 4(%esp),%eax 1014 movl 8(%esp),%edx 1015 call .L011pic 1016.L011pic: 1017 popl %ecx 1018 leal .Lbswap-.L011pic(%ecx),%ecx 1019 movdqu (%eax),%xmm0 1020 movdqa (%ecx),%xmm5 1021 movups (%edx),%xmm2 1022.byte 102,15,56,0,197 1023 movups 32(%edx),%xmm4 1024 movdqa %xmm0,%xmm1 1025 pshufd $78,%xmm0,%xmm3 1026 pxor %xmm0,%xmm3 1027.byte 102,15,58,68,194,0 1028.byte 102,15,58,68,202,17 1029.byte 102,15,58,68,220,0 1030 xorps %xmm0,%xmm3 1031 xorps %xmm1,%xmm3 1032 movdqa %xmm3,%xmm4 1033 psrldq $8,%xmm3 1034 pslldq $8,%xmm4 1035 pxor %xmm3,%xmm1 1036 pxor %xmm4,%xmm0 1037 movdqa %xmm0,%xmm4 1038 movdqa %xmm0,%xmm3 1039 psllq $5,%xmm0 1040 pxor %xmm0,%xmm3 1041 psllq $1,%xmm0 1042 pxor %xmm3,%xmm0 1043 psllq $57,%xmm0 1044 movdqa %xmm0,%xmm3 1045 pslldq $8,%xmm0 1046 psrldq $8,%xmm3 1047 pxor %xmm4,%xmm0 1048 pxor %xmm3,%xmm1 1049 movdqa %xmm0,%xmm4 1050 psrlq $1,%xmm0 1051 pxor %xmm4,%xmm1 1052 pxor %xmm0,%xmm4 1053 psrlq $5,%xmm0 1054 pxor %xmm4,%xmm0 1055 psrlq $1,%xmm0 1056 pxor %xmm1,%xmm0 1057.byte 102,15,56,0,197 1058 movdqu %xmm0,(%eax) 1059 ret 1060.size gcm_gmult_clmul,.-.L_gcm_gmult_clmul_begin 1061.globl gcm_ghash_clmul 1062.type gcm_ghash_clmul,@function 1063.align 16 1064gcm_ghash_clmul: 1065.L_gcm_ghash_clmul_begin: 1066 #ifdef __CET__ 1067 1068.byte 243,15,30,251 1069 #endif 1070 1071 pushl %ebp 1072 pushl %ebx 1073 pushl %esi 1074 pushl %edi 1075 movl 20(%esp),%eax 1076 movl 24(%esp),%edx 1077 movl 28(%esp),%esi 1078 movl 32(%esp),%ebx 1079 call .L012pic 1080.L012pic: 1081 popl %ecx 1082 leal .Lbswap-.L012pic(%ecx),%ecx 1083 movdqu (%eax),%xmm0 1084 movdqa (%ecx),%xmm5 1085 movdqu (%edx),%xmm2 1086.byte 102,15,56,0,197 1087 subl $16,%ebx 1088 jz .L013odd_tail 1089 movdqu (%esi),%xmm3 1090 movdqu 16(%esi),%xmm6 1091.byte 102,15,56,0,221 1092.byte 102,15,56,0,245 1093 movdqu 32(%edx),%xmm5 1094 pxor %xmm3,%xmm0 1095 pshufd $78,%xmm6,%xmm3 1096 movdqa %xmm6,%xmm7 1097 pxor %xmm6,%xmm3 1098 leal 32(%esi),%esi 1099.byte 102,15,58,68,242,0 1100.byte 102,15,58,68,250,17 1101.byte 102,15,58,68,221,0 1102 movups 16(%edx),%xmm2 1103 nop 1104 subl $32,%ebx 1105 jbe .L014even_tail 1106 jmp .L015mod_loop 1107.align 32 1108.L015mod_loop: 1109 pshufd $78,%xmm0,%xmm4 1110 movdqa %xmm0,%xmm1 1111 pxor %xmm0,%xmm4 1112 nop 1113.byte 102,15,58,68,194,0 1114.byte 102,15,58,68,202,17 1115.byte 102,15,58,68,229,16 1116 movups (%edx),%xmm2 1117 xorps %xmm6,%xmm0 1118 movdqa (%ecx),%xmm5 1119 xorps %xmm7,%xmm1 1120 movdqu (%esi),%xmm7 1121 pxor %xmm0,%xmm3 1122 movdqu 16(%esi),%xmm6 1123 pxor %xmm1,%xmm3 1124.byte 102,15,56,0,253 1125 pxor %xmm3,%xmm4 1126 movdqa %xmm4,%xmm3 1127 psrldq $8,%xmm4 1128 pslldq $8,%xmm3 1129 pxor %xmm4,%xmm1 1130 pxor %xmm3,%xmm0 1131.byte 102,15,56,0,245 1132 pxor %xmm7,%xmm1 1133 movdqa %xmm6,%xmm7 1134 movdqa %xmm0,%xmm4 1135 movdqa %xmm0,%xmm3 1136 psllq $5,%xmm0 1137 pxor %xmm0,%xmm3 1138 psllq $1,%xmm0 1139 pxor %xmm3,%xmm0 1140.byte 102,15,58,68,242,0 1141 movups 32(%edx),%xmm5 1142 psllq $57,%xmm0 1143 movdqa %xmm0,%xmm3 1144 pslldq $8,%xmm0 1145 psrldq $8,%xmm3 1146 pxor %xmm4,%xmm0 1147 pxor %xmm3,%xmm1 1148 pshufd $78,%xmm7,%xmm3 1149 movdqa %xmm0,%xmm4 1150 psrlq $1,%xmm0 1151 pxor %xmm7,%xmm3 1152 pxor %xmm4,%xmm1 1153.byte 102,15,58,68,250,17 1154 movups 16(%edx),%xmm2 1155 pxor %xmm0,%xmm4 1156 psrlq $5,%xmm0 1157 pxor %xmm4,%xmm0 1158 psrlq $1,%xmm0 1159 pxor %xmm1,%xmm0 1160.byte 102,15,58,68,221,0 1161 leal 32(%esi),%esi 1162 subl $32,%ebx 1163 ja .L015mod_loop 1164.L014even_tail: 1165 pshufd $78,%xmm0,%xmm4 1166 movdqa %xmm0,%xmm1 1167 pxor %xmm0,%xmm4 1168.byte 102,15,58,68,194,0 1169.byte 102,15,58,68,202,17 1170.byte 102,15,58,68,229,16 1171 movdqa (%ecx),%xmm5 1172 xorps %xmm6,%xmm0 1173 xorps %xmm7,%xmm1 1174 pxor %xmm0,%xmm3 1175 pxor %xmm1,%xmm3 1176 pxor %xmm3,%xmm4 1177 movdqa %xmm4,%xmm3 1178 psrldq $8,%xmm4 1179 pslldq $8,%xmm3 1180 pxor %xmm4,%xmm1 1181 pxor %xmm3,%xmm0 1182 movdqa %xmm0,%xmm4 1183 movdqa %xmm0,%xmm3 1184 psllq $5,%xmm0 1185 pxor %xmm0,%xmm3 1186 psllq $1,%xmm0 1187 pxor %xmm3,%xmm0 1188 psllq $57,%xmm0 1189 movdqa %xmm0,%xmm3 1190 pslldq $8,%xmm0 1191 psrldq $8,%xmm3 1192 pxor %xmm4,%xmm0 1193 pxor %xmm3,%xmm1 1194 movdqa %xmm0,%xmm4 1195 psrlq $1,%xmm0 1196 pxor %xmm4,%xmm1 1197 pxor %xmm0,%xmm4 1198 psrlq $5,%xmm0 1199 pxor %xmm4,%xmm0 1200 psrlq $1,%xmm0 1201 pxor %xmm1,%xmm0 1202 testl %ebx,%ebx 1203 jnz .L016done 1204 movups (%edx),%xmm2 1205.L013odd_tail: 1206 movdqu (%esi),%xmm3 1207.byte 102,15,56,0,221 1208 pxor %xmm3,%xmm0 1209 movdqa %xmm0,%xmm1 1210 pshufd $78,%xmm0,%xmm3 1211 pshufd $78,%xmm2,%xmm4 1212 pxor %xmm0,%xmm3 1213 pxor %xmm2,%xmm4 1214.byte 102,15,58,68,194,0 1215.byte 102,15,58,68,202,17 1216.byte 102,15,58,68,220,0 1217 xorps %xmm0,%xmm3 1218 xorps %xmm1,%xmm3 1219 movdqa %xmm3,%xmm4 1220 psrldq $8,%xmm3 1221 pslldq $8,%xmm4 1222 pxor %xmm3,%xmm1 1223 pxor %xmm4,%xmm0 1224 movdqa %xmm0,%xmm4 1225 movdqa %xmm0,%xmm3 1226 psllq $5,%xmm0 1227 pxor %xmm0,%xmm3 1228 psllq $1,%xmm0 1229 pxor %xmm3,%xmm0 1230 psllq $57,%xmm0 1231 movdqa %xmm0,%xmm3 1232 pslldq $8,%xmm0 1233 psrldq $8,%xmm3 1234 pxor %xmm4,%xmm0 1235 pxor %xmm3,%xmm1 1236 movdqa %xmm0,%xmm4 1237 psrlq $1,%xmm0 1238 pxor %xmm4,%xmm1 1239 pxor %xmm0,%xmm4 1240 psrlq $5,%xmm0 1241 pxor %xmm4,%xmm0 1242 psrlq $1,%xmm0 1243 pxor %xmm1,%xmm0 1244.L016done: 1245.byte 102,15,56,0,197 1246 movdqu %xmm0,(%eax) 1247 popl %edi 1248 popl %esi 1249 popl %ebx 1250 popl %ebp 1251 ret 1252.size gcm_ghash_clmul,.-.L_gcm_ghash_clmul_begin 1253.align 64 1254.Lbswap: 1255.byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 1256.byte 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,194 1257.align 64 1258.Lrem_8bit: 1259.value 0,450,900,582,1800,1738,1164,1358 1260.value 3600,4050,3476,3158,2328,2266,2716,2910 1261.value 7200,7650,8100,7782,6952,6890,6316,6510 1262.value 4656,5106,4532,4214,5432,5370,5820,6014 1263.value 14400,14722,15300,14854,16200,16010,15564,15630 1264.value 13904,14226,13780,13334,12632,12442,13020,13086 1265.value 9312,9634,10212,9766,9064,8874,8428,8494 1266.value 10864,11186,10740,10294,11640,11450,12028,12094 1267.value 28800,28994,29444,29382,30600,30282,29708,30158 1268.value 32400,32594,32020,31958,31128,30810,31260,31710 1269.value 27808,28002,28452,28390,27560,27242,26668,27118 1270.value 25264,25458,24884,24822,26040,25722,26172,26622 1271.value 18624,18690,19268,19078,20424,19978,19532,19854 1272.value 18128,18194,17748,17558,16856,16410,16988,17310 1273.value 21728,21794,22372,22182,21480,21034,20588,20910 1274.value 23280,23346,22900,22710,24056,23610,24188,24510 1275.value 57600,57538,57988,58182,58888,59338,58764,58446 1276.value 61200,61138,60564,60758,59416,59866,60316,59998 1277.value 64800,64738,65188,65382,64040,64490,63916,63598 1278.value 62256,62194,61620,61814,62520,62970,63420,63102 1279.value 55616,55426,56004,56070,56904,57226,56780,56334 1280.value 55120,54930,54484,54550,53336,53658,54236,53790 1281.value 50528,50338,50916,50982,49768,50090,49644,49198 1282.value 52080,51890,51444,51510,52344,52666,53244,52798 1283.value 37248,36930,37380,37830,38536,38730,38156,38094 1284.value 40848,40530,39956,40406,39064,39258,39708,39646 1285.value 36256,35938,36388,36838,35496,35690,35116,35054 1286.value 33712,33394,32820,33270,33976,34170,34620,34558 1287.value 43456,43010,43588,43910,44744,44810,44364,44174 1288.value 42960,42514,42068,42390,41176,41242,41820,41630 1289.value 46560,46114,46692,47014,45800,45866,45420,45230 1290.value 48112,47666,47220,47542,48376,48442,49020,48830 1291.align 64 1292.Lrem_4bit: 1293.long 0,0,0,471859200,0,943718400,0,610271232 1294.long 0,1887436800,0,1822425088,0,1220542464,0,1423966208 1295.long 0,3774873600,0,4246732800,0,3644850176,0,3311403008 1296.long 0,2441084928,0,2376073216,0,2847932416,0,3051356160 1297.byte 71,72,65,83,72,32,102,111,114,32,120,56,54,44,32,67 1298.byte 82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112 1299.byte 112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62 1300.byte 0 1301 1302 .section ".note.gnu.property", "a" 1303 .p2align 2 1304 .long 1f - 0f 1305 .long 4f - 1f 1306 .long 5 13070: 1308 .asciz "GNU" 13091: 1310 .p2align 2 1311 .long 0xc0000002 1312 .long 3f - 2f 13132: 1314 .long 3 13153: 1316 .p2align 2 13174: 1318