1238405Sjkim # $FreeBSD: releng/10.2/secure/lib/libcrypto/amd64/aesni-sha1-x86_64.S 238405 2012-07-12 19:30:53Z jkim $ 2238405Sjkim.text 3238405Sjkim 4238405Sjkim 5238405Sjkim.globl aesni_cbc_sha1_enc 6238405Sjkim.type aesni_cbc_sha1_enc,@function 7238405Sjkim.align 16 8238405Sjkimaesni_cbc_sha1_enc: 9238405Sjkim 10238405Sjkim movl OPENSSL_ia32cap_P+0(%rip),%r10d 11238405Sjkim movl OPENSSL_ia32cap_P+4(%rip),%r11d 12238405Sjkim jmp aesni_cbc_sha1_enc_ssse3 13238405Sjkim .byte 0xf3,0xc3 14238405Sjkim.size aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc 15238405Sjkim.type aesni_cbc_sha1_enc_ssse3,@function 16238405Sjkim.align 16 17238405Sjkimaesni_cbc_sha1_enc_ssse3: 18238405Sjkim movq 8(%rsp),%r10 19238405Sjkim 20238405Sjkim 21238405Sjkim pushq %rbx 22238405Sjkim pushq %rbp 23238405Sjkim pushq %r12 24238405Sjkim pushq %r13 25238405Sjkim pushq %r14 26238405Sjkim pushq %r15 27238405Sjkim leaq -104(%rsp),%rsp 28238405Sjkim 29238405Sjkim 30238405Sjkim movq %rdi,%r12 31238405Sjkim movq %rsi,%r13 32238405Sjkim movq %rdx,%r14 33238405Sjkim movq %rcx,%r15 34238405Sjkim movdqu (%r8),%xmm11 35238405Sjkim movq %r8,88(%rsp) 36238405Sjkim shlq $6,%r14 37238405Sjkim subq %r12,%r13 38238405Sjkim movl 240(%r15),%r8d 39238405Sjkim addq %r10,%r14 40238405Sjkim 41238405Sjkim leaq K_XX_XX(%rip),%r11 42238405Sjkim movl 0(%r9),%eax 43238405Sjkim movl 4(%r9),%ebx 44238405Sjkim movl 8(%r9),%ecx 45238405Sjkim movl 12(%r9),%edx 46238405Sjkim movl %ebx,%esi 47238405Sjkim movl 16(%r9),%ebp 48238405Sjkim 49238405Sjkim movdqa 64(%r11),%xmm6 50238405Sjkim movdqa 0(%r11),%xmm9 51238405Sjkim movdqu 0(%r10),%xmm0 52238405Sjkim movdqu 16(%r10),%xmm1 53238405Sjkim movdqu 32(%r10),%xmm2 54238405Sjkim movdqu 48(%r10),%xmm3 55238405Sjkim.byte 102,15,56,0,198 56238405Sjkim addq $64,%r10 57238405Sjkim.byte 102,15,56,0,206 58238405Sjkim.byte 102,15,56,0,214 59238405Sjkim.byte 102,15,56,0,222 60238405Sjkim paddd %xmm9,%xmm0 61238405Sjkim paddd %xmm9,%xmm1 62238405Sjkim paddd %xmm9,%xmm2 63238405Sjkim movdqa %xmm0,0(%rsp) 64238405Sjkim psubd %xmm9,%xmm0 65238405Sjkim movdqa %xmm1,16(%rsp) 66238405Sjkim psubd %xmm9,%xmm1 67238405Sjkim movdqa %xmm2,32(%rsp) 68238405Sjkim psubd %xmm9,%xmm2 69238405Sjkim movups (%r15),%xmm13 70238405Sjkim movups 16(%r15),%xmm14 71238405Sjkim jmp .Loop_ssse3 72238405Sjkim.align 16 73238405Sjkim.Loop_ssse3: 74238405Sjkim movdqa %xmm1,%xmm4 75238405Sjkim addl 0(%rsp),%ebp 76238405Sjkim movups 0(%r12),%xmm12 77238405Sjkim xorps %xmm13,%xmm12 78238405Sjkim xorps %xmm12,%xmm11 79238405Sjkim.byte 102,69,15,56,220,222 80238405Sjkim movups 32(%r15),%xmm15 81238405Sjkim xorl %edx,%ecx 82238405Sjkim movdqa %xmm3,%xmm8 83238405Sjkim.byte 102,15,58,15,224,8 84238405Sjkim movl %eax,%edi 85238405Sjkim roll $5,%eax 86238405Sjkim paddd %xmm3,%xmm9 87238405Sjkim andl %ecx,%esi 88238405Sjkim xorl %edx,%ecx 89238405Sjkim psrldq $4,%xmm8 90238405Sjkim xorl %edx,%esi 91238405Sjkim addl %eax,%ebp 92238405Sjkim pxor %xmm0,%xmm4 93238405Sjkim rorl $2,%ebx 94238405Sjkim addl %esi,%ebp 95238405Sjkim pxor %xmm2,%xmm8 96238405Sjkim addl 4(%rsp),%edx 97238405Sjkim xorl %ecx,%ebx 98238405Sjkim movl %ebp,%esi 99238405Sjkim roll $5,%ebp 100238405Sjkim pxor %xmm8,%xmm4 101238405Sjkim andl %ebx,%edi 102238405Sjkim xorl %ecx,%ebx 103238405Sjkim movdqa %xmm9,48(%rsp) 104238405Sjkim xorl %ecx,%edi 105238405Sjkim.byte 102,69,15,56,220,223 106238405Sjkim movups 48(%r15),%xmm14 107238405Sjkim addl %ebp,%edx 108238405Sjkim movdqa %xmm4,%xmm10 109238405Sjkim movdqa %xmm4,%xmm8 110238405Sjkim rorl $7,%eax 111238405Sjkim addl %edi,%edx 112238405Sjkim addl 8(%rsp),%ecx 113238405Sjkim xorl %ebx,%eax 114238405Sjkim pslldq $12,%xmm10 115238405Sjkim paddd %xmm4,%xmm4 116238405Sjkim movl %edx,%edi 117238405Sjkim roll $5,%edx 118238405Sjkim andl %eax,%esi 119238405Sjkim xorl %ebx,%eax 120238405Sjkim psrld $31,%xmm8 121238405Sjkim xorl %ebx,%esi 122238405Sjkim addl %edx,%ecx 123238405Sjkim movdqa %xmm10,%xmm9 124238405Sjkim rorl $7,%ebp 125238405Sjkim addl %esi,%ecx 126238405Sjkim psrld $30,%xmm10 127238405Sjkim por %xmm8,%xmm4 128238405Sjkim addl 12(%rsp),%ebx 129238405Sjkim xorl %eax,%ebp 130238405Sjkim movl %ecx,%esi 131238405Sjkim roll $5,%ecx 132238405Sjkim.byte 102,69,15,56,220,222 133238405Sjkim movups 64(%r15),%xmm15 134238405Sjkim pslld $2,%xmm9 135238405Sjkim pxor %xmm10,%xmm4 136238405Sjkim andl %ebp,%edi 137238405Sjkim xorl %eax,%ebp 138238405Sjkim movdqa 0(%r11),%xmm10 139238405Sjkim xorl %eax,%edi 140238405Sjkim addl %ecx,%ebx 141238405Sjkim pxor %xmm9,%xmm4 142238405Sjkim rorl $7,%edx 143238405Sjkim addl %edi,%ebx 144238405Sjkim movdqa %xmm2,%xmm5 145238405Sjkim addl 16(%rsp),%eax 146238405Sjkim xorl %ebp,%edx 147238405Sjkim movdqa %xmm4,%xmm9 148238405Sjkim.byte 102,15,58,15,233,8 149238405Sjkim movl %ebx,%edi 150238405Sjkim roll $5,%ebx 151238405Sjkim paddd %xmm4,%xmm10 152238405Sjkim andl %edx,%esi 153238405Sjkim xorl %ebp,%edx 154238405Sjkim psrldq $4,%xmm9 155238405Sjkim xorl %ebp,%esi 156238405Sjkim addl %ebx,%eax 157238405Sjkim pxor %xmm1,%xmm5 158238405Sjkim rorl $7,%ecx 159238405Sjkim addl %esi,%eax 160238405Sjkim pxor %xmm3,%xmm9 161238405Sjkim addl 20(%rsp),%ebp 162238405Sjkim.byte 102,69,15,56,220,223 163238405Sjkim movups 80(%r15),%xmm14 164238405Sjkim xorl %edx,%ecx 165238405Sjkim movl %eax,%esi 166238405Sjkim roll $5,%eax 167238405Sjkim pxor %xmm9,%xmm5 168238405Sjkim andl %ecx,%edi 169238405Sjkim xorl %edx,%ecx 170238405Sjkim movdqa %xmm10,0(%rsp) 171238405Sjkim xorl %edx,%edi 172238405Sjkim addl %eax,%ebp 173238405Sjkim movdqa %xmm5,%xmm8 174238405Sjkim movdqa %xmm5,%xmm9 175238405Sjkim rorl $7,%ebx 176238405Sjkim addl %edi,%ebp 177238405Sjkim addl 24(%rsp),%edx 178238405Sjkim xorl %ecx,%ebx 179238405Sjkim pslldq $12,%xmm8 180238405Sjkim paddd %xmm5,%xmm5 181238405Sjkim movl %ebp,%edi 182238405Sjkim roll $5,%ebp 183238405Sjkim andl %ebx,%esi 184238405Sjkim xorl %ecx,%ebx 185238405Sjkim psrld $31,%xmm9 186238405Sjkim xorl %ecx,%esi 187238405Sjkim.byte 102,69,15,56,220,222 188238405Sjkim movups 96(%r15),%xmm15 189238405Sjkim addl %ebp,%edx 190238405Sjkim movdqa %xmm8,%xmm10 191238405Sjkim rorl $7,%eax 192238405Sjkim addl %esi,%edx 193238405Sjkim psrld $30,%xmm8 194238405Sjkim por %xmm9,%xmm5 195238405Sjkim addl 28(%rsp),%ecx 196238405Sjkim xorl %ebx,%eax 197238405Sjkim movl %edx,%esi 198238405Sjkim roll $5,%edx 199238405Sjkim pslld $2,%xmm10 200238405Sjkim pxor %xmm8,%xmm5 201238405Sjkim andl %eax,%edi 202238405Sjkim xorl %ebx,%eax 203238405Sjkim movdqa 16(%r11),%xmm8 204238405Sjkim xorl %ebx,%edi 205238405Sjkim addl %edx,%ecx 206238405Sjkim pxor %xmm10,%xmm5 207238405Sjkim rorl $7,%ebp 208238405Sjkim addl %edi,%ecx 209238405Sjkim movdqa %xmm3,%xmm6 210238405Sjkim addl 32(%rsp),%ebx 211238405Sjkim xorl %eax,%ebp 212238405Sjkim movdqa %xmm5,%xmm10 213238405Sjkim.byte 102,15,58,15,242,8 214238405Sjkim movl %ecx,%edi 215238405Sjkim roll $5,%ecx 216238405Sjkim.byte 102,69,15,56,220,223 217238405Sjkim movups 112(%r15),%xmm14 218238405Sjkim paddd %xmm5,%xmm8 219238405Sjkim andl %ebp,%esi 220238405Sjkim xorl %eax,%ebp 221238405Sjkim psrldq $4,%xmm10 222238405Sjkim xorl %eax,%esi 223238405Sjkim addl %ecx,%ebx 224238405Sjkim pxor %xmm2,%xmm6 225238405Sjkim rorl $7,%edx 226238405Sjkim addl %esi,%ebx 227238405Sjkim pxor %xmm4,%xmm10 228238405Sjkim addl 36(%rsp),%eax 229238405Sjkim xorl %ebp,%edx 230238405Sjkim movl %ebx,%esi 231238405Sjkim roll $5,%ebx 232238405Sjkim pxor %xmm10,%xmm6 233238405Sjkim andl %edx,%edi 234238405Sjkim xorl %ebp,%edx 235238405Sjkim movdqa %xmm8,16(%rsp) 236238405Sjkim xorl %ebp,%edi 237238405Sjkim addl %ebx,%eax 238238405Sjkim movdqa %xmm6,%xmm9 239238405Sjkim movdqa %xmm6,%xmm10 240238405Sjkim rorl $7,%ecx 241238405Sjkim addl %edi,%eax 242238405Sjkim addl 40(%rsp),%ebp 243238405Sjkim.byte 102,69,15,56,220,222 244238405Sjkim movups 128(%r15),%xmm15 245238405Sjkim xorl %edx,%ecx 246238405Sjkim pslldq $12,%xmm9 247238405Sjkim paddd %xmm6,%xmm6 248238405Sjkim movl %eax,%edi 249238405Sjkim roll $5,%eax 250238405Sjkim andl %ecx,%esi 251238405Sjkim xorl %edx,%ecx 252238405Sjkim psrld $31,%xmm10 253238405Sjkim xorl %edx,%esi 254238405Sjkim addl %eax,%ebp 255238405Sjkim movdqa %xmm9,%xmm8 256238405Sjkim rorl $7,%ebx 257238405Sjkim addl %esi,%ebp 258238405Sjkim psrld $30,%xmm9 259238405Sjkim por %xmm10,%xmm6 260238405Sjkim addl 44(%rsp),%edx 261238405Sjkim xorl %ecx,%ebx 262238405Sjkim movl %ebp,%esi 263238405Sjkim roll $5,%ebp 264238405Sjkim pslld $2,%xmm8 265238405Sjkim pxor %xmm9,%xmm6 266238405Sjkim andl %ebx,%edi 267238405Sjkim xorl %ecx,%ebx 268238405Sjkim movdqa 16(%r11),%xmm9 269238405Sjkim xorl %ecx,%edi 270238405Sjkim.byte 102,69,15,56,220,223 271238405Sjkim movups 144(%r15),%xmm14 272238405Sjkim addl %ebp,%edx 273238405Sjkim pxor %xmm8,%xmm6 274238405Sjkim rorl $7,%eax 275238405Sjkim addl %edi,%edx 276238405Sjkim movdqa %xmm4,%xmm7 277238405Sjkim addl 48(%rsp),%ecx 278238405Sjkim xorl %ebx,%eax 279238405Sjkim movdqa %xmm6,%xmm8 280238405Sjkim.byte 102,15,58,15,251,8 281238405Sjkim movl %edx,%edi 282238405Sjkim roll $5,%edx 283238405Sjkim paddd %xmm6,%xmm9 284238405Sjkim andl %eax,%esi 285238405Sjkim xorl %ebx,%eax 286238405Sjkim psrldq $4,%xmm8 287238405Sjkim xorl %ebx,%esi 288238405Sjkim addl %edx,%ecx 289238405Sjkim pxor %xmm3,%xmm7 290238405Sjkim rorl $7,%ebp 291238405Sjkim addl %esi,%ecx 292238405Sjkim pxor %xmm5,%xmm8 293238405Sjkim addl 52(%rsp),%ebx 294238405Sjkim xorl %eax,%ebp 295238405Sjkim movl %ecx,%esi 296238405Sjkim roll $5,%ecx 297238405Sjkim.byte 102,69,15,56,220,222 298238405Sjkim movups 160(%r15),%xmm15 299238405Sjkim pxor %xmm8,%xmm7 300238405Sjkim andl %ebp,%edi 301238405Sjkim xorl %eax,%ebp 302238405Sjkim movdqa %xmm9,32(%rsp) 303238405Sjkim xorl %eax,%edi 304238405Sjkim addl %ecx,%ebx 305238405Sjkim movdqa %xmm7,%xmm10 306238405Sjkim movdqa %xmm7,%xmm8 307238405Sjkim rorl $7,%edx 308238405Sjkim addl %edi,%ebx 309238405Sjkim addl 56(%rsp),%eax 310238405Sjkim xorl %ebp,%edx 311238405Sjkim pslldq $12,%xmm10 312238405Sjkim paddd %xmm7,%xmm7 313238405Sjkim movl %ebx,%edi 314238405Sjkim roll $5,%ebx 315238405Sjkim andl %edx,%esi 316238405Sjkim xorl %ebp,%edx 317238405Sjkim psrld $31,%xmm8 318238405Sjkim xorl %ebp,%esi 319238405Sjkim addl %ebx,%eax 320238405Sjkim movdqa %xmm10,%xmm9 321238405Sjkim rorl $7,%ecx 322238405Sjkim addl %esi,%eax 323238405Sjkim psrld $30,%xmm10 324238405Sjkim por %xmm8,%xmm7 325238405Sjkim addl 60(%rsp),%ebp 326238405Sjkim cmpl $11,%r8d 327238405Sjkim jb .Laesenclast1 328238405Sjkim movups 176(%r15),%xmm14 329238405Sjkim.byte 102,69,15,56,220,223 330238405Sjkim movups 192(%r15),%xmm15 331238405Sjkim.byte 102,69,15,56,220,222 332238405Sjkim je .Laesenclast1 333238405Sjkim movups 208(%r15),%xmm14 334238405Sjkim.byte 102,69,15,56,220,223 335238405Sjkim movups 224(%r15),%xmm15 336238405Sjkim.byte 102,69,15,56,220,222 337238405Sjkim.Laesenclast1: 338238405Sjkim.byte 102,69,15,56,221,223 339238405Sjkim movups 16(%r15),%xmm14 340238405Sjkim xorl %edx,%ecx 341238405Sjkim movl %eax,%esi 342238405Sjkim roll $5,%eax 343238405Sjkim pslld $2,%xmm9 344238405Sjkim pxor %xmm10,%xmm7 345238405Sjkim andl %ecx,%edi 346238405Sjkim xorl %edx,%ecx 347238405Sjkim movdqa 16(%r11),%xmm10 348238405Sjkim xorl %edx,%edi 349238405Sjkim addl %eax,%ebp 350238405Sjkim pxor %xmm9,%xmm7 351238405Sjkim rorl $7,%ebx 352238405Sjkim addl %edi,%ebp 353238405Sjkim movdqa %xmm7,%xmm9 354238405Sjkim addl 0(%rsp),%edx 355238405Sjkim pxor %xmm4,%xmm0 356238405Sjkim.byte 102,68,15,58,15,206,8 357238405Sjkim xorl %ecx,%ebx 358238405Sjkim movl %ebp,%edi 359238405Sjkim roll $5,%ebp 360238405Sjkim pxor %xmm1,%xmm0 361238405Sjkim andl %ebx,%esi 362238405Sjkim xorl %ecx,%ebx 363238405Sjkim movdqa %xmm10,%xmm8 364238405Sjkim paddd %xmm7,%xmm10 365238405Sjkim xorl %ecx,%esi 366238405Sjkim movups 16(%r12),%xmm12 367238405Sjkim xorps %xmm13,%xmm12 368238405Sjkim movups %xmm11,0(%r13,%r12,1) 369238405Sjkim xorps %xmm12,%xmm11 370238405Sjkim.byte 102,69,15,56,220,222 371238405Sjkim movups 32(%r15),%xmm15 372238405Sjkim addl %ebp,%edx 373238405Sjkim pxor %xmm9,%xmm0 374238405Sjkim rorl $7,%eax 375238405Sjkim addl %esi,%edx 376238405Sjkim addl 4(%rsp),%ecx 377238405Sjkim xorl %ebx,%eax 378238405Sjkim movdqa %xmm0,%xmm9 379238405Sjkim movdqa %xmm10,48(%rsp) 380238405Sjkim movl %edx,%esi 381238405Sjkim roll $5,%edx 382238405Sjkim andl %eax,%edi 383238405Sjkim xorl %ebx,%eax 384238405Sjkim pslld $2,%xmm0 385238405Sjkim xorl %ebx,%edi 386238405Sjkim addl %edx,%ecx 387238405Sjkim psrld $30,%xmm9 388238405Sjkim rorl $7,%ebp 389238405Sjkim addl %edi,%ecx 390238405Sjkim addl 8(%rsp),%ebx 391238405Sjkim xorl %eax,%ebp 392238405Sjkim movl %ecx,%edi 393238405Sjkim roll $5,%ecx 394238405Sjkim.byte 102,69,15,56,220,223 395238405Sjkim movups 48(%r15),%xmm14 396238405Sjkim por %xmm9,%xmm0 397238405Sjkim andl %ebp,%esi 398238405Sjkim xorl %eax,%ebp 399238405Sjkim movdqa %xmm0,%xmm10 400238405Sjkim xorl %eax,%esi 401238405Sjkim addl %ecx,%ebx 402238405Sjkim rorl $7,%edx 403238405Sjkim addl %esi,%ebx 404238405Sjkim addl 12(%rsp),%eax 405238405Sjkim xorl %ebp,%edx 406238405Sjkim movl %ebx,%esi 407238405Sjkim roll $5,%ebx 408238405Sjkim andl %edx,%edi 409238405Sjkim xorl %ebp,%edx 410238405Sjkim xorl %ebp,%edi 411238405Sjkim addl %ebx,%eax 412238405Sjkim rorl $7,%ecx 413238405Sjkim addl %edi,%eax 414238405Sjkim addl 16(%rsp),%ebp 415238405Sjkim.byte 102,69,15,56,220,222 416238405Sjkim movups 64(%r15),%xmm15 417238405Sjkim pxor %xmm5,%xmm1 418238405Sjkim.byte 102,68,15,58,15,215,8 419238405Sjkim xorl %edx,%esi 420238405Sjkim movl %eax,%edi 421238405Sjkim roll $5,%eax 422238405Sjkim pxor %xmm2,%xmm1 423238405Sjkim xorl %ecx,%esi 424238405Sjkim addl %eax,%ebp 425238405Sjkim movdqa %xmm8,%xmm9 426238405Sjkim paddd %xmm0,%xmm8 427238405Sjkim rorl $7,%ebx 428238405Sjkim addl %esi,%ebp 429238405Sjkim pxor %xmm10,%xmm1 430238405Sjkim addl 20(%rsp),%edx 431238405Sjkim xorl %ecx,%edi 432238405Sjkim movl %ebp,%esi 433238405Sjkim roll $5,%ebp 434238405Sjkim movdqa %xmm1,%xmm10 435238405Sjkim movdqa %xmm8,0(%rsp) 436238405Sjkim xorl %ebx,%edi 437238405Sjkim addl %ebp,%edx 438238405Sjkim rorl $7,%eax 439238405Sjkim addl %edi,%edx 440238405Sjkim pslld $2,%xmm1 441238405Sjkim addl 24(%rsp),%ecx 442238405Sjkim xorl %ebx,%esi 443238405Sjkim psrld $30,%xmm10 444238405Sjkim movl %edx,%edi 445238405Sjkim roll $5,%edx 446238405Sjkim xorl %eax,%esi 447238405Sjkim.byte 102,69,15,56,220,223 448238405Sjkim movups 80(%r15),%xmm14 449238405Sjkim addl %edx,%ecx 450238405Sjkim rorl $7,%ebp 451238405Sjkim addl %esi,%ecx 452238405Sjkim por %xmm10,%xmm1 453238405Sjkim addl 28(%rsp),%ebx 454238405Sjkim xorl %eax,%edi 455238405Sjkim movdqa %xmm1,%xmm8 456238405Sjkim movl %ecx,%esi 457238405Sjkim roll $5,%ecx 458238405Sjkim xorl %ebp,%edi 459238405Sjkim addl %ecx,%ebx 460238405Sjkim rorl $7,%edx 461238405Sjkim addl %edi,%ebx 462238405Sjkim addl 32(%rsp),%eax 463238405Sjkim pxor %xmm6,%xmm2 464238405Sjkim.byte 102,68,15,58,15,192,8 465238405Sjkim xorl %ebp,%esi 466238405Sjkim movl %ebx,%edi 467238405Sjkim roll $5,%ebx 468238405Sjkim pxor %xmm3,%xmm2 469238405Sjkim xorl %edx,%esi 470238405Sjkim addl %ebx,%eax 471238405Sjkim movdqa 32(%r11),%xmm10 472238405Sjkim paddd %xmm1,%xmm9 473238405Sjkim rorl $7,%ecx 474238405Sjkim addl %esi,%eax 475238405Sjkim pxor %xmm8,%xmm2 476238405Sjkim addl 36(%rsp),%ebp 477238405Sjkim.byte 102,69,15,56,220,222 478238405Sjkim movups 96(%r15),%xmm15 479238405Sjkim xorl %edx,%edi 480238405Sjkim movl %eax,%esi 481238405Sjkim roll $5,%eax 482238405Sjkim movdqa %xmm2,%xmm8 483238405Sjkim movdqa %xmm9,16(%rsp) 484238405Sjkim xorl %ecx,%edi 485238405Sjkim addl %eax,%ebp 486238405Sjkim rorl $7,%ebx 487238405Sjkim addl %edi,%ebp 488238405Sjkim pslld $2,%xmm2 489238405Sjkim addl 40(%rsp),%edx 490238405Sjkim xorl %ecx,%esi 491238405Sjkim psrld $30,%xmm8 492238405Sjkim movl %ebp,%edi 493238405Sjkim roll $5,%ebp 494238405Sjkim xorl %ebx,%esi 495238405Sjkim addl %ebp,%edx 496238405Sjkim rorl $7,%eax 497238405Sjkim addl %esi,%edx 498238405Sjkim por %xmm8,%xmm2 499238405Sjkim addl 44(%rsp),%ecx 500238405Sjkim xorl %ebx,%edi 501238405Sjkim movdqa %xmm2,%xmm9 502238405Sjkim movl %edx,%esi 503238405Sjkim roll $5,%edx 504238405Sjkim xorl %eax,%edi 505238405Sjkim.byte 102,69,15,56,220,223 506238405Sjkim movups 112(%r15),%xmm14 507238405Sjkim addl %edx,%ecx 508238405Sjkim rorl $7,%ebp 509238405Sjkim addl %edi,%ecx 510238405Sjkim addl 48(%rsp),%ebx 511238405Sjkim pxor %xmm7,%xmm3 512238405Sjkim.byte 102,68,15,58,15,201,8 513238405Sjkim xorl %eax,%esi 514238405Sjkim movl %ecx,%edi 515238405Sjkim roll $5,%ecx 516238405Sjkim pxor %xmm4,%xmm3 517238405Sjkim xorl %ebp,%esi 518238405Sjkim addl %ecx,%ebx 519238405Sjkim movdqa %xmm10,%xmm8 520238405Sjkim paddd %xmm2,%xmm10 521238405Sjkim rorl $7,%edx 522238405Sjkim addl %esi,%ebx 523238405Sjkim pxor %xmm9,%xmm3 524238405Sjkim addl 52(%rsp),%eax 525238405Sjkim xorl %ebp,%edi 526238405Sjkim movl %ebx,%esi 527238405Sjkim roll $5,%ebx 528238405Sjkim movdqa %xmm3,%xmm9 529238405Sjkim movdqa %xmm10,32(%rsp) 530238405Sjkim xorl %edx,%edi 531238405Sjkim addl %ebx,%eax 532238405Sjkim rorl $7,%ecx 533238405Sjkim addl %edi,%eax 534238405Sjkim pslld $2,%xmm3 535238405Sjkim addl 56(%rsp),%ebp 536238405Sjkim.byte 102,69,15,56,220,222 537238405Sjkim movups 128(%r15),%xmm15 538238405Sjkim xorl %edx,%esi 539238405Sjkim psrld $30,%xmm9 540238405Sjkim movl %eax,%edi 541238405Sjkim roll $5,%eax 542238405Sjkim xorl %ecx,%esi 543238405Sjkim addl %eax,%ebp 544238405Sjkim rorl $7,%ebx 545238405Sjkim addl %esi,%ebp 546238405Sjkim por %xmm9,%xmm3 547238405Sjkim addl 60(%rsp),%edx 548238405Sjkim xorl %ecx,%edi 549238405Sjkim movdqa %xmm3,%xmm10 550238405Sjkim movl %ebp,%esi 551238405Sjkim roll $5,%ebp 552238405Sjkim xorl %ebx,%edi 553238405Sjkim addl %ebp,%edx 554238405Sjkim rorl $7,%eax 555238405Sjkim addl %edi,%edx 556238405Sjkim addl 0(%rsp),%ecx 557238405Sjkim pxor %xmm0,%xmm4 558238405Sjkim.byte 102,68,15,58,15,210,8 559238405Sjkim xorl %ebx,%esi 560238405Sjkim movl %edx,%edi 561238405Sjkim roll $5,%edx 562238405Sjkim pxor %xmm5,%xmm4 563238405Sjkim xorl %eax,%esi 564238405Sjkim.byte 102,69,15,56,220,223 565238405Sjkim movups 144(%r15),%xmm14 566238405Sjkim addl %edx,%ecx 567238405Sjkim movdqa %xmm8,%xmm9 568238405Sjkim paddd %xmm3,%xmm8 569238405Sjkim rorl $7,%ebp 570238405Sjkim addl %esi,%ecx 571238405Sjkim pxor %xmm10,%xmm4 572238405Sjkim addl 4(%rsp),%ebx 573238405Sjkim xorl %eax,%edi 574238405Sjkim movl %ecx,%esi 575238405Sjkim roll $5,%ecx 576238405Sjkim movdqa %xmm4,%xmm10 577238405Sjkim movdqa %xmm8,48(%rsp) 578238405Sjkim xorl %ebp,%edi 579238405Sjkim addl %ecx,%ebx 580238405Sjkim rorl $7,%edx 581238405Sjkim addl %edi,%ebx 582238405Sjkim pslld $2,%xmm4 583238405Sjkim addl 8(%rsp),%eax 584238405Sjkim xorl %ebp,%esi 585238405Sjkim psrld $30,%xmm10 586238405Sjkim movl %ebx,%edi 587238405Sjkim roll $5,%ebx 588238405Sjkim xorl %edx,%esi 589238405Sjkim addl %ebx,%eax 590238405Sjkim rorl $7,%ecx 591238405Sjkim addl %esi,%eax 592238405Sjkim por %xmm10,%xmm4 593238405Sjkim addl 12(%rsp),%ebp 594238405Sjkim.byte 102,69,15,56,220,222 595238405Sjkim movups 160(%r15),%xmm15 596238405Sjkim xorl %edx,%edi 597238405Sjkim movdqa %xmm4,%xmm8 598238405Sjkim movl %eax,%esi 599238405Sjkim roll $5,%eax 600238405Sjkim xorl %ecx,%edi 601238405Sjkim addl %eax,%ebp 602238405Sjkim rorl $7,%ebx 603238405Sjkim addl %edi,%ebp 604238405Sjkim addl 16(%rsp),%edx 605238405Sjkim pxor %xmm1,%xmm5 606238405Sjkim.byte 102,68,15,58,15,195,8 607238405Sjkim xorl %ecx,%esi 608238405Sjkim movl %ebp,%edi 609238405Sjkim roll $5,%ebp 610238405Sjkim pxor %xmm6,%xmm5 611238405Sjkim xorl %ebx,%esi 612238405Sjkim addl %ebp,%edx 613238405Sjkim movdqa %xmm9,%xmm10 614238405Sjkim paddd %xmm4,%xmm9 615238405Sjkim rorl $7,%eax 616238405Sjkim addl %esi,%edx 617238405Sjkim pxor %xmm8,%xmm5 618238405Sjkim addl 20(%rsp),%ecx 619238405Sjkim xorl %ebx,%edi 620238405Sjkim movl %edx,%esi 621238405Sjkim roll $5,%edx 622238405Sjkim movdqa %xmm5,%xmm8 623238405Sjkim movdqa %xmm9,0(%rsp) 624238405Sjkim xorl %eax,%edi 625238405Sjkim cmpl $11,%r8d 626238405Sjkim jb .Laesenclast2 627238405Sjkim movups 176(%r15),%xmm14 628238405Sjkim.byte 102,69,15,56,220,223 629238405Sjkim movups 192(%r15),%xmm15 630238405Sjkim.byte 102,69,15,56,220,222 631238405Sjkim je .Laesenclast2 632238405Sjkim movups 208(%r15),%xmm14 633238405Sjkim.byte 102,69,15,56,220,223 634238405Sjkim movups 224(%r15),%xmm15 635238405Sjkim.byte 102,69,15,56,220,222 636238405Sjkim.Laesenclast2: 637238405Sjkim.byte 102,69,15,56,221,223 638238405Sjkim movups 16(%r15),%xmm14 639238405Sjkim addl %edx,%ecx 640238405Sjkim rorl $7,%ebp 641238405Sjkim addl %edi,%ecx 642238405Sjkim pslld $2,%xmm5 643238405Sjkim addl 24(%rsp),%ebx 644238405Sjkim xorl %eax,%esi 645238405Sjkim psrld $30,%xmm8 646238405Sjkim movl %ecx,%edi 647238405Sjkim roll $5,%ecx 648238405Sjkim xorl %ebp,%esi 649238405Sjkim addl %ecx,%ebx 650238405Sjkim rorl $7,%edx 651238405Sjkim addl %esi,%ebx 652238405Sjkim por %xmm8,%xmm5 653238405Sjkim addl 28(%rsp),%eax 654238405Sjkim xorl %ebp,%edi 655238405Sjkim movdqa %xmm5,%xmm9 656238405Sjkim movl %ebx,%esi 657238405Sjkim roll $5,%ebx 658238405Sjkim xorl %edx,%edi 659238405Sjkim addl %ebx,%eax 660238405Sjkim rorl $7,%ecx 661238405Sjkim addl %edi,%eax 662238405Sjkim movl %ecx,%edi 663238405Sjkim movups 32(%r12),%xmm12 664238405Sjkim xorps %xmm13,%xmm12 665238405Sjkim movups %xmm11,16(%r13,%r12,1) 666238405Sjkim xorps %xmm12,%xmm11 667238405Sjkim.byte 102,69,15,56,220,222 668238405Sjkim movups 32(%r15),%xmm15 669238405Sjkim pxor %xmm2,%xmm6 670238405Sjkim.byte 102,68,15,58,15,204,8 671238405Sjkim xorl %edx,%ecx 672238405Sjkim addl 32(%rsp),%ebp 673238405Sjkim andl %edx,%edi 674238405Sjkim pxor %xmm7,%xmm6 675238405Sjkim andl %ecx,%esi 676238405Sjkim rorl $7,%ebx 677238405Sjkim movdqa %xmm10,%xmm8 678238405Sjkim paddd %xmm5,%xmm10 679238405Sjkim addl %edi,%ebp 680238405Sjkim movl %eax,%edi 681238405Sjkim pxor %xmm9,%xmm6 682238405Sjkim roll $5,%eax 683238405Sjkim addl %esi,%ebp 684238405Sjkim xorl %edx,%ecx 685238405Sjkim addl %eax,%ebp 686238405Sjkim movdqa %xmm6,%xmm9 687238405Sjkim movdqa %xmm10,16(%rsp) 688238405Sjkim movl %ebx,%esi 689238405Sjkim xorl %ecx,%ebx 690238405Sjkim addl 36(%rsp),%edx 691238405Sjkim andl %ecx,%esi 692238405Sjkim pslld $2,%xmm6 693238405Sjkim andl %ebx,%edi 694238405Sjkim rorl $7,%eax 695238405Sjkim psrld $30,%xmm9 696238405Sjkim addl %esi,%edx 697238405Sjkim movl %ebp,%esi 698238405Sjkim roll $5,%ebp 699238405Sjkim.byte 102,69,15,56,220,223 700238405Sjkim movups 48(%r15),%xmm14 701238405Sjkim addl %edi,%edx 702238405Sjkim xorl %ecx,%ebx 703238405Sjkim addl %ebp,%edx 704238405Sjkim por %xmm9,%xmm6 705238405Sjkim movl %eax,%edi 706238405Sjkim xorl %ebx,%eax 707238405Sjkim movdqa %xmm6,%xmm10 708238405Sjkim addl 40(%rsp),%ecx 709238405Sjkim andl %ebx,%edi 710238405Sjkim andl %eax,%esi 711238405Sjkim rorl $7,%ebp 712238405Sjkim addl %edi,%ecx 713238405Sjkim movl %edx,%edi 714238405Sjkim roll $5,%edx 715238405Sjkim addl %esi,%ecx 716238405Sjkim xorl %ebx,%eax 717238405Sjkim addl %edx,%ecx 718238405Sjkim movl %ebp,%esi 719238405Sjkim xorl %eax,%ebp 720238405Sjkim addl 44(%rsp),%ebx 721238405Sjkim andl %eax,%esi 722238405Sjkim andl %ebp,%edi 723238405Sjkim.byte 102,69,15,56,220,222 724238405Sjkim movups 64(%r15),%xmm15 725238405Sjkim rorl $7,%edx 726238405Sjkim addl %esi,%ebx 727238405Sjkim movl %ecx,%esi 728238405Sjkim roll $5,%ecx 729238405Sjkim addl %edi,%ebx 730238405Sjkim xorl %eax,%ebp 731238405Sjkim addl %ecx,%ebx 732238405Sjkim movl %edx,%edi 733238405Sjkim pxor %xmm3,%xmm7 734238405Sjkim.byte 102,68,15,58,15,213,8 735238405Sjkim xorl %ebp,%edx 736238405Sjkim addl 48(%rsp),%eax 737238405Sjkim andl %ebp,%edi 738238405Sjkim pxor %xmm0,%xmm7 739238405Sjkim andl %edx,%esi 740238405Sjkim rorl $7,%ecx 741238405Sjkim movdqa 48(%r11),%xmm9 742238405Sjkim paddd %xmm6,%xmm8 743238405Sjkim addl %edi,%eax 744238405Sjkim movl %ebx,%edi 745238405Sjkim pxor %xmm10,%xmm7 746238405Sjkim roll $5,%ebx 747238405Sjkim addl %esi,%eax 748238405Sjkim xorl %ebp,%edx 749238405Sjkim addl %ebx,%eax 750238405Sjkim movdqa %xmm7,%xmm10 751238405Sjkim movdqa %xmm8,32(%rsp) 752238405Sjkim movl %ecx,%esi 753238405Sjkim.byte 102,69,15,56,220,223 754238405Sjkim movups 80(%r15),%xmm14 755238405Sjkim xorl %edx,%ecx 756238405Sjkim addl 52(%rsp),%ebp 757238405Sjkim andl %edx,%esi 758238405Sjkim pslld $2,%xmm7 759238405Sjkim andl %ecx,%edi 760238405Sjkim rorl $7,%ebx 761238405Sjkim psrld $30,%xmm10 762238405Sjkim addl %esi,%ebp 763238405Sjkim movl %eax,%esi 764238405Sjkim roll $5,%eax 765238405Sjkim addl %edi,%ebp 766238405Sjkim xorl %edx,%ecx 767238405Sjkim addl %eax,%ebp 768238405Sjkim por %xmm10,%xmm7 769238405Sjkim movl %ebx,%edi 770238405Sjkim xorl %ecx,%ebx 771238405Sjkim movdqa %xmm7,%xmm8 772238405Sjkim addl 56(%rsp),%edx 773238405Sjkim andl %ecx,%edi 774238405Sjkim andl %ebx,%esi 775238405Sjkim rorl $7,%eax 776238405Sjkim addl %edi,%edx 777238405Sjkim movl %ebp,%edi 778238405Sjkim roll $5,%ebp 779238405Sjkim.byte 102,69,15,56,220,222 780238405Sjkim movups 96(%r15),%xmm15 781238405Sjkim addl %esi,%edx 782238405Sjkim xorl %ecx,%ebx 783238405Sjkim addl %ebp,%edx 784238405Sjkim movl %eax,%esi 785238405Sjkim xorl %ebx,%eax 786238405Sjkim addl 60(%rsp),%ecx 787238405Sjkim andl %ebx,%esi 788238405Sjkim andl %eax,%edi 789238405Sjkim rorl $7,%ebp 790238405Sjkim addl %esi,%ecx 791238405Sjkim movl %edx,%esi 792238405Sjkim roll $5,%edx 793238405Sjkim addl %edi,%ecx 794238405Sjkim xorl %ebx,%eax 795238405Sjkim addl %edx,%ecx 796238405Sjkim movl %ebp,%edi 797238405Sjkim pxor %xmm4,%xmm0 798238405Sjkim.byte 102,68,15,58,15,198,8 799238405Sjkim xorl %eax,%ebp 800238405Sjkim addl 0(%rsp),%ebx 801238405Sjkim andl %eax,%edi 802238405Sjkim pxor %xmm1,%xmm0 803238405Sjkim andl %ebp,%esi 804238405Sjkim.byte 102,69,15,56,220,223 805238405Sjkim movups 112(%r15),%xmm14 806238405Sjkim rorl $7,%edx 807238405Sjkim movdqa %xmm9,%xmm10 808238405Sjkim paddd %xmm7,%xmm9 809238405Sjkim addl %edi,%ebx 810238405Sjkim movl %ecx,%edi 811238405Sjkim pxor %xmm8,%xmm0 812238405Sjkim roll $5,%ecx 813238405Sjkim addl %esi,%ebx 814238405Sjkim xorl %eax,%ebp 815238405Sjkim addl %ecx,%ebx 816238405Sjkim movdqa %xmm0,%xmm8 817238405Sjkim movdqa %xmm9,48(%rsp) 818238405Sjkim movl %edx,%esi 819238405Sjkim xorl %ebp,%edx 820238405Sjkim addl 4(%rsp),%eax 821238405Sjkim andl %ebp,%esi 822238405Sjkim pslld $2,%xmm0 823238405Sjkim andl %edx,%edi 824238405Sjkim rorl $7,%ecx 825238405Sjkim psrld $30,%xmm8 826238405Sjkim addl %esi,%eax 827238405Sjkim movl %ebx,%esi 828238405Sjkim roll $5,%ebx 829238405Sjkim addl %edi,%eax 830238405Sjkim xorl %ebp,%edx 831238405Sjkim addl %ebx,%eax 832238405Sjkim por %xmm8,%xmm0 833238405Sjkim movl %ecx,%edi 834238405Sjkim.byte 102,69,15,56,220,222 835238405Sjkim movups 128(%r15),%xmm15 836238405Sjkim xorl %edx,%ecx 837238405Sjkim movdqa %xmm0,%xmm9 838238405Sjkim addl 8(%rsp),%ebp 839238405Sjkim andl %edx,%edi 840238405Sjkim andl %ecx,%esi 841238405Sjkim rorl $7,%ebx 842238405Sjkim addl %edi,%ebp 843238405Sjkim movl %eax,%edi 844238405Sjkim roll $5,%eax 845238405Sjkim addl %esi,%ebp 846238405Sjkim xorl %edx,%ecx 847238405Sjkim addl %eax,%ebp 848238405Sjkim movl %ebx,%esi 849238405Sjkim xorl %ecx,%ebx 850238405Sjkim addl 12(%rsp),%edx 851238405Sjkim andl %ecx,%esi 852238405Sjkim andl %ebx,%edi 853238405Sjkim rorl $7,%eax 854238405Sjkim addl %esi,%edx 855238405Sjkim movl %ebp,%esi 856238405Sjkim roll $5,%ebp 857238405Sjkim.byte 102,69,15,56,220,223 858238405Sjkim movups 144(%r15),%xmm14 859238405Sjkim addl %edi,%edx 860238405Sjkim xorl %ecx,%ebx 861238405Sjkim addl %ebp,%edx 862238405Sjkim movl %eax,%edi 863238405Sjkim pxor %xmm5,%xmm1 864238405Sjkim.byte 102,68,15,58,15,207,8 865238405Sjkim xorl %ebx,%eax 866238405Sjkim addl 16(%rsp),%ecx 867238405Sjkim andl %ebx,%edi 868238405Sjkim pxor %xmm2,%xmm1 869238405Sjkim andl %eax,%esi 870238405Sjkim rorl $7,%ebp 871238405Sjkim movdqa %xmm10,%xmm8 872238405Sjkim paddd %xmm0,%xmm10 873238405Sjkim addl %edi,%ecx 874238405Sjkim movl %edx,%edi 875238405Sjkim pxor %xmm9,%xmm1 876238405Sjkim roll $5,%edx 877238405Sjkim addl %esi,%ecx 878238405Sjkim xorl %ebx,%eax 879238405Sjkim addl %edx,%ecx 880238405Sjkim movdqa %xmm1,%xmm9 881238405Sjkim movdqa %xmm10,0(%rsp) 882238405Sjkim movl %ebp,%esi 883238405Sjkim xorl %eax,%ebp 884238405Sjkim addl 20(%rsp),%ebx 885238405Sjkim andl %eax,%esi 886238405Sjkim pslld $2,%xmm1 887238405Sjkim andl %ebp,%edi 888238405Sjkim.byte 102,69,15,56,220,222 889238405Sjkim movups 160(%r15),%xmm15 890238405Sjkim rorl $7,%edx 891238405Sjkim psrld $30,%xmm9 892238405Sjkim addl %esi,%ebx 893238405Sjkim movl %ecx,%esi 894238405Sjkim roll $5,%ecx 895238405Sjkim addl %edi,%ebx 896238405Sjkim xorl %eax,%ebp 897238405Sjkim addl %ecx,%ebx 898238405Sjkim por %xmm9,%xmm1 899238405Sjkim movl %edx,%edi 900238405Sjkim xorl %ebp,%edx 901238405Sjkim movdqa %xmm1,%xmm10 902238405Sjkim addl 24(%rsp),%eax 903238405Sjkim andl %ebp,%edi 904238405Sjkim andl %edx,%esi 905238405Sjkim rorl $7,%ecx 906238405Sjkim addl %edi,%eax 907238405Sjkim movl %ebx,%edi 908238405Sjkim roll $5,%ebx 909238405Sjkim addl %esi,%eax 910238405Sjkim xorl %ebp,%edx 911238405Sjkim addl %ebx,%eax 912238405Sjkim movl %ecx,%esi 913238405Sjkim cmpl $11,%r8d 914238405Sjkim jb .Laesenclast3 915238405Sjkim movups 176(%r15),%xmm14 916238405Sjkim.byte 102,69,15,56,220,223 917238405Sjkim movups 192(%r15),%xmm15 918238405Sjkim.byte 102,69,15,56,220,222 919238405Sjkim je .Laesenclast3 920238405Sjkim movups 208(%r15),%xmm14 921238405Sjkim.byte 102,69,15,56,220,223 922238405Sjkim movups 224(%r15),%xmm15 923238405Sjkim.byte 102,69,15,56,220,222 924238405Sjkim.Laesenclast3: 925238405Sjkim.byte 102,69,15,56,221,223 926238405Sjkim movups 16(%r15),%xmm14 927238405Sjkim xorl %edx,%ecx 928238405Sjkim addl 28(%rsp),%ebp 929238405Sjkim andl %edx,%esi 930238405Sjkim andl %ecx,%edi 931238405Sjkim rorl $7,%ebx 932238405Sjkim addl %esi,%ebp 933238405Sjkim movl %eax,%esi 934238405Sjkim roll $5,%eax 935238405Sjkim addl %edi,%ebp 936238405Sjkim xorl %edx,%ecx 937238405Sjkim addl %eax,%ebp 938238405Sjkim movl %ebx,%edi 939238405Sjkim pxor %xmm6,%xmm2 940238405Sjkim.byte 102,68,15,58,15,208,8 941238405Sjkim xorl %ecx,%ebx 942238405Sjkim addl 32(%rsp),%edx 943238405Sjkim andl %ecx,%edi 944238405Sjkim pxor %xmm3,%xmm2 945238405Sjkim andl %ebx,%esi 946238405Sjkim rorl $7,%eax 947238405Sjkim movdqa %xmm8,%xmm9 948238405Sjkim paddd %xmm1,%xmm8 949238405Sjkim addl %edi,%edx 950238405Sjkim movl %ebp,%edi 951238405Sjkim pxor %xmm10,%xmm2 952238405Sjkim roll $5,%ebp 953238405Sjkim movups 48(%r12),%xmm12 954238405Sjkim xorps %xmm13,%xmm12 955238405Sjkim movups %xmm11,32(%r13,%r12,1) 956238405Sjkim xorps %xmm12,%xmm11 957238405Sjkim.byte 102,69,15,56,220,222 958238405Sjkim movups 32(%r15),%xmm15 959238405Sjkim addl %esi,%edx 960238405Sjkim xorl %ecx,%ebx 961238405Sjkim addl %ebp,%edx 962238405Sjkim movdqa %xmm2,%xmm10 963238405Sjkim movdqa %xmm8,16(%rsp) 964238405Sjkim movl %eax,%esi 965238405Sjkim xorl %ebx,%eax 966238405Sjkim addl 36(%rsp),%ecx 967238405Sjkim andl %ebx,%esi 968238405Sjkim pslld $2,%xmm2 969238405Sjkim andl %eax,%edi 970238405Sjkim rorl $7,%ebp 971238405Sjkim psrld $30,%xmm10 972238405Sjkim addl %esi,%ecx 973238405Sjkim movl %edx,%esi 974238405Sjkim roll $5,%edx 975238405Sjkim addl %edi,%ecx 976238405Sjkim xorl %ebx,%eax 977238405Sjkim addl %edx,%ecx 978238405Sjkim por %xmm10,%xmm2 979238405Sjkim movl %ebp,%edi 980238405Sjkim xorl %eax,%ebp 981238405Sjkim movdqa %xmm2,%xmm8 982238405Sjkim addl 40(%rsp),%ebx 983238405Sjkim andl %eax,%edi 984238405Sjkim andl %ebp,%esi 985238405Sjkim.byte 102,69,15,56,220,223 986238405Sjkim movups 48(%r15),%xmm14 987238405Sjkim rorl $7,%edx 988238405Sjkim addl %edi,%ebx 989238405Sjkim movl %ecx,%edi 990238405Sjkim roll $5,%ecx 991238405Sjkim addl %esi,%ebx 992238405Sjkim xorl %eax,%ebp 993238405Sjkim addl %ecx,%ebx 994238405Sjkim movl %edx,%esi 995238405Sjkim xorl %ebp,%edx 996238405Sjkim addl 44(%rsp),%eax 997238405Sjkim andl %ebp,%esi 998238405Sjkim andl %edx,%edi 999238405Sjkim rorl $7,%ecx 1000238405Sjkim addl %esi,%eax 1001238405Sjkim movl %ebx,%esi 1002238405Sjkim roll $5,%ebx 1003238405Sjkim addl %edi,%eax 1004238405Sjkim xorl %ebp,%edx 1005238405Sjkim addl %ebx,%eax 1006238405Sjkim addl 48(%rsp),%ebp 1007238405Sjkim.byte 102,69,15,56,220,222 1008238405Sjkim movups 64(%r15),%xmm15 1009238405Sjkim pxor %xmm7,%xmm3 1010238405Sjkim.byte 102,68,15,58,15,193,8 1011238405Sjkim xorl %edx,%esi 1012238405Sjkim movl %eax,%edi 1013238405Sjkim roll $5,%eax 1014238405Sjkim pxor %xmm4,%xmm3 1015238405Sjkim xorl %ecx,%esi 1016238405Sjkim addl %eax,%ebp 1017238405Sjkim movdqa %xmm9,%xmm10 1018238405Sjkim paddd %xmm2,%xmm9 1019238405Sjkim rorl $7,%ebx 1020238405Sjkim addl %esi,%ebp 1021238405Sjkim pxor %xmm8,%xmm3 1022238405Sjkim addl 52(%rsp),%edx 1023238405Sjkim xorl %ecx,%edi 1024238405Sjkim movl %ebp,%esi 1025238405Sjkim roll $5,%ebp 1026238405Sjkim movdqa %xmm3,%xmm8 1027238405Sjkim movdqa %xmm9,32(%rsp) 1028238405Sjkim xorl %ebx,%edi 1029238405Sjkim addl %ebp,%edx 1030238405Sjkim rorl $7,%eax 1031238405Sjkim addl %edi,%edx 1032238405Sjkim pslld $2,%xmm3 1033238405Sjkim addl 56(%rsp),%ecx 1034238405Sjkim xorl %ebx,%esi 1035238405Sjkim psrld $30,%xmm8 1036238405Sjkim movl %edx,%edi 1037238405Sjkim roll $5,%edx 1038238405Sjkim xorl %eax,%esi 1039238405Sjkim.byte 102,69,15,56,220,223 1040238405Sjkim movups 80(%r15),%xmm14 1041238405Sjkim addl %edx,%ecx 1042238405Sjkim rorl $7,%ebp 1043238405Sjkim addl %esi,%ecx 1044238405Sjkim por %xmm8,%xmm3 1045238405Sjkim addl 60(%rsp),%ebx 1046238405Sjkim xorl %eax,%edi 1047238405Sjkim movl %ecx,%esi 1048238405Sjkim roll $5,%ecx 1049238405Sjkim xorl %ebp,%edi 1050238405Sjkim addl %ecx,%ebx 1051238405Sjkim rorl $7,%edx 1052238405Sjkim addl %edi,%ebx 1053238405Sjkim addl 0(%rsp),%eax 1054238405Sjkim paddd %xmm3,%xmm10 1055238405Sjkim xorl %ebp,%esi 1056238405Sjkim movl %ebx,%edi 1057238405Sjkim roll $5,%ebx 1058238405Sjkim xorl %edx,%esi 1059238405Sjkim movdqa %xmm10,48(%rsp) 1060238405Sjkim addl %ebx,%eax 1061238405Sjkim rorl $7,%ecx 1062238405Sjkim addl %esi,%eax 1063238405Sjkim addl 4(%rsp),%ebp 1064238405Sjkim.byte 102,69,15,56,220,222 1065238405Sjkim movups 96(%r15),%xmm15 1066238405Sjkim xorl %edx,%edi 1067238405Sjkim movl %eax,%esi 1068238405Sjkim roll $5,%eax 1069238405Sjkim xorl %ecx,%edi 1070238405Sjkim addl %eax,%ebp 1071238405Sjkim rorl $7,%ebx 1072238405Sjkim addl %edi,%ebp 1073238405Sjkim addl 8(%rsp),%edx 1074238405Sjkim xorl %ecx,%esi 1075238405Sjkim movl %ebp,%edi 1076238405Sjkim roll $5,%ebp 1077238405Sjkim xorl %ebx,%esi 1078238405Sjkim addl %ebp,%edx 1079238405Sjkim rorl $7,%eax 1080238405Sjkim addl %esi,%edx 1081238405Sjkim addl 12(%rsp),%ecx 1082238405Sjkim xorl %ebx,%edi 1083238405Sjkim movl %edx,%esi 1084238405Sjkim roll $5,%edx 1085238405Sjkim xorl %eax,%edi 1086238405Sjkim.byte 102,69,15,56,220,223 1087238405Sjkim movups 112(%r15),%xmm14 1088238405Sjkim addl %edx,%ecx 1089238405Sjkim rorl $7,%ebp 1090238405Sjkim addl %edi,%ecx 1091238405Sjkim cmpq %r14,%r10 1092238405Sjkim je .Ldone_ssse3 1093238405Sjkim movdqa 64(%r11),%xmm6 1094238405Sjkim movdqa 0(%r11),%xmm9 1095238405Sjkim movdqu 0(%r10),%xmm0 1096238405Sjkim movdqu 16(%r10),%xmm1 1097238405Sjkim movdqu 32(%r10),%xmm2 1098238405Sjkim movdqu 48(%r10),%xmm3 1099238405Sjkim.byte 102,15,56,0,198 1100238405Sjkim addq $64,%r10 1101238405Sjkim addl 16(%rsp),%ebx 1102238405Sjkim xorl %eax,%esi 1103238405Sjkim.byte 102,15,56,0,206 1104238405Sjkim movl %ecx,%edi 1105238405Sjkim roll $5,%ecx 1106238405Sjkim paddd %xmm9,%xmm0 1107238405Sjkim xorl %ebp,%esi 1108238405Sjkim addl %ecx,%ebx 1109238405Sjkim rorl $7,%edx 1110238405Sjkim addl %esi,%ebx 1111238405Sjkim movdqa %xmm0,0(%rsp) 1112238405Sjkim addl 20(%rsp),%eax 1113238405Sjkim xorl %ebp,%edi 1114238405Sjkim psubd %xmm9,%xmm0 1115238405Sjkim movl %ebx,%esi 1116238405Sjkim roll $5,%ebx 1117238405Sjkim xorl %edx,%edi 1118238405Sjkim addl %ebx,%eax 1119238405Sjkim rorl $7,%ecx 1120238405Sjkim addl %edi,%eax 1121238405Sjkim addl 24(%rsp),%ebp 1122238405Sjkim.byte 102,69,15,56,220,222 1123238405Sjkim movups 128(%r15),%xmm15 1124238405Sjkim xorl %edx,%esi 1125238405Sjkim movl %eax,%edi 1126238405Sjkim roll $5,%eax 1127238405Sjkim xorl %ecx,%esi 1128238405Sjkim addl %eax,%ebp 1129238405Sjkim rorl $7,%ebx 1130238405Sjkim addl %esi,%ebp 1131238405Sjkim addl 28(%rsp),%edx 1132238405Sjkim xorl %ecx,%edi 1133238405Sjkim movl %ebp,%esi 1134238405Sjkim roll $5,%ebp 1135238405Sjkim xorl %ebx,%edi 1136238405Sjkim addl %ebp,%edx 1137238405Sjkim rorl $7,%eax 1138238405Sjkim addl %edi,%edx 1139238405Sjkim addl 32(%rsp),%ecx 1140238405Sjkim xorl %ebx,%esi 1141238405Sjkim.byte 102,15,56,0,214 1142238405Sjkim movl %edx,%edi 1143238405Sjkim roll $5,%edx 1144238405Sjkim paddd %xmm9,%xmm1 1145238405Sjkim xorl %eax,%esi 1146238405Sjkim.byte 102,69,15,56,220,223 1147238405Sjkim movups 144(%r15),%xmm14 1148238405Sjkim addl %edx,%ecx 1149238405Sjkim rorl $7,%ebp 1150238405Sjkim addl %esi,%ecx 1151238405Sjkim movdqa %xmm1,16(%rsp) 1152238405Sjkim addl 36(%rsp),%ebx 1153238405Sjkim xorl %eax,%edi 1154238405Sjkim psubd %xmm9,%xmm1 1155238405Sjkim movl %ecx,%esi 1156238405Sjkim roll $5,%ecx 1157238405Sjkim xorl %ebp,%edi 1158238405Sjkim addl %ecx,%ebx 1159238405Sjkim rorl $7,%edx 1160238405Sjkim addl %edi,%ebx 1161238405Sjkim addl 40(%rsp),%eax 1162238405Sjkim xorl %ebp,%esi 1163238405Sjkim movl %ebx,%edi 1164238405Sjkim roll $5,%ebx 1165238405Sjkim xorl %edx,%esi 1166238405Sjkim addl %ebx,%eax 1167238405Sjkim rorl $7,%ecx 1168238405Sjkim addl %esi,%eax 1169238405Sjkim addl 44(%rsp),%ebp 1170238405Sjkim.byte 102,69,15,56,220,222 1171238405Sjkim movups 160(%r15),%xmm15 1172238405Sjkim xorl %edx,%edi 1173238405Sjkim movl %eax,%esi 1174238405Sjkim roll $5,%eax 1175238405Sjkim xorl %ecx,%edi 1176238405Sjkim addl %eax,%ebp 1177238405Sjkim rorl $7,%ebx 1178238405Sjkim addl %edi,%ebp 1179238405Sjkim addl 48(%rsp),%edx 1180238405Sjkim xorl %ecx,%esi 1181238405Sjkim.byte 102,15,56,0,222 1182238405Sjkim movl %ebp,%edi 1183238405Sjkim roll $5,%ebp 1184238405Sjkim paddd %xmm9,%xmm2 1185238405Sjkim xorl %ebx,%esi 1186238405Sjkim addl %ebp,%edx 1187238405Sjkim rorl $7,%eax 1188238405Sjkim addl %esi,%edx 1189238405Sjkim movdqa %xmm2,32(%rsp) 1190238405Sjkim addl 52(%rsp),%ecx 1191238405Sjkim xorl %ebx,%edi 1192238405Sjkim psubd %xmm9,%xmm2 1193238405Sjkim movl %edx,%esi 1194238405Sjkim roll $5,%edx 1195238405Sjkim xorl %eax,%edi 1196238405Sjkim cmpl $11,%r8d 1197238405Sjkim jb .Laesenclast4 1198238405Sjkim movups 176(%r15),%xmm14 1199238405Sjkim.byte 102,69,15,56,220,223 1200238405Sjkim movups 192(%r15),%xmm15 1201238405Sjkim.byte 102,69,15,56,220,222 1202238405Sjkim je .Laesenclast4 1203238405Sjkim movups 208(%r15),%xmm14 1204238405Sjkim.byte 102,69,15,56,220,223 1205238405Sjkim movups 224(%r15),%xmm15 1206238405Sjkim.byte 102,69,15,56,220,222 1207238405Sjkim.Laesenclast4: 1208238405Sjkim.byte 102,69,15,56,221,223 1209238405Sjkim movups 16(%r15),%xmm14 1210238405Sjkim addl %edx,%ecx 1211238405Sjkim rorl $7,%ebp 1212238405Sjkim addl %edi,%ecx 1213238405Sjkim addl 56(%rsp),%ebx 1214238405Sjkim xorl %eax,%esi 1215238405Sjkim movl %ecx,%edi 1216238405Sjkim roll $5,%ecx 1217238405Sjkim xorl %ebp,%esi 1218238405Sjkim addl %ecx,%ebx 1219238405Sjkim rorl $7,%edx 1220238405Sjkim addl %esi,%ebx 1221238405Sjkim addl 60(%rsp),%eax 1222238405Sjkim xorl %ebp,%edi 1223238405Sjkim movl %ebx,%esi 1224238405Sjkim roll $5,%ebx 1225238405Sjkim xorl %edx,%edi 1226238405Sjkim addl %ebx,%eax 1227238405Sjkim rorl $7,%ecx 1228238405Sjkim addl %edi,%eax 1229238405Sjkim movups %xmm11,48(%r13,%r12,1) 1230238405Sjkim leaq 64(%r12),%r12 1231238405Sjkim 1232238405Sjkim addl 0(%r9),%eax 1233238405Sjkim addl 4(%r9),%esi 1234238405Sjkim addl 8(%r9),%ecx 1235238405Sjkim addl 12(%r9),%edx 1236238405Sjkim movl %eax,0(%r9) 1237238405Sjkim addl 16(%r9),%ebp 1238238405Sjkim movl %esi,4(%r9) 1239238405Sjkim movl %esi,%ebx 1240238405Sjkim movl %ecx,8(%r9) 1241238405Sjkim movl %edx,12(%r9) 1242238405Sjkim movl %ebp,16(%r9) 1243238405Sjkim jmp .Loop_ssse3 1244238405Sjkim 1245238405Sjkim.align 16 1246238405Sjkim.Ldone_ssse3: 1247238405Sjkim addl 16(%rsp),%ebx 1248238405Sjkim xorl %eax,%esi 1249238405Sjkim movl %ecx,%edi 1250238405Sjkim roll $5,%ecx 1251238405Sjkim xorl %ebp,%esi 1252238405Sjkim addl %ecx,%ebx 1253238405Sjkim rorl $7,%edx 1254238405Sjkim addl %esi,%ebx 1255238405Sjkim addl 20(%rsp),%eax 1256238405Sjkim xorl %ebp,%edi 1257238405Sjkim movl %ebx,%esi 1258238405Sjkim roll $5,%ebx 1259238405Sjkim xorl %edx,%edi 1260238405Sjkim addl %ebx,%eax 1261238405Sjkim rorl $7,%ecx 1262238405Sjkim addl %edi,%eax 1263238405Sjkim addl 24(%rsp),%ebp 1264238405Sjkim.byte 102,69,15,56,220,222 1265238405Sjkim movups 128(%r15),%xmm15 1266238405Sjkim xorl %edx,%esi 1267238405Sjkim movl %eax,%edi 1268238405Sjkim roll $5,%eax 1269238405Sjkim xorl %ecx,%esi 1270238405Sjkim addl %eax,%ebp 1271238405Sjkim rorl $7,%ebx 1272238405Sjkim addl %esi,%ebp 1273238405Sjkim addl 28(%rsp),%edx 1274238405Sjkim xorl %ecx,%edi 1275238405Sjkim movl %ebp,%esi 1276238405Sjkim roll $5,%ebp 1277238405Sjkim xorl %ebx,%edi 1278238405Sjkim addl %ebp,%edx 1279238405Sjkim rorl $7,%eax 1280238405Sjkim addl %edi,%edx 1281238405Sjkim addl 32(%rsp),%ecx 1282238405Sjkim xorl %ebx,%esi 1283238405Sjkim movl %edx,%edi 1284238405Sjkim roll $5,%edx 1285238405Sjkim xorl %eax,%esi 1286238405Sjkim.byte 102,69,15,56,220,223 1287238405Sjkim movups 144(%r15),%xmm14 1288238405Sjkim addl %edx,%ecx 1289238405Sjkim rorl $7,%ebp 1290238405Sjkim addl %esi,%ecx 1291238405Sjkim addl 36(%rsp),%ebx 1292238405Sjkim xorl %eax,%edi 1293238405Sjkim movl %ecx,%esi 1294238405Sjkim roll $5,%ecx 1295238405Sjkim xorl %ebp,%edi 1296238405Sjkim addl %ecx,%ebx 1297238405Sjkim rorl $7,%edx 1298238405Sjkim addl %edi,%ebx 1299238405Sjkim addl 40(%rsp),%eax 1300238405Sjkim xorl %ebp,%esi 1301238405Sjkim movl %ebx,%edi 1302238405Sjkim roll $5,%ebx 1303238405Sjkim xorl %edx,%esi 1304238405Sjkim addl %ebx,%eax 1305238405Sjkim rorl $7,%ecx 1306238405Sjkim addl %esi,%eax 1307238405Sjkim addl 44(%rsp),%ebp 1308238405Sjkim.byte 102,69,15,56,220,222 1309238405Sjkim movups 160(%r15),%xmm15 1310238405Sjkim xorl %edx,%edi 1311238405Sjkim movl %eax,%esi 1312238405Sjkim roll $5,%eax 1313238405Sjkim xorl %ecx,%edi 1314238405Sjkim addl %eax,%ebp 1315238405Sjkim rorl $7,%ebx 1316238405Sjkim addl %edi,%ebp 1317238405Sjkim addl 48(%rsp),%edx 1318238405Sjkim xorl %ecx,%esi 1319238405Sjkim movl %ebp,%edi 1320238405Sjkim roll $5,%ebp 1321238405Sjkim xorl %ebx,%esi 1322238405Sjkim addl %ebp,%edx 1323238405Sjkim rorl $7,%eax 1324238405Sjkim addl %esi,%edx 1325238405Sjkim addl 52(%rsp),%ecx 1326238405Sjkim xorl %ebx,%edi 1327238405Sjkim movl %edx,%esi 1328238405Sjkim roll $5,%edx 1329238405Sjkim xorl %eax,%edi 1330238405Sjkim cmpl $11,%r8d 1331238405Sjkim jb .Laesenclast5 1332238405Sjkim movups 176(%r15),%xmm14 1333238405Sjkim.byte 102,69,15,56,220,223 1334238405Sjkim movups 192(%r15),%xmm15 1335238405Sjkim.byte 102,69,15,56,220,222 1336238405Sjkim je .Laesenclast5 1337238405Sjkim movups 208(%r15),%xmm14 1338238405Sjkim.byte 102,69,15,56,220,223 1339238405Sjkim movups 224(%r15),%xmm15 1340238405Sjkim.byte 102,69,15,56,220,222 1341238405Sjkim.Laesenclast5: 1342238405Sjkim.byte 102,69,15,56,221,223 1343238405Sjkim movups 16(%r15),%xmm14 1344238405Sjkim addl %edx,%ecx 1345238405Sjkim rorl $7,%ebp 1346238405Sjkim addl %edi,%ecx 1347238405Sjkim addl 56(%rsp),%ebx 1348238405Sjkim xorl %eax,%esi 1349238405Sjkim movl %ecx,%edi 1350238405Sjkim roll $5,%ecx 1351238405Sjkim xorl %ebp,%esi 1352238405Sjkim addl %ecx,%ebx 1353238405Sjkim rorl $7,%edx 1354238405Sjkim addl %esi,%ebx 1355238405Sjkim addl 60(%rsp),%eax 1356238405Sjkim xorl %ebp,%edi 1357238405Sjkim movl %ebx,%esi 1358238405Sjkim roll $5,%ebx 1359238405Sjkim xorl %edx,%edi 1360238405Sjkim addl %ebx,%eax 1361238405Sjkim rorl $7,%ecx 1362238405Sjkim addl %edi,%eax 1363238405Sjkim movups %xmm11,48(%r13,%r12,1) 1364238405Sjkim movq 88(%rsp),%r8 1365238405Sjkim 1366238405Sjkim addl 0(%r9),%eax 1367238405Sjkim addl 4(%r9),%esi 1368238405Sjkim addl 8(%r9),%ecx 1369238405Sjkim movl %eax,0(%r9) 1370238405Sjkim addl 12(%r9),%edx 1371238405Sjkim movl %esi,4(%r9) 1372238405Sjkim addl 16(%r9),%ebp 1373238405Sjkim movl %ecx,8(%r9) 1374238405Sjkim movl %edx,12(%r9) 1375238405Sjkim movl %ebp,16(%r9) 1376238405Sjkim movups %xmm11,(%r8) 1377238405Sjkim leaq 104(%rsp),%rsi 1378238405Sjkim movq 0(%rsi),%r15 1379238405Sjkim movq 8(%rsi),%r14 1380238405Sjkim movq 16(%rsi),%r13 1381238405Sjkim movq 24(%rsi),%r12 1382238405Sjkim movq 32(%rsi),%rbp 1383238405Sjkim movq 40(%rsi),%rbx 1384238405Sjkim leaq 48(%rsi),%rsp 1385238405Sjkim.Lepilogue_ssse3: 1386238405Sjkim .byte 0xf3,0xc3 1387238405Sjkim.size aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3 1388238405Sjkim.align 64 1389238405SjkimK_XX_XX: 1390238405Sjkim.long 0x5a827999,0x5a827999,0x5a827999,0x5a827999 1391238405Sjkim.long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1 1392238405Sjkim.long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc 1393238405Sjkim.long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6 1394238405Sjkim.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f 1395238405Sjkim 1396238405Sjkim.byte 65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52,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 1397238405Sjkim.align 64 1398