rc4-md5-x86_64.S revision 238405
1238405Sjkim # $FreeBSD: head/secure/lib/libcrypto/amd64/rc4-md5-x86_64.S 238405 2012-07-12 19:30:53Z jkim $ 2238405Sjkim.text 3238405Sjkim.align 16 4238405Sjkim 5238405Sjkim.globl rc4_md5_enc 6238405Sjkim.type rc4_md5_enc,@function 7238405Sjkimrc4_md5_enc: 8238405Sjkim cmpq $0,%r9 9238405Sjkim je .Labort 10238405Sjkim pushq %rbx 11238405Sjkim pushq %rbp 12238405Sjkim pushq %r12 13238405Sjkim pushq %r13 14238405Sjkim pushq %r14 15238405Sjkim pushq %r15 16238405Sjkim subq $40,%rsp 17238405Sjkim.Lbody: 18238405Sjkim movq %rcx,%r11 19238405Sjkim movq %r9,%r12 20238405Sjkim movq %rsi,%r13 21238405Sjkim movq %rdx,%r14 22238405Sjkim movq %r8,%r15 23238405Sjkim xorq %rbp,%rbp 24238405Sjkim xorq %rcx,%rcx 25238405Sjkim 26238405Sjkim leaq 8(%rdi),%rdi 27238405Sjkim movb -8(%rdi),%bpl 28238405Sjkim movb -4(%rdi),%cl 29238405Sjkim 30238405Sjkim incb %bpl 31238405Sjkim subq %r13,%r14 32238405Sjkim movl (%rdi,%rbp,4),%eax 33238405Sjkim addb %al,%cl 34238405Sjkim leaq (%rdi,%rbp,4),%rsi 35238405Sjkim shlq $6,%r12 36238405Sjkim addq %r15,%r12 37238405Sjkim movq %r12,16(%rsp) 38238405Sjkim 39238405Sjkim movq %r11,24(%rsp) 40238405Sjkim movl 0(%r11),%r8d 41238405Sjkim movl 4(%r11),%r9d 42238405Sjkim movl 8(%r11),%r10d 43238405Sjkim movl 12(%r11),%r11d 44238405Sjkim jmp .Loop 45238405Sjkim 46238405Sjkim.align 16 47238405Sjkim.Loop: 48238405Sjkim movl %r8d,0(%rsp) 49238405Sjkim movl %r9d,4(%rsp) 50238405Sjkim movl %r10d,8(%rsp) 51238405Sjkim movl %r11d,%r12d 52238405Sjkim movl %r11d,12(%rsp) 53238405Sjkim pxor %xmm0,%xmm0 54238405Sjkim movl (%rdi,%rcx,4),%edx 55238405Sjkim xorl %r10d,%r12d 56238405Sjkim movl %eax,(%rdi,%rcx,4) 57238405Sjkim andl %r9d,%r12d 58238405Sjkim addl 0(%r15),%r8d 59238405Sjkim addb %dl,%al 60238405Sjkim movl 4(%rsi),%ebx 61238405Sjkim addl $3614090360,%r8d 62238405Sjkim xorl %r11d,%r12d 63238405Sjkim movzbl %al,%eax 64238405Sjkim movl %edx,0(%rsi) 65238405Sjkim addl %r12d,%r8d 66238405Sjkim addb %bl,%cl 67238405Sjkim roll $7,%r8d 68238405Sjkim movl %r10d,%r12d 69238405Sjkim movd (%rdi,%rax,4),%xmm0 70238405Sjkim 71238405Sjkim addl %r9d,%r8d 72238405Sjkim pxor %xmm1,%xmm1 73238405Sjkim movl (%rdi,%rcx,4),%edx 74238405Sjkim xorl %r9d,%r12d 75238405Sjkim movl %ebx,(%rdi,%rcx,4) 76238405Sjkim andl %r8d,%r12d 77238405Sjkim addl 4(%r15),%r11d 78238405Sjkim addb %dl,%bl 79238405Sjkim movl 8(%rsi),%eax 80238405Sjkim addl $3905402710,%r11d 81238405Sjkim xorl %r10d,%r12d 82238405Sjkim movzbl %bl,%ebx 83238405Sjkim movl %edx,4(%rsi) 84238405Sjkim addl %r12d,%r11d 85238405Sjkim addb %al,%cl 86238405Sjkim roll $12,%r11d 87238405Sjkim movl %r9d,%r12d 88238405Sjkim movd (%rdi,%rbx,4),%xmm1 89238405Sjkim 90238405Sjkim addl %r8d,%r11d 91238405Sjkim movl (%rdi,%rcx,4),%edx 92238405Sjkim xorl %r8d,%r12d 93238405Sjkim movl %eax,(%rdi,%rcx,4) 94238405Sjkim andl %r11d,%r12d 95238405Sjkim addl 8(%r15),%r10d 96238405Sjkim addb %dl,%al 97238405Sjkim movl 12(%rsi),%ebx 98238405Sjkim addl $606105819,%r10d 99238405Sjkim xorl %r9d,%r12d 100238405Sjkim movzbl %al,%eax 101238405Sjkim movl %edx,8(%rsi) 102238405Sjkim addl %r12d,%r10d 103238405Sjkim addb %bl,%cl 104238405Sjkim roll $17,%r10d 105238405Sjkim movl %r8d,%r12d 106238405Sjkim pinsrw $1,(%rdi,%rax,4),%xmm0 107238405Sjkim 108238405Sjkim addl %r11d,%r10d 109238405Sjkim movl (%rdi,%rcx,4),%edx 110238405Sjkim xorl %r11d,%r12d 111238405Sjkim movl %ebx,(%rdi,%rcx,4) 112238405Sjkim andl %r10d,%r12d 113238405Sjkim addl 12(%r15),%r9d 114238405Sjkim addb %dl,%bl 115238405Sjkim movl 16(%rsi),%eax 116238405Sjkim addl $3250441966,%r9d 117238405Sjkim xorl %r8d,%r12d 118238405Sjkim movzbl %bl,%ebx 119238405Sjkim movl %edx,12(%rsi) 120238405Sjkim addl %r12d,%r9d 121238405Sjkim addb %al,%cl 122238405Sjkim roll $22,%r9d 123238405Sjkim movl %r11d,%r12d 124238405Sjkim pinsrw $1,(%rdi,%rbx,4),%xmm1 125238405Sjkim 126238405Sjkim addl %r10d,%r9d 127238405Sjkim movl (%rdi,%rcx,4),%edx 128238405Sjkim xorl %r10d,%r12d 129238405Sjkim movl %eax,(%rdi,%rcx,4) 130238405Sjkim andl %r9d,%r12d 131238405Sjkim addl 16(%r15),%r8d 132238405Sjkim addb %dl,%al 133238405Sjkim movl 20(%rsi),%ebx 134238405Sjkim addl $4118548399,%r8d 135238405Sjkim xorl %r11d,%r12d 136238405Sjkim movzbl %al,%eax 137238405Sjkim movl %edx,16(%rsi) 138238405Sjkim addl %r12d,%r8d 139238405Sjkim addb %bl,%cl 140238405Sjkim roll $7,%r8d 141238405Sjkim movl %r10d,%r12d 142238405Sjkim pinsrw $2,(%rdi,%rax,4),%xmm0 143238405Sjkim 144238405Sjkim addl %r9d,%r8d 145238405Sjkim movl (%rdi,%rcx,4),%edx 146238405Sjkim xorl %r9d,%r12d 147238405Sjkim movl %ebx,(%rdi,%rcx,4) 148238405Sjkim andl %r8d,%r12d 149238405Sjkim addl 20(%r15),%r11d 150238405Sjkim addb %dl,%bl 151238405Sjkim movl 24(%rsi),%eax 152238405Sjkim addl $1200080426,%r11d 153238405Sjkim xorl %r10d,%r12d 154238405Sjkim movzbl %bl,%ebx 155238405Sjkim movl %edx,20(%rsi) 156238405Sjkim addl %r12d,%r11d 157238405Sjkim addb %al,%cl 158238405Sjkim roll $12,%r11d 159238405Sjkim movl %r9d,%r12d 160238405Sjkim pinsrw $2,(%rdi,%rbx,4),%xmm1 161238405Sjkim 162238405Sjkim addl %r8d,%r11d 163238405Sjkim movl (%rdi,%rcx,4),%edx 164238405Sjkim xorl %r8d,%r12d 165238405Sjkim movl %eax,(%rdi,%rcx,4) 166238405Sjkim andl %r11d,%r12d 167238405Sjkim addl 24(%r15),%r10d 168238405Sjkim addb %dl,%al 169238405Sjkim movl 28(%rsi),%ebx 170238405Sjkim addl $2821735955,%r10d 171238405Sjkim xorl %r9d,%r12d 172238405Sjkim movzbl %al,%eax 173238405Sjkim movl %edx,24(%rsi) 174238405Sjkim addl %r12d,%r10d 175238405Sjkim addb %bl,%cl 176238405Sjkim roll $17,%r10d 177238405Sjkim movl %r8d,%r12d 178238405Sjkim pinsrw $3,(%rdi,%rax,4),%xmm0 179238405Sjkim 180238405Sjkim addl %r11d,%r10d 181238405Sjkim movl (%rdi,%rcx,4),%edx 182238405Sjkim xorl %r11d,%r12d 183238405Sjkim movl %ebx,(%rdi,%rcx,4) 184238405Sjkim andl %r10d,%r12d 185238405Sjkim addl 28(%r15),%r9d 186238405Sjkim addb %dl,%bl 187238405Sjkim movl 32(%rsi),%eax 188238405Sjkim addl $4249261313,%r9d 189238405Sjkim xorl %r8d,%r12d 190238405Sjkim movzbl %bl,%ebx 191238405Sjkim movl %edx,28(%rsi) 192238405Sjkim addl %r12d,%r9d 193238405Sjkim addb %al,%cl 194238405Sjkim roll $22,%r9d 195238405Sjkim movl %r11d,%r12d 196238405Sjkim pinsrw $3,(%rdi,%rbx,4),%xmm1 197238405Sjkim 198238405Sjkim addl %r10d,%r9d 199238405Sjkim movl (%rdi,%rcx,4),%edx 200238405Sjkim xorl %r10d,%r12d 201238405Sjkim movl %eax,(%rdi,%rcx,4) 202238405Sjkim andl %r9d,%r12d 203238405Sjkim addl 32(%r15),%r8d 204238405Sjkim addb %dl,%al 205238405Sjkim movl 36(%rsi),%ebx 206238405Sjkim addl $1770035416,%r8d 207238405Sjkim xorl %r11d,%r12d 208238405Sjkim movzbl %al,%eax 209238405Sjkim movl %edx,32(%rsi) 210238405Sjkim addl %r12d,%r8d 211238405Sjkim addb %bl,%cl 212238405Sjkim roll $7,%r8d 213238405Sjkim movl %r10d,%r12d 214238405Sjkim pinsrw $4,(%rdi,%rax,4),%xmm0 215238405Sjkim 216238405Sjkim addl %r9d,%r8d 217238405Sjkim movl (%rdi,%rcx,4),%edx 218238405Sjkim xorl %r9d,%r12d 219238405Sjkim movl %ebx,(%rdi,%rcx,4) 220238405Sjkim andl %r8d,%r12d 221238405Sjkim addl 36(%r15),%r11d 222238405Sjkim addb %dl,%bl 223238405Sjkim movl 40(%rsi),%eax 224238405Sjkim addl $2336552879,%r11d 225238405Sjkim xorl %r10d,%r12d 226238405Sjkim movzbl %bl,%ebx 227238405Sjkim movl %edx,36(%rsi) 228238405Sjkim addl %r12d,%r11d 229238405Sjkim addb %al,%cl 230238405Sjkim roll $12,%r11d 231238405Sjkim movl %r9d,%r12d 232238405Sjkim pinsrw $4,(%rdi,%rbx,4),%xmm1 233238405Sjkim 234238405Sjkim addl %r8d,%r11d 235238405Sjkim movl (%rdi,%rcx,4),%edx 236238405Sjkim xorl %r8d,%r12d 237238405Sjkim movl %eax,(%rdi,%rcx,4) 238238405Sjkim andl %r11d,%r12d 239238405Sjkim addl 40(%r15),%r10d 240238405Sjkim addb %dl,%al 241238405Sjkim movl 44(%rsi),%ebx 242238405Sjkim addl $4294925233,%r10d 243238405Sjkim xorl %r9d,%r12d 244238405Sjkim movzbl %al,%eax 245238405Sjkim movl %edx,40(%rsi) 246238405Sjkim addl %r12d,%r10d 247238405Sjkim addb %bl,%cl 248238405Sjkim roll $17,%r10d 249238405Sjkim movl %r8d,%r12d 250238405Sjkim pinsrw $5,(%rdi,%rax,4),%xmm0 251238405Sjkim 252238405Sjkim addl %r11d,%r10d 253238405Sjkim movl (%rdi,%rcx,4),%edx 254238405Sjkim xorl %r11d,%r12d 255238405Sjkim movl %ebx,(%rdi,%rcx,4) 256238405Sjkim andl %r10d,%r12d 257238405Sjkim addl 44(%r15),%r9d 258238405Sjkim addb %dl,%bl 259238405Sjkim movl 48(%rsi),%eax 260238405Sjkim addl $2304563134,%r9d 261238405Sjkim xorl %r8d,%r12d 262238405Sjkim movzbl %bl,%ebx 263238405Sjkim movl %edx,44(%rsi) 264238405Sjkim addl %r12d,%r9d 265238405Sjkim addb %al,%cl 266238405Sjkim roll $22,%r9d 267238405Sjkim movl %r11d,%r12d 268238405Sjkim pinsrw $5,(%rdi,%rbx,4),%xmm1 269238405Sjkim 270238405Sjkim addl %r10d,%r9d 271238405Sjkim movl (%rdi,%rcx,4),%edx 272238405Sjkim xorl %r10d,%r12d 273238405Sjkim movl %eax,(%rdi,%rcx,4) 274238405Sjkim andl %r9d,%r12d 275238405Sjkim addl 48(%r15),%r8d 276238405Sjkim addb %dl,%al 277238405Sjkim movl 52(%rsi),%ebx 278238405Sjkim addl $1804603682,%r8d 279238405Sjkim xorl %r11d,%r12d 280238405Sjkim movzbl %al,%eax 281238405Sjkim movl %edx,48(%rsi) 282238405Sjkim addl %r12d,%r8d 283238405Sjkim addb %bl,%cl 284238405Sjkim roll $7,%r8d 285238405Sjkim movl %r10d,%r12d 286238405Sjkim pinsrw $6,(%rdi,%rax,4),%xmm0 287238405Sjkim 288238405Sjkim addl %r9d,%r8d 289238405Sjkim movl (%rdi,%rcx,4),%edx 290238405Sjkim xorl %r9d,%r12d 291238405Sjkim movl %ebx,(%rdi,%rcx,4) 292238405Sjkim andl %r8d,%r12d 293238405Sjkim addl 52(%r15),%r11d 294238405Sjkim addb %dl,%bl 295238405Sjkim movl 56(%rsi),%eax 296238405Sjkim addl $4254626195,%r11d 297238405Sjkim xorl %r10d,%r12d 298238405Sjkim movzbl %bl,%ebx 299238405Sjkim movl %edx,52(%rsi) 300238405Sjkim addl %r12d,%r11d 301238405Sjkim addb %al,%cl 302238405Sjkim roll $12,%r11d 303238405Sjkim movl %r9d,%r12d 304238405Sjkim pinsrw $6,(%rdi,%rbx,4),%xmm1 305238405Sjkim 306238405Sjkim addl %r8d,%r11d 307238405Sjkim movl (%rdi,%rcx,4),%edx 308238405Sjkim xorl %r8d,%r12d 309238405Sjkim movl %eax,(%rdi,%rcx,4) 310238405Sjkim andl %r11d,%r12d 311238405Sjkim addl 56(%r15),%r10d 312238405Sjkim addb %dl,%al 313238405Sjkim movl 60(%rsi),%ebx 314238405Sjkim addl $2792965006,%r10d 315238405Sjkim xorl %r9d,%r12d 316238405Sjkim movzbl %al,%eax 317238405Sjkim movl %edx,56(%rsi) 318238405Sjkim addl %r12d,%r10d 319238405Sjkim addb %bl,%cl 320238405Sjkim roll $17,%r10d 321238405Sjkim movl %r8d,%r12d 322238405Sjkim pinsrw $7,(%rdi,%rax,4),%xmm0 323238405Sjkim 324238405Sjkim addl %r11d,%r10d 325238405Sjkim movdqu (%r13),%xmm2 326238405Sjkim movl (%rdi,%rcx,4),%edx 327238405Sjkim xorl %r11d,%r12d 328238405Sjkim movl %ebx,(%rdi,%rcx,4) 329238405Sjkim andl %r10d,%r12d 330238405Sjkim addl 60(%r15),%r9d 331238405Sjkim addb %dl,%bl 332238405Sjkim movl 64(%rsi),%eax 333238405Sjkim addl $1236535329,%r9d 334238405Sjkim xorl %r8d,%r12d 335238405Sjkim movzbl %bl,%ebx 336238405Sjkim movl %edx,60(%rsi) 337238405Sjkim addl %r12d,%r9d 338238405Sjkim addb %al,%cl 339238405Sjkim roll $22,%r9d 340238405Sjkim movl %r10d,%r12d 341238405Sjkim pinsrw $7,(%rdi,%rbx,4),%xmm1 342238405Sjkim 343238405Sjkim addl %r10d,%r9d 344238405Sjkim psllq $8,%xmm1 345238405Sjkim pxor %xmm0,%xmm2 346238405Sjkim pxor %xmm1,%xmm2 347238405Sjkim pxor %xmm0,%xmm0 348238405Sjkim movl (%rdi,%rcx,4),%edx 349238405Sjkim xorl %r9d,%r12d 350238405Sjkim movl %eax,(%rdi,%rcx,4) 351238405Sjkim andl %r11d,%r12d 352238405Sjkim addl 4(%r15),%r8d 353238405Sjkim addb %dl,%al 354238405Sjkim movl 68(%rsi),%ebx 355238405Sjkim addl $4129170786,%r8d 356238405Sjkim xorl %r10d,%r12d 357238405Sjkim movzbl %al,%eax 358238405Sjkim movl %edx,64(%rsi) 359238405Sjkim addl %r12d,%r8d 360238405Sjkim addb %bl,%cl 361238405Sjkim roll $5,%r8d 362238405Sjkim movl %r9d,%r12d 363238405Sjkim movd (%rdi,%rax,4),%xmm0 364238405Sjkim 365238405Sjkim addl %r9d,%r8d 366238405Sjkim pxor %xmm1,%xmm1 367238405Sjkim movl (%rdi,%rcx,4),%edx 368238405Sjkim xorl %r8d,%r12d 369238405Sjkim movl %ebx,(%rdi,%rcx,4) 370238405Sjkim andl %r10d,%r12d 371238405Sjkim addl 24(%r15),%r11d 372238405Sjkim addb %dl,%bl 373238405Sjkim movl 72(%rsi),%eax 374238405Sjkim addl $3225465664,%r11d 375238405Sjkim xorl %r9d,%r12d 376238405Sjkim movzbl %bl,%ebx 377238405Sjkim movl %edx,68(%rsi) 378238405Sjkim addl %r12d,%r11d 379238405Sjkim addb %al,%cl 380238405Sjkim roll $9,%r11d 381238405Sjkim movl %r8d,%r12d 382238405Sjkim movd (%rdi,%rbx,4),%xmm1 383238405Sjkim 384238405Sjkim addl %r8d,%r11d 385238405Sjkim movl (%rdi,%rcx,4),%edx 386238405Sjkim xorl %r11d,%r12d 387238405Sjkim movl %eax,(%rdi,%rcx,4) 388238405Sjkim andl %r9d,%r12d 389238405Sjkim addl 44(%r15),%r10d 390238405Sjkim addb %dl,%al 391238405Sjkim movl 76(%rsi),%ebx 392238405Sjkim addl $643717713,%r10d 393238405Sjkim xorl %r8d,%r12d 394238405Sjkim movzbl %al,%eax 395238405Sjkim movl %edx,72(%rsi) 396238405Sjkim addl %r12d,%r10d 397238405Sjkim addb %bl,%cl 398238405Sjkim roll $14,%r10d 399238405Sjkim movl %r11d,%r12d 400238405Sjkim pinsrw $1,(%rdi,%rax,4),%xmm0 401238405Sjkim 402238405Sjkim addl %r11d,%r10d 403238405Sjkim movl (%rdi,%rcx,4),%edx 404238405Sjkim xorl %r10d,%r12d 405238405Sjkim movl %ebx,(%rdi,%rcx,4) 406238405Sjkim andl %r8d,%r12d 407238405Sjkim addl 0(%r15),%r9d 408238405Sjkim addb %dl,%bl 409238405Sjkim movl 80(%rsi),%eax 410238405Sjkim addl $3921069994,%r9d 411238405Sjkim xorl %r11d,%r12d 412238405Sjkim movzbl %bl,%ebx 413238405Sjkim movl %edx,76(%rsi) 414238405Sjkim addl %r12d,%r9d 415238405Sjkim addb %al,%cl 416238405Sjkim roll $20,%r9d 417238405Sjkim movl %r10d,%r12d 418238405Sjkim pinsrw $1,(%rdi,%rbx,4),%xmm1 419238405Sjkim 420238405Sjkim addl %r10d,%r9d 421238405Sjkim movl (%rdi,%rcx,4),%edx 422238405Sjkim xorl %r9d,%r12d 423238405Sjkim movl %eax,(%rdi,%rcx,4) 424238405Sjkim andl %r11d,%r12d 425238405Sjkim addl 20(%r15),%r8d 426238405Sjkim addb %dl,%al 427238405Sjkim movl 84(%rsi),%ebx 428238405Sjkim addl $3593408605,%r8d 429238405Sjkim xorl %r10d,%r12d 430238405Sjkim movzbl %al,%eax 431238405Sjkim movl %edx,80(%rsi) 432238405Sjkim addl %r12d,%r8d 433238405Sjkim addb %bl,%cl 434238405Sjkim roll $5,%r8d 435238405Sjkim movl %r9d,%r12d 436238405Sjkim pinsrw $2,(%rdi,%rax,4),%xmm0 437238405Sjkim 438238405Sjkim addl %r9d,%r8d 439238405Sjkim movl (%rdi,%rcx,4),%edx 440238405Sjkim xorl %r8d,%r12d 441238405Sjkim movl %ebx,(%rdi,%rcx,4) 442238405Sjkim andl %r10d,%r12d 443238405Sjkim addl 40(%r15),%r11d 444238405Sjkim addb %dl,%bl 445238405Sjkim movl 88(%rsi),%eax 446238405Sjkim addl $38016083,%r11d 447238405Sjkim xorl %r9d,%r12d 448238405Sjkim movzbl %bl,%ebx 449238405Sjkim movl %edx,84(%rsi) 450238405Sjkim addl %r12d,%r11d 451238405Sjkim addb %al,%cl 452238405Sjkim roll $9,%r11d 453238405Sjkim movl %r8d,%r12d 454238405Sjkim pinsrw $2,(%rdi,%rbx,4),%xmm1 455238405Sjkim 456238405Sjkim addl %r8d,%r11d 457238405Sjkim movl (%rdi,%rcx,4),%edx 458238405Sjkim xorl %r11d,%r12d 459238405Sjkim movl %eax,(%rdi,%rcx,4) 460238405Sjkim andl %r9d,%r12d 461238405Sjkim addl 60(%r15),%r10d 462238405Sjkim addb %dl,%al 463238405Sjkim movl 92(%rsi),%ebx 464238405Sjkim addl $3634488961,%r10d 465238405Sjkim xorl %r8d,%r12d 466238405Sjkim movzbl %al,%eax 467238405Sjkim movl %edx,88(%rsi) 468238405Sjkim addl %r12d,%r10d 469238405Sjkim addb %bl,%cl 470238405Sjkim roll $14,%r10d 471238405Sjkim movl %r11d,%r12d 472238405Sjkim pinsrw $3,(%rdi,%rax,4),%xmm0 473238405Sjkim 474238405Sjkim addl %r11d,%r10d 475238405Sjkim movl (%rdi,%rcx,4),%edx 476238405Sjkim xorl %r10d,%r12d 477238405Sjkim movl %ebx,(%rdi,%rcx,4) 478238405Sjkim andl %r8d,%r12d 479238405Sjkim addl 16(%r15),%r9d 480238405Sjkim addb %dl,%bl 481238405Sjkim movl 96(%rsi),%eax 482238405Sjkim addl $3889429448,%r9d 483238405Sjkim xorl %r11d,%r12d 484238405Sjkim movzbl %bl,%ebx 485238405Sjkim movl %edx,92(%rsi) 486238405Sjkim addl %r12d,%r9d 487238405Sjkim addb %al,%cl 488238405Sjkim roll $20,%r9d 489238405Sjkim movl %r10d,%r12d 490238405Sjkim pinsrw $3,(%rdi,%rbx,4),%xmm1 491238405Sjkim 492238405Sjkim addl %r10d,%r9d 493238405Sjkim movl (%rdi,%rcx,4),%edx 494238405Sjkim xorl %r9d,%r12d 495238405Sjkim movl %eax,(%rdi,%rcx,4) 496238405Sjkim andl %r11d,%r12d 497238405Sjkim addl 36(%r15),%r8d 498238405Sjkim addb %dl,%al 499238405Sjkim movl 100(%rsi),%ebx 500238405Sjkim addl $568446438,%r8d 501238405Sjkim xorl %r10d,%r12d 502238405Sjkim movzbl %al,%eax 503238405Sjkim movl %edx,96(%rsi) 504238405Sjkim addl %r12d,%r8d 505238405Sjkim addb %bl,%cl 506238405Sjkim roll $5,%r8d 507238405Sjkim movl %r9d,%r12d 508238405Sjkim pinsrw $4,(%rdi,%rax,4),%xmm0 509238405Sjkim 510238405Sjkim addl %r9d,%r8d 511238405Sjkim movl (%rdi,%rcx,4),%edx 512238405Sjkim xorl %r8d,%r12d 513238405Sjkim movl %ebx,(%rdi,%rcx,4) 514238405Sjkim andl %r10d,%r12d 515238405Sjkim addl 56(%r15),%r11d 516238405Sjkim addb %dl,%bl 517238405Sjkim movl 104(%rsi),%eax 518238405Sjkim addl $3275163606,%r11d 519238405Sjkim xorl %r9d,%r12d 520238405Sjkim movzbl %bl,%ebx 521238405Sjkim movl %edx,100(%rsi) 522238405Sjkim addl %r12d,%r11d 523238405Sjkim addb %al,%cl 524238405Sjkim roll $9,%r11d 525238405Sjkim movl %r8d,%r12d 526238405Sjkim pinsrw $4,(%rdi,%rbx,4),%xmm1 527238405Sjkim 528238405Sjkim addl %r8d,%r11d 529238405Sjkim movl (%rdi,%rcx,4),%edx 530238405Sjkim xorl %r11d,%r12d 531238405Sjkim movl %eax,(%rdi,%rcx,4) 532238405Sjkim andl %r9d,%r12d 533238405Sjkim addl 12(%r15),%r10d 534238405Sjkim addb %dl,%al 535238405Sjkim movl 108(%rsi),%ebx 536238405Sjkim addl $4107603335,%r10d 537238405Sjkim xorl %r8d,%r12d 538238405Sjkim movzbl %al,%eax 539238405Sjkim movl %edx,104(%rsi) 540238405Sjkim addl %r12d,%r10d 541238405Sjkim addb %bl,%cl 542238405Sjkim roll $14,%r10d 543238405Sjkim movl %r11d,%r12d 544238405Sjkim pinsrw $5,(%rdi,%rax,4),%xmm0 545238405Sjkim 546238405Sjkim addl %r11d,%r10d 547238405Sjkim movl (%rdi,%rcx,4),%edx 548238405Sjkim xorl %r10d,%r12d 549238405Sjkim movl %ebx,(%rdi,%rcx,4) 550238405Sjkim andl %r8d,%r12d 551238405Sjkim addl 32(%r15),%r9d 552238405Sjkim addb %dl,%bl 553238405Sjkim movl 112(%rsi),%eax 554238405Sjkim addl $1163531501,%r9d 555238405Sjkim xorl %r11d,%r12d 556238405Sjkim movzbl %bl,%ebx 557238405Sjkim movl %edx,108(%rsi) 558238405Sjkim addl %r12d,%r9d 559238405Sjkim addb %al,%cl 560238405Sjkim roll $20,%r9d 561238405Sjkim movl %r10d,%r12d 562238405Sjkim pinsrw $5,(%rdi,%rbx,4),%xmm1 563238405Sjkim 564238405Sjkim addl %r10d,%r9d 565238405Sjkim movl (%rdi,%rcx,4),%edx 566238405Sjkim xorl %r9d,%r12d 567238405Sjkim movl %eax,(%rdi,%rcx,4) 568238405Sjkim andl %r11d,%r12d 569238405Sjkim addl 52(%r15),%r8d 570238405Sjkim addb %dl,%al 571238405Sjkim movl 116(%rsi),%ebx 572238405Sjkim addl $2850285829,%r8d 573238405Sjkim xorl %r10d,%r12d 574238405Sjkim movzbl %al,%eax 575238405Sjkim movl %edx,112(%rsi) 576238405Sjkim addl %r12d,%r8d 577238405Sjkim addb %bl,%cl 578238405Sjkim roll $5,%r8d 579238405Sjkim movl %r9d,%r12d 580238405Sjkim pinsrw $6,(%rdi,%rax,4),%xmm0 581238405Sjkim 582238405Sjkim addl %r9d,%r8d 583238405Sjkim movl (%rdi,%rcx,4),%edx 584238405Sjkim xorl %r8d,%r12d 585238405Sjkim movl %ebx,(%rdi,%rcx,4) 586238405Sjkim andl %r10d,%r12d 587238405Sjkim addl 8(%r15),%r11d 588238405Sjkim addb %dl,%bl 589238405Sjkim movl 120(%rsi),%eax 590238405Sjkim addl $4243563512,%r11d 591238405Sjkim xorl %r9d,%r12d 592238405Sjkim movzbl %bl,%ebx 593238405Sjkim movl %edx,116(%rsi) 594238405Sjkim addl %r12d,%r11d 595238405Sjkim addb %al,%cl 596238405Sjkim roll $9,%r11d 597238405Sjkim movl %r8d,%r12d 598238405Sjkim pinsrw $6,(%rdi,%rbx,4),%xmm1 599238405Sjkim 600238405Sjkim addl %r8d,%r11d 601238405Sjkim movl (%rdi,%rcx,4),%edx 602238405Sjkim xorl %r11d,%r12d 603238405Sjkim movl %eax,(%rdi,%rcx,4) 604238405Sjkim andl %r9d,%r12d 605238405Sjkim addl 28(%r15),%r10d 606238405Sjkim addb %dl,%al 607238405Sjkim movl 124(%rsi),%ebx 608238405Sjkim addl $1735328473,%r10d 609238405Sjkim xorl %r8d,%r12d 610238405Sjkim movzbl %al,%eax 611238405Sjkim movl %edx,120(%rsi) 612238405Sjkim addl %r12d,%r10d 613238405Sjkim addb %bl,%cl 614238405Sjkim roll $14,%r10d 615238405Sjkim movl %r11d,%r12d 616238405Sjkim pinsrw $7,(%rdi,%rax,4),%xmm0 617238405Sjkim 618238405Sjkim addl %r11d,%r10d 619238405Sjkim movdqu 16(%r13),%xmm3 620238405Sjkim addb $32,%bpl 621238405Sjkim movl (%rdi,%rcx,4),%edx 622238405Sjkim xorl %r10d,%r12d 623238405Sjkim movl %ebx,(%rdi,%rcx,4) 624238405Sjkim andl %r8d,%r12d 625238405Sjkim addl 48(%r15),%r9d 626238405Sjkim addb %dl,%bl 627238405Sjkim movl 0(%rdi,%rbp,4),%eax 628238405Sjkim addl $2368359562,%r9d 629238405Sjkim xorl %r11d,%r12d 630238405Sjkim movzbl %bl,%ebx 631238405Sjkim movl %edx,124(%rsi) 632238405Sjkim addl %r12d,%r9d 633238405Sjkim addb %al,%cl 634238405Sjkim roll $20,%r9d 635238405Sjkim movl %r11d,%r12d 636238405Sjkim pinsrw $7,(%rdi,%rbx,4),%xmm1 637238405Sjkim 638238405Sjkim addl %r10d,%r9d 639238405Sjkim movq %rcx,%rsi 640238405Sjkim xorq %rcx,%rcx 641238405Sjkim movb %sil,%cl 642238405Sjkim leaq (%rdi,%rbp,4),%rsi 643238405Sjkim psllq $8,%xmm1 644238405Sjkim pxor %xmm0,%xmm3 645238405Sjkim pxor %xmm1,%xmm3 646238405Sjkim pxor %xmm0,%xmm0 647238405Sjkim movl (%rdi,%rcx,4),%edx 648238405Sjkim xorl %r10d,%r12d 649238405Sjkim movl %eax,(%rdi,%rcx,4) 650238405Sjkim xorl %r9d,%r12d 651238405Sjkim addl 20(%r15),%r8d 652238405Sjkim addb %dl,%al 653238405Sjkim movl 4(%rsi),%ebx 654238405Sjkim addl $4294588738,%r8d 655238405Sjkim movzbl %al,%eax 656238405Sjkim addl %r12d,%r8d 657238405Sjkim movl %edx,0(%rsi) 658238405Sjkim addb %bl,%cl 659238405Sjkim roll $4,%r8d 660238405Sjkim movl %r10d,%r12d 661238405Sjkim movd (%rdi,%rax,4),%xmm0 662238405Sjkim 663238405Sjkim addl %r9d,%r8d 664238405Sjkim pxor %xmm1,%xmm1 665238405Sjkim movl (%rdi,%rcx,4),%edx 666238405Sjkim xorl %r9d,%r12d 667238405Sjkim movl %ebx,(%rdi,%rcx,4) 668238405Sjkim xorl %r8d,%r12d 669238405Sjkim addl 32(%r15),%r11d 670238405Sjkim addb %dl,%bl 671238405Sjkim movl 8(%rsi),%eax 672238405Sjkim addl $2272392833,%r11d 673238405Sjkim movzbl %bl,%ebx 674238405Sjkim addl %r12d,%r11d 675238405Sjkim movl %edx,4(%rsi) 676238405Sjkim addb %al,%cl 677238405Sjkim roll $11,%r11d 678238405Sjkim movl %r9d,%r12d 679238405Sjkim movd (%rdi,%rbx,4),%xmm1 680238405Sjkim 681238405Sjkim addl %r8d,%r11d 682238405Sjkim movl (%rdi,%rcx,4),%edx 683238405Sjkim xorl %r8d,%r12d 684238405Sjkim movl %eax,(%rdi,%rcx,4) 685238405Sjkim xorl %r11d,%r12d 686238405Sjkim addl 44(%r15),%r10d 687238405Sjkim addb %dl,%al 688238405Sjkim movl 12(%rsi),%ebx 689238405Sjkim addl $1839030562,%r10d 690238405Sjkim movzbl %al,%eax 691238405Sjkim addl %r12d,%r10d 692238405Sjkim movl %edx,8(%rsi) 693238405Sjkim addb %bl,%cl 694238405Sjkim roll $16,%r10d 695238405Sjkim movl %r8d,%r12d 696238405Sjkim pinsrw $1,(%rdi,%rax,4),%xmm0 697238405Sjkim 698238405Sjkim addl %r11d,%r10d 699238405Sjkim movl (%rdi,%rcx,4),%edx 700238405Sjkim xorl %r11d,%r12d 701238405Sjkim movl %ebx,(%rdi,%rcx,4) 702238405Sjkim xorl %r10d,%r12d 703238405Sjkim addl 56(%r15),%r9d 704238405Sjkim addb %dl,%bl 705238405Sjkim movl 16(%rsi),%eax 706238405Sjkim addl $4259657740,%r9d 707238405Sjkim movzbl %bl,%ebx 708238405Sjkim addl %r12d,%r9d 709238405Sjkim movl %edx,12(%rsi) 710238405Sjkim addb %al,%cl 711238405Sjkim roll $23,%r9d 712238405Sjkim movl %r11d,%r12d 713238405Sjkim pinsrw $1,(%rdi,%rbx,4),%xmm1 714238405Sjkim 715238405Sjkim addl %r10d,%r9d 716238405Sjkim movl (%rdi,%rcx,4),%edx 717238405Sjkim xorl %r10d,%r12d 718238405Sjkim movl %eax,(%rdi,%rcx,4) 719238405Sjkim xorl %r9d,%r12d 720238405Sjkim addl 4(%r15),%r8d 721238405Sjkim addb %dl,%al 722238405Sjkim movl 20(%rsi),%ebx 723238405Sjkim addl $2763975236,%r8d 724238405Sjkim movzbl %al,%eax 725238405Sjkim addl %r12d,%r8d 726238405Sjkim movl %edx,16(%rsi) 727238405Sjkim addb %bl,%cl 728238405Sjkim roll $4,%r8d 729238405Sjkim movl %r10d,%r12d 730238405Sjkim pinsrw $2,(%rdi,%rax,4),%xmm0 731238405Sjkim 732238405Sjkim addl %r9d,%r8d 733238405Sjkim movl (%rdi,%rcx,4),%edx 734238405Sjkim xorl %r9d,%r12d 735238405Sjkim movl %ebx,(%rdi,%rcx,4) 736238405Sjkim xorl %r8d,%r12d 737238405Sjkim addl 16(%r15),%r11d 738238405Sjkim addb %dl,%bl 739238405Sjkim movl 24(%rsi),%eax 740238405Sjkim addl $1272893353,%r11d 741238405Sjkim movzbl %bl,%ebx 742238405Sjkim addl %r12d,%r11d 743238405Sjkim movl %edx,20(%rsi) 744238405Sjkim addb %al,%cl 745238405Sjkim roll $11,%r11d 746238405Sjkim movl %r9d,%r12d 747238405Sjkim pinsrw $2,(%rdi,%rbx,4),%xmm1 748238405Sjkim 749238405Sjkim addl %r8d,%r11d 750238405Sjkim movl (%rdi,%rcx,4),%edx 751238405Sjkim xorl %r8d,%r12d 752238405Sjkim movl %eax,(%rdi,%rcx,4) 753238405Sjkim xorl %r11d,%r12d 754238405Sjkim addl 28(%r15),%r10d 755238405Sjkim addb %dl,%al 756238405Sjkim movl 28(%rsi),%ebx 757238405Sjkim addl $4139469664,%r10d 758238405Sjkim movzbl %al,%eax 759238405Sjkim addl %r12d,%r10d 760238405Sjkim movl %edx,24(%rsi) 761238405Sjkim addb %bl,%cl 762238405Sjkim roll $16,%r10d 763238405Sjkim movl %r8d,%r12d 764238405Sjkim pinsrw $3,(%rdi,%rax,4),%xmm0 765238405Sjkim 766238405Sjkim addl %r11d,%r10d 767238405Sjkim movl (%rdi,%rcx,4),%edx 768238405Sjkim xorl %r11d,%r12d 769238405Sjkim movl %ebx,(%rdi,%rcx,4) 770238405Sjkim xorl %r10d,%r12d 771238405Sjkim addl 40(%r15),%r9d 772238405Sjkim addb %dl,%bl 773238405Sjkim movl 32(%rsi),%eax 774238405Sjkim addl $3200236656,%r9d 775238405Sjkim movzbl %bl,%ebx 776238405Sjkim addl %r12d,%r9d 777238405Sjkim movl %edx,28(%rsi) 778238405Sjkim addb %al,%cl 779238405Sjkim roll $23,%r9d 780238405Sjkim movl %r11d,%r12d 781238405Sjkim pinsrw $3,(%rdi,%rbx,4),%xmm1 782238405Sjkim 783238405Sjkim addl %r10d,%r9d 784238405Sjkim movl (%rdi,%rcx,4),%edx 785238405Sjkim xorl %r10d,%r12d 786238405Sjkim movl %eax,(%rdi,%rcx,4) 787238405Sjkim xorl %r9d,%r12d 788238405Sjkim addl 52(%r15),%r8d 789238405Sjkim addb %dl,%al 790238405Sjkim movl 36(%rsi),%ebx 791238405Sjkim addl $681279174,%r8d 792238405Sjkim movzbl %al,%eax 793238405Sjkim addl %r12d,%r8d 794238405Sjkim movl %edx,32(%rsi) 795238405Sjkim addb %bl,%cl 796238405Sjkim roll $4,%r8d 797238405Sjkim movl %r10d,%r12d 798238405Sjkim pinsrw $4,(%rdi,%rax,4),%xmm0 799238405Sjkim 800238405Sjkim addl %r9d,%r8d 801238405Sjkim movl (%rdi,%rcx,4),%edx 802238405Sjkim xorl %r9d,%r12d 803238405Sjkim movl %ebx,(%rdi,%rcx,4) 804238405Sjkim xorl %r8d,%r12d 805238405Sjkim addl 0(%r15),%r11d 806238405Sjkim addb %dl,%bl 807238405Sjkim movl 40(%rsi),%eax 808238405Sjkim addl $3936430074,%r11d 809238405Sjkim movzbl %bl,%ebx 810238405Sjkim addl %r12d,%r11d 811238405Sjkim movl %edx,36(%rsi) 812238405Sjkim addb %al,%cl 813238405Sjkim roll $11,%r11d 814238405Sjkim movl %r9d,%r12d 815238405Sjkim pinsrw $4,(%rdi,%rbx,4),%xmm1 816238405Sjkim 817238405Sjkim addl %r8d,%r11d 818238405Sjkim movl (%rdi,%rcx,4),%edx 819238405Sjkim xorl %r8d,%r12d 820238405Sjkim movl %eax,(%rdi,%rcx,4) 821238405Sjkim xorl %r11d,%r12d 822238405Sjkim addl 12(%r15),%r10d 823238405Sjkim addb %dl,%al 824238405Sjkim movl 44(%rsi),%ebx 825238405Sjkim addl $3572445317,%r10d 826238405Sjkim movzbl %al,%eax 827238405Sjkim addl %r12d,%r10d 828238405Sjkim movl %edx,40(%rsi) 829238405Sjkim addb %bl,%cl 830238405Sjkim roll $16,%r10d 831238405Sjkim movl %r8d,%r12d 832238405Sjkim pinsrw $5,(%rdi,%rax,4),%xmm0 833238405Sjkim 834238405Sjkim addl %r11d,%r10d 835238405Sjkim movl (%rdi,%rcx,4),%edx 836238405Sjkim xorl %r11d,%r12d 837238405Sjkim movl %ebx,(%rdi,%rcx,4) 838238405Sjkim xorl %r10d,%r12d 839238405Sjkim addl 24(%r15),%r9d 840238405Sjkim addb %dl,%bl 841238405Sjkim movl 48(%rsi),%eax 842238405Sjkim addl $76029189,%r9d 843238405Sjkim movzbl %bl,%ebx 844238405Sjkim addl %r12d,%r9d 845238405Sjkim movl %edx,44(%rsi) 846238405Sjkim addb %al,%cl 847238405Sjkim roll $23,%r9d 848238405Sjkim movl %r11d,%r12d 849238405Sjkim pinsrw $5,(%rdi,%rbx,4),%xmm1 850238405Sjkim 851238405Sjkim addl %r10d,%r9d 852238405Sjkim movl (%rdi,%rcx,4),%edx 853238405Sjkim xorl %r10d,%r12d 854238405Sjkim movl %eax,(%rdi,%rcx,4) 855238405Sjkim xorl %r9d,%r12d 856238405Sjkim addl 36(%r15),%r8d 857238405Sjkim addb %dl,%al 858238405Sjkim movl 52(%rsi),%ebx 859238405Sjkim addl $3654602809,%r8d 860238405Sjkim movzbl %al,%eax 861238405Sjkim addl %r12d,%r8d 862238405Sjkim movl %edx,48(%rsi) 863238405Sjkim addb %bl,%cl 864238405Sjkim roll $4,%r8d 865238405Sjkim movl %r10d,%r12d 866238405Sjkim pinsrw $6,(%rdi,%rax,4),%xmm0 867238405Sjkim 868238405Sjkim addl %r9d,%r8d 869238405Sjkim movl (%rdi,%rcx,4),%edx 870238405Sjkim xorl %r9d,%r12d 871238405Sjkim movl %ebx,(%rdi,%rcx,4) 872238405Sjkim xorl %r8d,%r12d 873238405Sjkim addl 48(%r15),%r11d 874238405Sjkim addb %dl,%bl 875238405Sjkim movl 56(%rsi),%eax 876238405Sjkim addl $3873151461,%r11d 877238405Sjkim movzbl %bl,%ebx 878238405Sjkim addl %r12d,%r11d 879238405Sjkim movl %edx,52(%rsi) 880238405Sjkim addb %al,%cl 881238405Sjkim roll $11,%r11d 882238405Sjkim movl %r9d,%r12d 883238405Sjkim pinsrw $6,(%rdi,%rbx,4),%xmm1 884238405Sjkim 885238405Sjkim addl %r8d,%r11d 886238405Sjkim movl (%rdi,%rcx,4),%edx 887238405Sjkim xorl %r8d,%r12d 888238405Sjkim movl %eax,(%rdi,%rcx,4) 889238405Sjkim xorl %r11d,%r12d 890238405Sjkim addl 60(%r15),%r10d 891238405Sjkim addb %dl,%al 892238405Sjkim movl 60(%rsi),%ebx 893238405Sjkim addl $530742520,%r10d 894238405Sjkim movzbl %al,%eax 895238405Sjkim addl %r12d,%r10d 896238405Sjkim movl %edx,56(%rsi) 897238405Sjkim addb %bl,%cl 898238405Sjkim roll $16,%r10d 899238405Sjkim movl %r8d,%r12d 900238405Sjkim pinsrw $7,(%rdi,%rax,4),%xmm0 901238405Sjkim 902238405Sjkim addl %r11d,%r10d 903238405Sjkim movdqu 32(%r13),%xmm4 904238405Sjkim movl (%rdi,%rcx,4),%edx 905238405Sjkim xorl %r11d,%r12d 906238405Sjkim movl %ebx,(%rdi,%rcx,4) 907238405Sjkim xorl %r10d,%r12d 908238405Sjkim addl 8(%r15),%r9d 909238405Sjkim addb %dl,%bl 910238405Sjkim movl 64(%rsi),%eax 911238405Sjkim addl $3299628645,%r9d 912238405Sjkim movzbl %bl,%ebx 913238405Sjkim addl %r12d,%r9d 914238405Sjkim movl %edx,60(%rsi) 915238405Sjkim addb %al,%cl 916238405Sjkim roll $23,%r9d 917238405Sjkim movl $-1,%r12d 918238405Sjkim pinsrw $7,(%rdi,%rbx,4),%xmm1 919238405Sjkim 920238405Sjkim addl %r10d,%r9d 921238405Sjkim psllq $8,%xmm1 922238405Sjkim pxor %xmm0,%xmm4 923238405Sjkim pxor %xmm1,%xmm4 924238405Sjkim pxor %xmm0,%xmm0 925238405Sjkim movl (%rdi,%rcx,4),%edx 926238405Sjkim xorl %r11d,%r12d 927238405Sjkim movl %eax,(%rdi,%rcx,4) 928238405Sjkim orl %r9d,%r12d 929238405Sjkim addl 0(%r15),%r8d 930238405Sjkim addb %dl,%al 931238405Sjkim movl 68(%rsi),%ebx 932238405Sjkim addl $4096336452,%r8d 933238405Sjkim movzbl %al,%eax 934238405Sjkim xorl %r10d,%r12d 935238405Sjkim movl %edx,64(%rsi) 936238405Sjkim addl %r12d,%r8d 937238405Sjkim addb %bl,%cl 938238405Sjkim roll $6,%r8d 939238405Sjkim movl $-1,%r12d 940238405Sjkim movd (%rdi,%rax,4),%xmm0 941238405Sjkim 942238405Sjkim addl %r9d,%r8d 943238405Sjkim pxor %xmm1,%xmm1 944238405Sjkim movl (%rdi,%rcx,4),%edx 945238405Sjkim xorl %r10d,%r12d 946238405Sjkim movl %ebx,(%rdi,%rcx,4) 947238405Sjkim orl %r8d,%r12d 948238405Sjkim addl 28(%r15),%r11d 949238405Sjkim addb %dl,%bl 950238405Sjkim movl 72(%rsi),%eax 951238405Sjkim addl $1126891415,%r11d 952238405Sjkim movzbl %bl,%ebx 953238405Sjkim xorl %r9d,%r12d 954238405Sjkim movl %edx,68(%rsi) 955238405Sjkim addl %r12d,%r11d 956238405Sjkim addb %al,%cl 957238405Sjkim roll $10,%r11d 958238405Sjkim movl $-1,%r12d 959238405Sjkim movd (%rdi,%rbx,4),%xmm1 960238405Sjkim 961238405Sjkim addl %r8d,%r11d 962238405Sjkim movl (%rdi,%rcx,4),%edx 963238405Sjkim xorl %r9d,%r12d 964238405Sjkim movl %eax,(%rdi,%rcx,4) 965238405Sjkim orl %r11d,%r12d 966238405Sjkim addl 56(%r15),%r10d 967238405Sjkim addb %dl,%al 968238405Sjkim movl 76(%rsi),%ebx 969238405Sjkim addl $2878612391,%r10d 970238405Sjkim movzbl %al,%eax 971238405Sjkim xorl %r8d,%r12d 972238405Sjkim movl %edx,72(%rsi) 973238405Sjkim addl %r12d,%r10d 974238405Sjkim addb %bl,%cl 975238405Sjkim roll $15,%r10d 976238405Sjkim movl $-1,%r12d 977238405Sjkim pinsrw $1,(%rdi,%rax,4),%xmm0 978238405Sjkim 979238405Sjkim addl %r11d,%r10d 980238405Sjkim movl (%rdi,%rcx,4),%edx 981238405Sjkim xorl %r8d,%r12d 982238405Sjkim movl %ebx,(%rdi,%rcx,4) 983238405Sjkim orl %r10d,%r12d 984238405Sjkim addl 20(%r15),%r9d 985238405Sjkim addb %dl,%bl 986238405Sjkim movl 80(%rsi),%eax 987238405Sjkim addl $4237533241,%r9d 988238405Sjkim movzbl %bl,%ebx 989238405Sjkim xorl %r11d,%r12d 990238405Sjkim movl %edx,76(%rsi) 991238405Sjkim addl %r12d,%r9d 992238405Sjkim addb %al,%cl 993238405Sjkim roll $21,%r9d 994238405Sjkim movl $-1,%r12d 995238405Sjkim pinsrw $1,(%rdi,%rbx,4),%xmm1 996238405Sjkim 997238405Sjkim addl %r10d,%r9d 998238405Sjkim movl (%rdi,%rcx,4),%edx 999238405Sjkim xorl %r11d,%r12d 1000238405Sjkim movl %eax,(%rdi,%rcx,4) 1001238405Sjkim orl %r9d,%r12d 1002238405Sjkim addl 48(%r15),%r8d 1003238405Sjkim addb %dl,%al 1004238405Sjkim movl 84(%rsi),%ebx 1005238405Sjkim addl $1700485571,%r8d 1006238405Sjkim movzbl %al,%eax 1007238405Sjkim xorl %r10d,%r12d 1008238405Sjkim movl %edx,80(%rsi) 1009238405Sjkim addl %r12d,%r8d 1010238405Sjkim addb %bl,%cl 1011238405Sjkim roll $6,%r8d 1012238405Sjkim movl $-1,%r12d 1013238405Sjkim pinsrw $2,(%rdi,%rax,4),%xmm0 1014238405Sjkim 1015238405Sjkim addl %r9d,%r8d 1016238405Sjkim movl (%rdi,%rcx,4),%edx 1017238405Sjkim xorl %r10d,%r12d 1018238405Sjkim movl %ebx,(%rdi,%rcx,4) 1019238405Sjkim orl %r8d,%r12d 1020238405Sjkim addl 12(%r15),%r11d 1021238405Sjkim addb %dl,%bl 1022238405Sjkim movl 88(%rsi),%eax 1023238405Sjkim addl $2399980690,%r11d 1024238405Sjkim movzbl %bl,%ebx 1025238405Sjkim xorl %r9d,%r12d 1026238405Sjkim movl %edx,84(%rsi) 1027238405Sjkim addl %r12d,%r11d 1028238405Sjkim addb %al,%cl 1029238405Sjkim roll $10,%r11d 1030238405Sjkim movl $-1,%r12d 1031238405Sjkim pinsrw $2,(%rdi,%rbx,4),%xmm1 1032238405Sjkim 1033238405Sjkim addl %r8d,%r11d 1034238405Sjkim movl (%rdi,%rcx,4),%edx 1035238405Sjkim xorl %r9d,%r12d 1036238405Sjkim movl %eax,(%rdi,%rcx,4) 1037238405Sjkim orl %r11d,%r12d 1038238405Sjkim addl 40(%r15),%r10d 1039238405Sjkim addb %dl,%al 1040238405Sjkim movl 92(%rsi),%ebx 1041238405Sjkim addl $4293915773,%r10d 1042238405Sjkim movzbl %al,%eax 1043238405Sjkim xorl %r8d,%r12d 1044238405Sjkim movl %edx,88(%rsi) 1045238405Sjkim addl %r12d,%r10d 1046238405Sjkim addb %bl,%cl 1047238405Sjkim roll $15,%r10d 1048238405Sjkim movl $-1,%r12d 1049238405Sjkim pinsrw $3,(%rdi,%rax,4),%xmm0 1050238405Sjkim 1051238405Sjkim addl %r11d,%r10d 1052238405Sjkim movl (%rdi,%rcx,4),%edx 1053238405Sjkim xorl %r8d,%r12d 1054238405Sjkim movl %ebx,(%rdi,%rcx,4) 1055238405Sjkim orl %r10d,%r12d 1056238405Sjkim addl 4(%r15),%r9d 1057238405Sjkim addb %dl,%bl 1058238405Sjkim movl 96(%rsi),%eax 1059238405Sjkim addl $2240044497,%r9d 1060238405Sjkim movzbl %bl,%ebx 1061238405Sjkim xorl %r11d,%r12d 1062238405Sjkim movl %edx,92(%rsi) 1063238405Sjkim addl %r12d,%r9d 1064238405Sjkim addb %al,%cl 1065238405Sjkim roll $21,%r9d 1066238405Sjkim movl $-1,%r12d 1067238405Sjkim pinsrw $3,(%rdi,%rbx,4),%xmm1 1068238405Sjkim 1069238405Sjkim addl %r10d,%r9d 1070238405Sjkim movl (%rdi,%rcx,4),%edx 1071238405Sjkim xorl %r11d,%r12d 1072238405Sjkim movl %eax,(%rdi,%rcx,4) 1073238405Sjkim orl %r9d,%r12d 1074238405Sjkim addl 32(%r15),%r8d 1075238405Sjkim addb %dl,%al 1076238405Sjkim movl 100(%rsi),%ebx 1077238405Sjkim addl $1873313359,%r8d 1078238405Sjkim movzbl %al,%eax 1079238405Sjkim xorl %r10d,%r12d 1080238405Sjkim movl %edx,96(%rsi) 1081238405Sjkim addl %r12d,%r8d 1082238405Sjkim addb %bl,%cl 1083238405Sjkim roll $6,%r8d 1084238405Sjkim movl $-1,%r12d 1085238405Sjkim pinsrw $4,(%rdi,%rax,4),%xmm0 1086238405Sjkim 1087238405Sjkim addl %r9d,%r8d 1088238405Sjkim movl (%rdi,%rcx,4),%edx 1089238405Sjkim xorl %r10d,%r12d 1090238405Sjkim movl %ebx,(%rdi,%rcx,4) 1091238405Sjkim orl %r8d,%r12d 1092238405Sjkim addl 60(%r15),%r11d 1093238405Sjkim addb %dl,%bl 1094238405Sjkim movl 104(%rsi),%eax 1095238405Sjkim addl $4264355552,%r11d 1096238405Sjkim movzbl %bl,%ebx 1097238405Sjkim xorl %r9d,%r12d 1098238405Sjkim movl %edx,100(%rsi) 1099238405Sjkim addl %r12d,%r11d 1100238405Sjkim addb %al,%cl 1101238405Sjkim roll $10,%r11d 1102238405Sjkim movl $-1,%r12d 1103238405Sjkim pinsrw $4,(%rdi,%rbx,4),%xmm1 1104238405Sjkim 1105238405Sjkim addl %r8d,%r11d 1106238405Sjkim movl (%rdi,%rcx,4),%edx 1107238405Sjkim xorl %r9d,%r12d 1108238405Sjkim movl %eax,(%rdi,%rcx,4) 1109238405Sjkim orl %r11d,%r12d 1110238405Sjkim addl 24(%r15),%r10d 1111238405Sjkim addb %dl,%al 1112238405Sjkim movl 108(%rsi),%ebx 1113238405Sjkim addl $2734768916,%r10d 1114238405Sjkim movzbl %al,%eax 1115238405Sjkim xorl %r8d,%r12d 1116238405Sjkim movl %edx,104(%rsi) 1117238405Sjkim addl %r12d,%r10d 1118238405Sjkim addb %bl,%cl 1119238405Sjkim roll $15,%r10d 1120238405Sjkim movl $-1,%r12d 1121238405Sjkim pinsrw $5,(%rdi,%rax,4),%xmm0 1122238405Sjkim 1123238405Sjkim addl %r11d,%r10d 1124238405Sjkim movl (%rdi,%rcx,4),%edx 1125238405Sjkim xorl %r8d,%r12d 1126238405Sjkim movl %ebx,(%rdi,%rcx,4) 1127238405Sjkim orl %r10d,%r12d 1128238405Sjkim addl 52(%r15),%r9d 1129238405Sjkim addb %dl,%bl 1130238405Sjkim movl 112(%rsi),%eax 1131238405Sjkim addl $1309151649,%r9d 1132238405Sjkim movzbl %bl,%ebx 1133238405Sjkim xorl %r11d,%r12d 1134238405Sjkim movl %edx,108(%rsi) 1135238405Sjkim addl %r12d,%r9d 1136238405Sjkim addb %al,%cl 1137238405Sjkim roll $21,%r9d 1138238405Sjkim movl $-1,%r12d 1139238405Sjkim pinsrw $5,(%rdi,%rbx,4),%xmm1 1140238405Sjkim 1141238405Sjkim addl %r10d,%r9d 1142238405Sjkim movl (%rdi,%rcx,4),%edx 1143238405Sjkim xorl %r11d,%r12d 1144238405Sjkim movl %eax,(%rdi,%rcx,4) 1145238405Sjkim orl %r9d,%r12d 1146238405Sjkim addl 16(%r15),%r8d 1147238405Sjkim addb %dl,%al 1148238405Sjkim movl 116(%rsi),%ebx 1149238405Sjkim addl $4149444226,%r8d 1150238405Sjkim movzbl %al,%eax 1151238405Sjkim xorl %r10d,%r12d 1152238405Sjkim movl %edx,112(%rsi) 1153238405Sjkim addl %r12d,%r8d 1154238405Sjkim addb %bl,%cl 1155238405Sjkim roll $6,%r8d 1156238405Sjkim movl $-1,%r12d 1157238405Sjkim pinsrw $6,(%rdi,%rax,4),%xmm0 1158238405Sjkim 1159238405Sjkim addl %r9d,%r8d 1160238405Sjkim movl (%rdi,%rcx,4),%edx 1161238405Sjkim xorl %r10d,%r12d 1162238405Sjkim movl %ebx,(%rdi,%rcx,4) 1163238405Sjkim orl %r8d,%r12d 1164238405Sjkim addl 44(%r15),%r11d 1165238405Sjkim addb %dl,%bl 1166238405Sjkim movl 120(%rsi),%eax 1167238405Sjkim addl $3174756917,%r11d 1168238405Sjkim movzbl %bl,%ebx 1169238405Sjkim xorl %r9d,%r12d 1170238405Sjkim movl %edx,116(%rsi) 1171238405Sjkim addl %r12d,%r11d 1172238405Sjkim addb %al,%cl 1173238405Sjkim roll $10,%r11d 1174238405Sjkim movl $-1,%r12d 1175238405Sjkim pinsrw $6,(%rdi,%rbx,4),%xmm1 1176238405Sjkim 1177238405Sjkim addl %r8d,%r11d 1178238405Sjkim movl (%rdi,%rcx,4),%edx 1179238405Sjkim xorl %r9d,%r12d 1180238405Sjkim movl %eax,(%rdi,%rcx,4) 1181238405Sjkim orl %r11d,%r12d 1182238405Sjkim addl 8(%r15),%r10d 1183238405Sjkim addb %dl,%al 1184238405Sjkim movl 124(%rsi),%ebx 1185238405Sjkim addl $718787259,%r10d 1186238405Sjkim movzbl %al,%eax 1187238405Sjkim xorl %r8d,%r12d 1188238405Sjkim movl %edx,120(%rsi) 1189238405Sjkim addl %r12d,%r10d 1190238405Sjkim addb %bl,%cl 1191238405Sjkim roll $15,%r10d 1192238405Sjkim movl $-1,%r12d 1193238405Sjkim pinsrw $7,(%rdi,%rax,4),%xmm0 1194238405Sjkim 1195238405Sjkim addl %r11d,%r10d 1196238405Sjkim movdqu 48(%r13),%xmm5 1197238405Sjkim addb $32,%bpl 1198238405Sjkim movl (%rdi,%rcx,4),%edx 1199238405Sjkim xorl %r8d,%r12d 1200238405Sjkim movl %ebx,(%rdi,%rcx,4) 1201238405Sjkim orl %r10d,%r12d 1202238405Sjkim addl 36(%r15),%r9d 1203238405Sjkim addb %dl,%bl 1204238405Sjkim movl 0(%rdi,%rbp,4),%eax 1205238405Sjkim addl $3951481745,%r9d 1206238405Sjkim movzbl %bl,%ebx 1207238405Sjkim xorl %r11d,%r12d 1208238405Sjkim movl %edx,124(%rsi) 1209238405Sjkim addl %r12d,%r9d 1210238405Sjkim addb %al,%cl 1211238405Sjkim roll $21,%r9d 1212238405Sjkim movl $-1,%r12d 1213238405Sjkim pinsrw $7,(%rdi,%rbx,4),%xmm1 1214238405Sjkim 1215238405Sjkim addl %r10d,%r9d 1216238405Sjkim movq %rbp,%rsi 1217238405Sjkim xorq %rbp,%rbp 1218238405Sjkim movb %sil,%bpl 1219238405Sjkim movq %rcx,%rsi 1220238405Sjkim xorq %rcx,%rcx 1221238405Sjkim movb %sil,%cl 1222238405Sjkim leaq (%rdi,%rbp,4),%rsi 1223238405Sjkim psllq $8,%xmm1 1224238405Sjkim pxor %xmm0,%xmm5 1225238405Sjkim pxor %xmm1,%xmm5 1226238405Sjkim addl 0(%rsp),%r8d 1227238405Sjkim addl 4(%rsp),%r9d 1228238405Sjkim addl 8(%rsp),%r10d 1229238405Sjkim addl 12(%rsp),%r11d 1230238405Sjkim 1231238405Sjkim movdqu %xmm2,(%r14,%r13,1) 1232238405Sjkim movdqu %xmm3,16(%r14,%r13,1) 1233238405Sjkim movdqu %xmm4,32(%r14,%r13,1) 1234238405Sjkim movdqu %xmm5,48(%r14,%r13,1) 1235238405Sjkim leaq 64(%r15),%r15 1236238405Sjkim leaq 64(%r13),%r13 1237238405Sjkim cmpq 16(%rsp),%r15 1238238405Sjkim jb .Loop 1239238405Sjkim 1240238405Sjkim movq 24(%rsp),%r12 1241238405Sjkim subb %al,%cl 1242238405Sjkim movl %r8d,0(%r12) 1243238405Sjkim movl %r9d,4(%r12) 1244238405Sjkim movl %r10d,8(%r12) 1245238405Sjkim movl %r11d,12(%r12) 1246238405Sjkim subb $1,%bpl 1247238405Sjkim movl %ebp,-8(%rdi) 1248238405Sjkim movl %ecx,-4(%rdi) 1249238405Sjkim 1250238405Sjkim movq 40(%rsp),%r15 1251238405Sjkim movq 48(%rsp),%r14 1252238405Sjkim movq 56(%rsp),%r13 1253238405Sjkim movq 64(%rsp),%r12 1254238405Sjkim movq 72(%rsp),%rbp 1255238405Sjkim movq 80(%rsp),%rbx 1256238405Sjkim leaq 88(%rsp),%rsp 1257238405Sjkim.Lepilogue: 1258238405Sjkim.Labort: 1259238405Sjkim .byte 0xf3,0xc3 1260238405Sjkim.size rc4_md5_enc,.-rc4_md5_enc 1261