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