1*33772c1eSriastradh#ifdef HAVE_AMD64_ASM 2*33772c1eSriastradh 3*33772c1eSriastradh.text 4*33772c1eSriastradh.p2align 5 5*33772c1eSriastradh 6*33772c1eSriastradh#ifdef ASM_HIDE_SYMBOL 7*33772c1eSriastradhASM_HIDE_SYMBOL stream_salsa20_xmm6 8*33772c1eSriastradhASM_HIDE_SYMBOL _stream_salsa20_xmm6 9*33772c1eSriastradh#endif 10*33772c1eSriastradh.globl stream_salsa20_xmm6 11*33772c1eSriastradh.globl _stream_salsa20_xmm6 12*33772c1eSriastradh#ifdef __ELF__ 13*33772c1eSriastradh.type stream_salsa20_xmm6, @function 14*33772c1eSriastradh.type _stream_salsa20_xmm6, @function 15*33772c1eSriastradh#endif 16*33772c1eSriastradhstream_salsa20_xmm6: 17*33772c1eSriastradh_stream_salsa20_xmm6: 18*33772c1eSriastradhmov %rsp,%r11 19*33772c1eSriastradhand $31,%r11 20*33772c1eSriastradhadd $512,%r11 21*33772c1eSriastradhsub %r11,%rsp 22*33772c1eSriastradhmovq %r11,416(%rsp) 23*33772c1eSriastradhmovq %r12,424(%rsp) 24*33772c1eSriastradhmovq %r13,432(%rsp) 25*33772c1eSriastradhmovq %r14,440(%rsp) 26*33772c1eSriastradhmovq %r15,448(%rsp) 27*33772c1eSriastradhmovq %rbx,456(%rsp) 28*33772c1eSriastradhmovq %rbp,464(%rsp) 29*33772c1eSriastradhmov %rsi,%r9 30*33772c1eSriastradhmov %rdi,%rdi 31*33772c1eSriastradhmov %rdi,%rsi 32*33772c1eSriastradhmov %rdx,%rdx 33*33772c1eSriastradhmov %rcx,%r10 34*33772c1eSriastradhcmp $0,%r9 35*33772c1eSriastradhjbe ._done 36*33772c1eSriastradhmov $0,%rax 37*33772c1eSriastradhmov %r9,%rcx 38*33772c1eSriastradhrep stosb 39*33772c1eSriastradhsub %r9,%rdi 40*33772c1eSriastradhmovq $0,472(%rsp) 41*33772c1eSriastradhjmp ._start 42*33772c1eSriastradh 43*33772c1eSriastradh.text 44*33772c1eSriastradh.p2align 5 45*33772c1eSriastradh 46*33772c1eSriastradh#ifdef ASM_HIDE_SYMBOL 47*33772c1eSriastradhASM_HIDE_SYMBOL stream_salsa20_xmm6_xor_ic 48*33772c1eSriastradhASM_HIDE_SYMBOL _stream_salsa20_xmm6_xor_ic 49*33772c1eSriastradh#endif 50*33772c1eSriastradh.globl stream_salsa20_xmm6_xor_ic 51*33772c1eSriastradh.globl _stream_salsa20_xmm6_xor_ic 52*33772c1eSriastradh#ifdef __ELF__ 53*33772c1eSriastradh.type stream_salsa20_xmm6_xor_ic, @function 54*33772c1eSriastradh.type _stream_salsa20_xmm6_xor_ic, @function 55*33772c1eSriastradh#endif 56*33772c1eSriastradhstream_salsa20_xmm6_xor_ic: 57*33772c1eSriastradh_stream_salsa20_xmm6_xor_ic: 58*33772c1eSriastradh 59*33772c1eSriastradhmov %rsp,%r11 60*33772c1eSriastradhand $31,%r11 61*33772c1eSriastradhadd $512,%r11 62*33772c1eSriastradhsub %r11,%rsp 63*33772c1eSriastradhmovq %r11,416(%rsp) 64*33772c1eSriastradhmovq %r12,424(%rsp) 65*33772c1eSriastradhmovq %r13,432(%rsp) 66*33772c1eSriastradhmovq %r14,440(%rsp) 67*33772c1eSriastradhmovq %r15,448(%rsp) 68*33772c1eSriastradhmovq %rbx,456(%rsp) 69*33772c1eSriastradhmovq %rbp,464(%rsp) 70*33772c1eSriastradhmov %rdi,%rdi 71*33772c1eSriastradhmov %rsi,%rsi 72*33772c1eSriastradhmov %r9,%r10 73*33772c1eSriastradhmovq %r8,472(%rsp) 74*33772c1eSriastradhmov %rdx,%r9 75*33772c1eSriastradhmov %rcx,%rdx 76*33772c1eSriastradhcmp $0,%r9 77*33772c1eSriastradhjbe ._done 78*33772c1eSriastradh 79*33772c1eSriastradh._start: 80*33772c1eSriastradhmovl 20(%r10),%ecx 81*33772c1eSriastradhmovl 0(%r10),%r8d 82*33772c1eSriastradhmovl 0(%rdx),%eax 83*33772c1eSriastradhmovl 16(%r10),%r11d 84*33772c1eSriastradhmovl %ecx,64(%rsp) 85*33772c1eSriastradhmovl %r8d,4+64(%rsp) 86*33772c1eSriastradhmovl %eax,8+64(%rsp) 87*33772c1eSriastradhmovl %r11d,12+64(%rsp) 88*33772c1eSriastradhmovl 24(%r10),%r8d 89*33772c1eSriastradhmovl 4(%r10),%eax 90*33772c1eSriastradhmovl 4(%rdx),%edx 91*33772c1eSriastradhmovq 472(%rsp),%rcx 92*33772c1eSriastradhmovl %ecx,80(%rsp) 93*33772c1eSriastradhmovl %r8d,4+80(%rsp) 94*33772c1eSriastradhmovl %eax,8+80(%rsp) 95*33772c1eSriastradhmovl %edx,12+80(%rsp) 96*33772c1eSriastradhmovl 12(%r10),%edx 97*33772c1eSriastradhshr $32,%rcx 98*33772c1eSriastradhmovl 28(%r10),%r8d 99*33772c1eSriastradhmovl 8(%r10),%eax 100*33772c1eSriastradhmovl %edx,96(%rsp) 101*33772c1eSriastradhmovl %ecx,4+96(%rsp) 102*33772c1eSriastradhmovl %r8d,8+96(%rsp) 103*33772c1eSriastradhmovl %eax,12+96(%rsp) 104*33772c1eSriastradhmov $1634760805,%rdx 105*33772c1eSriastradhmov $857760878,%rcx 106*33772c1eSriastradhmov $2036477234,%r8 107*33772c1eSriastradhmov $1797285236,%rax 108*33772c1eSriastradhmovl %edx,112(%rsp) 109*33772c1eSriastradhmovl %ecx,4+112(%rsp) 110*33772c1eSriastradhmovl %r8d,8+112(%rsp) 111*33772c1eSriastradhmovl %eax,12+112(%rsp) 112*33772c1eSriastradhcmp $256,%r9 113*33772c1eSriastradhjb ._bytesbetween1and255 114*33772c1eSriastradhmovdqa 112(%rsp),%xmm0 115*33772c1eSriastradhpshufd $0x55,%xmm0,%xmm1 116*33772c1eSriastradhpshufd $0xaa,%xmm0,%xmm2 117*33772c1eSriastradhpshufd $0xff,%xmm0,%xmm3 118*33772c1eSriastradhpshufd $0x00,%xmm0,%xmm0 119*33772c1eSriastradhmovdqa %xmm1,128(%rsp) 120*33772c1eSriastradhmovdqa %xmm2,144(%rsp) 121*33772c1eSriastradhmovdqa %xmm3,160(%rsp) 122*33772c1eSriastradhmovdqa %xmm0,176(%rsp) 123*33772c1eSriastradhmovdqa 64(%rsp),%xmm0 124*33772c1eSriastradhpshufd $0xaa,%xmm0,%xmm1 125*33772c1eSriastradhpshufd $0xff,%xmm0,%xmm2 126*33772c1eSriastradhpshufd $0x00,%xmm0,%xmm3 127*33772c1eSriastradhpshufd $0x55,%xmm0,%xmm0 128*33772c1eSriastradhmovdqa %xmm1,192(%rsp) 129*33772c1eSriastradhmovdqa %xmm2,208(%rsp) 130*33772c1eSriastradhmovdqa %xmm3,224(%rsp) 131*33772c1eSriastradhmovdqa %xmm0,240(%rsp) 132*33772c1eSriastradhmovdqa 80(%rsp),%xmm0 133*33772c1eSriastradhpshufd $0xff,%xmm0,%xmm1 134*33772c1eSriastradhpshufd $0x55,%xmm0,%xmm2 135*33772c1eSriastradhpshufd $0xaa,%xmm0,%xmm0 136*33772c1eSriastradhmovdqa %xmm1,256(%rsp) 137*33772c1eSriastradhmovdqa %xmm2,272(%rsp) 138*33772c1eSriastradhmovdqa %xmm0,288(%rsp) 139*33772c1eSriastradhmovdqa 96(%rsp),%xmm0 140*33772c1eSriastradhpshufd $0x00,%xmm0,%xmm1 141*33772c1eSriastradhpshufd $0xaa,%xmm0,%xmm2 142*33772c1eSriastradhpshufd $0xff,%xmm0,%xmm0 143*33772c1eSriastradhmovdqa %xmm1,304(%rsp) 144*33772c1eSriastradhmovdqa %xmm2,320(%rsp) 145*33772c1eSriastradhmovdqa %xmm0,336(%rsp) 146*33772c1eSriastradh 147*33772c1eSriastradh.p2align 4 148*33772c1eSriastradh._bytesatleast256: 149*33772c1eSriastradhmovq 472(%rsp),%rdx 150*33772c1eSriastradhmov %rdx,%rcx 151*33772c1eSriastradhshr $32,%rcx 152*33772c1eSriastradhmovl %edx,352(%rsp) 153*33772c1eSriastradhmovl %ecx,368(%rsp) 154*33772c1eSriastradhadd $1,%rdx 155*33772c1eSriastradhmov %rdx,%rcx 156*33772c1eSriastradhshr $32,%rcx 157*33772c1eSriastradhmovl %edx,4+352(%rsp) 158*33772c1eSriastradhmovl %ecx,4+368(%rsp) 159*33772c1eSriastradhadd $1,%rdx 160*33772c1eSriastradhmov %rdx,%rcx 161*33772c1eSriastradhshr $32,%rcx 162*33772c1eSriastradhmovl %edx,8+352(%rsp) 163*33772c1eSriastradhmovl %ecx,8+368(%rsp) 164*33772c1eSriastradhadd $1,%rdx 165*33772c1eSriastradhmov %rdx,%rcx 166*33772c1eSriastradhshr $32,%rcx 167*33772c1eSriastradhmovl %edx,12+352(%rsp) 168*33772c1eSriastradhmovl %ecx,12+368(%rsp) 169*33772c1eSriastradhadd $1,%rdx 170*33772c1eSriastradhmov %rdx,%rcx 171*33772c1eSriastradhshr $32,%rcx 172*33772c1eSriastradhmovl %edx,80(%rsp) 173*33772c1eSriastradhmovl %ecx,4+96(%rsp) 174*33772c1eSriastradhmovq %rdx,472(%rsp) 175*33772c1eSriastradhmovq %r9,480(%rsp) 176*33772c1eSriastradhmov $20,%rdx 177*33772c1eSriastradhmovdqa 128(%rsp),%xmm0 178*33772c1eSriastradhmovdqa 144(%rsp),%xmm1 179*33772c1eSriastradhmovdqa 160(%rsp),%xmm2 180*33772c1eSriastradhmovdqa 320(%rsp),%xmm3 181*33772c1eSriastradhmovdqa 336(%rsp),%xmm4 182*33772c1eSriastradhmovdqa 192(%rsp),%xmm5 183*33772c1eSriastradhmovdqa 208(%rsp),%xmm6 184*33772c1eSriastradhmovdqa 240(%rsp),%xmm7 185*33772c1eSriastradhmovdqa 256(%rsp),%xmm8 186*33772c1eSriastradhmovdqa 272(%rsp),%xmm9 187*33772c1eSriastradhmovdqa 288(%rsp),%xmm10 188*33772c1eSriastradhmovdqa 368(%rsp),%xmm11 189*33772c1eSriastradhmovdqa 176(%rsp),%xmm12 190*33772c1eSriastradhmovdqa 224(%rsp),%xmm13 191*33772c1eSriastradhmovdqa 304(%rsp),%xmm14 192*33772c1eSriastradhmovdqa 352(%rsp),%xmm15 193*33772c1eSriastradh 194*33772c1eSriastradh.p2align 4 195*33772c1eSriastradh._mainloop1: 196*33772c1eSriastradhmovdqa %xmm1,384(%rsp) 197*33772c1eSriastradhmovdqa %xmm2,400(%rsp) 198*33772c1eSriastradhmovdqa %xmm13,%xmm1 199*33772c1eSriastradhpaddd %xmm12,%xmm1 200*33772c1eSriastradhmovdqa %xmm1,%xmm2 201*33772c1eSriastradhpslld $7,%xmm1 202*33772c1eSriastradhpxor %xmm1,%xmm14 203*33772c1eSriastradhpsrld $25,%xmm2 204*33772c1eSriastradhpxor %xmm2,%xmm14 205*33772c1eSriastradhmovdqa %xmm7,%xmm1 206*33772c1eSriastradhpaddd %xmm0,%xmm1 207*33772c1eSriastradhmovdqa %xmm1,%xmm2 208*33772c1eSriastradhpslld $7,%xmm1 209*33772c1eSriastradhpxor %xmm1,%xmm11 210*33772c1eSriastradhpsrld $25,%xmm2 211*33772c1eSriastradhpxor %xmm2,%xmm11 212*33772c1eSriastradhmovdqa %xmm12,%xmm1 213*33772c1eSriastradhpaddd %xmm14,%xmm1 214*33772c1eSriastradhmovdqa %xmm1,%xmm2 215*33772c1eSriastradhpslld $9,%xmm1 216*33772c1eSriastradhpxor %xmm1,%xmm15 217*33772c1eSriastradhpsrld $23,%xmm2 218*33772c1eSriastradhpxor %xmm2,%xmm15 219*33772c1eSriastradhmovdqa %xmm0,%xmm1 220*33772c1eSriastradhpaddd %xmm11,%xmm1 221*33772c1eSriastradhmovdqa %xmm1,%xmm2 222*33772c1eSriastradhpslld $9,%xmm1 223*33772c1eSriastradhpxor %xmm1,%xmm9 224*33772c1eSriastradhpsrld $23,%xmm2 225*33772c1eSriastradhpxor %xmm2,%xmm9 226*33772c1eSriastradhmovdqa %xmm14,%xmm1 227*33772c1eSriastradhpaddd %xmm15,%xmm1 228*33772c1eSriastradhmovdqa %xmm1,%xmm2 229*33772c1eSriastradhpslld $13,%xmm1 230*33772c1eSriastradhpxor %xmm1,%xmm13 231*33772c1eSriastradhpsrld $19,%xmm2 232*33772c1eSriastradhpxor %xmm2,%xmm13 233*33772c1eSriastradhmovdqa %xmm11,%xmm1 234*33772c1eSriastradhpaddd %xmm9,%xmm1 235*33772c1eSriastradhmovdqa %xmm1,%xmm2 236*33772c1eSriastradhpslld $13,%xmm1 237*33772c1eSriastradhpxor %xmm1,%xmm7 238*33772c1eSriastradhpsrld $19,%xmm2 239*33772c1eSriastradhpxor %xmm2,%xmm7 240*33772c1eSriastradhmovdqa %xmm15,%xmm1 241*33772c1eSriastradhpaddd %xmm13,%xmm1 242*33772c1eSriastradhmovdqa %xmm1,%xmm2 243*33772c1eSriastradhpslld $18,%xmm1 244*33772c1eSriastradhpxor %xmm1,%xmm12 245*33772c1eSriastradhpsrld $14,%xmm2 246*33772c1eSriastradhpxor %xmm2,%xmm12 247*33772c1eSriastradhmovdqa 384(%rsp),%xmm1 248*33772c1eSriastradhmovdqa %xmm12,384(%rsp) 249*33772c1eSriastradhmovdqa %xmm9,%xmm2 250*33772c1eSriastradhpaddd %xmm7,%xmm2 251*33772c1eSriastradhmovdqa %xmm2,%xmm12 252*33772c1eSriastradhpslld $18,%xmm2 253*33772c1eSriastradhpxor %xmm2,%xmm0 254*33772c1eSriastradhpsrld $14,%xmm12 255*33772c1eSriastradhpxor %xmm12,%xmm0 256*33772c1eSriastradhmovdqa %xmm5,%xmm2 257*33772c1eSriastradhpaddd %xmm1,%xmm2 258*33772c1eSriastradhmovdqa %xmm2,%xmm12 259*33772c1eSriastradhpslld $7,%xmm2 260*33772c1eSriastradhpxor %xmm2,%xmm3 261*33772c1eSriastradhpsrld $25,%xmm12 262*33772c1eSriastradhpxor %xmm12,%xmm3 263*33772c1eSriastradhmovdqa 400(%rsp),%xmm2 264*33772c1eSriastradhmovdqa %xmm0,400(%rsp) 265*33772c1eSriastradhmovdqa %xmm6,%xmm0 266*33772c1eSriastradhpaddd %xmm2,%xmm0 267*33772c1eSriastradhmovdqa %xmm0,%xmm12 268*33772c1eSriastradhpslld $7,%xmm0 269*33772c1eSriastradhpxor %xmm0,%xmm4 270*33772c1eSriastradhpsrld $25,%xmm12 271*33772c1eSriastradhpxor %xmm12,%xmm4 272*33772c1eSriastradhmovdqa %xmm1,%xmm0 273*33772c1eSriastradhpaddd %xmm3,%xmm0 274*33772c1eSriastradhmovdqa %xmm0,%xmm12 275*33772c1eSriastradhpslld $9,%xmm0 276*33772c1eSriastradhpxor %xmm0,%xmm10 277*33772c1eSriastradhpsrld $23,%xmm12 278*33772c1eSriastradhpxor %xmm12,%xmm10 279*33772c1eSriastradhmovdqa %xmm2,%xmm0 280*33772c1eSriastradhpaddd %xmm4,%xmm0 281*33772c1eSriastradhmovdqa %xmm0,%xmm12 282*33772c1eSriastradhpslld $9,%xmm0 283*33772c1eSriastradhpxor %xmm0,%xmm8 284*33772c1eSriastradhpsrld $23,%xmm12 285*33772c1eSriastradhpxor %xmm12,%xmm8 286*33772c1eSriastradhmovdqa %xmm3,%xmm0 287*33772c1eSriastradhpaddd %xmm10,%xmm0 288*33772c1eSriastradhmovdqa %xmm0,%xmm12 289*33772c1eSriastradhpslld $13,%xmm0 290*33772c1eSriastradhpxor %xmm0,%xmm5 291*33772c1eSriastradhpsrld $19,%xmm12 292*33772c1eSriastradhpxor %xmm12,%xmm5 293*33772c1eSriastradhmovdqa %xmm4,%xmm0 294*33772c1eSriastradhpaddd %xmm8,%xmm0 295*33772c1eSriastradhmovdqa %xmm0,%xmm12 296*33772c1eSriastradhpslld $13,%xmm0 297*33772c1eSriastradhpxor %xmm0,%xmm6 298*33772c1eSriastradhpsrld $19,%xmm12 299*33772c1eSriastradhpxor %xmm12,%xmm6 300*33772c1eSriastradhmovdqa %xmm10,%xmm0 301*33772c1eSriastradhpaddd %xmm5,%xmm0 302*33772c1eSriastradhmovdqa %xmm0,%xmm12 303*33772c1eSriastradhpslld $18,%xmm0 304*33772c1eSriastradhpxor %xmm0,%xmm1 305*33772c1eSriastradhpsrld $14,%xmm12 306*33772c1eSriastradhpxor %xmm12,%xmm1 307*33772c1eSriastradhmovdqa 384(%rsp),%xmm0 308*33772c1eSriastradhmovdqa %xmm1,384(%rsp) 309*33772c1eSriastradhmovdqa %xmm4,%xmm1 310*33772c1eSriastradhpaddd %xmm0,%xmm1 311*33772c1eSriastradhmovdqa %xmm1,%xmm12 312*33772c1eSriastradhpslld $7,%xmm1 313*33772c1eSriastradhpxor %xmm1,%xmm7 314*33772c1eSriastradhpsrld $25,%xmm12 315*33772c1eSriastradhpxor %xmm12,%xmm7 316*33772c1eSriastradhmovdqa %xmm8,%xmm1 317*33772c1eSriastradhpaddd %xmm6,%xmm1 318*33772c1eSriastradhmovdqa %xmm1,%xmm12 319*33772c1eSriastradhpslld $18,%xmm1 320*33772c1eSriastradhpxor %xmm1,%xmm2 321*33772c1eSriastradhpsrld $14,%xmm12 322*33772c1eSriastradhpxor %xmm12,%xmm2 323*33772c1eSriastradhmovdqa 400(%rsp),%xmm12 324*33772c1eSriastradhmovdqa %xmm2,400(%rsp) 325*33772c1eSriastradhmovdqa %xmm14,%xmm1 326*33772c1eSriastradhpaddd %xmm12,%xmm1 327*33772c1eSriastradhmovdqa %xmm1,%xmm2 328*33772c1eSriastradhpslld $7,%xmm1 329*33772c1eSriastradhpxor %xmm1,%xmm5 330*33772c1eSriastradhpsrld $25,%xmm2 331*33772c1eSriastradhpxor %xmm2,%xmm5 332*33772c1eSriastradhmovdqa %xmm0,%xmm1 333*33772c1eSriastradhpaddd %xmm7,%xmm1 334*33772c1eSriastradhmovdqa %xmm1,%xmm2 335*33772c1eSriastradhpslld $9,%xmm1 336*33772c1eSriastradhpxor %xmm1,%xmm10 337*33772c1eSriastradhpsrld $23,%xmm2 338*33772c1eSriastradhpxor %xmm2,%xmm10 339*33772c1eSriastradhmovdqa %xmm12,%xmm1 340*33772c1eSriastradhpaddd %xmm5,%xmm1 341*33772c1eSriastradhmovdqa %xmm1,%xmm2 342*33772c1eSriastradhpslld $9,%xmm1 343*33772c1eSriastradhpxor %xmm1,%xmm8 344*33772c1eSriastradhpsrld $23,%xmm2 345*33772c1eSriastradhpxor %xmm2,%xmm8 346*33772c1eSriastradhmovdqa %xmm7,%xmm1 347*33772c1eSriastradhpaddd %xmm10,%xmm1 348*33772c1eSriastradhmovdqa %xmm1,%xmm2 349*33772c1eSriastradhpslld $13,%xmm1 350*33772c1eSriastradhpxor %xmm1,%xmm4 351*33772c1eSriastradhpsrld $19,%xmm2 352*33772c1eSriastradhpxor %xmm2,%xmm4 353*33772c1eSriastradhmovdqa %xmm5,%xmm1 354*33772c1eSriastradhpaddd %xmm8,%xmm1 355*33772c1eSriastradhmovdqa %xmm1,%xmm2 356*33772c1eSriastradhpslld $13,%xmm1 357*33772c1eSriastradhpxor %xmm1,%xmm14 358*33772c1eSriastradhpsrld $19,%xmm2 359*33772c1eSriastradhpxor %xmm2,%xmm14 360*33772c1eSriastradhmovdqa %xmm10,%xmm1 361*33772c1eSriastradhpaddd %xmm4,%xmm1 362*33772c1eSriastradhmovdqa %xmm1,%xmm2 363*33772c1eSriastradhpslld $18,%xmm1 364*33772c1eSriastradhpxor %xmm1,%xmm0 365*33772c1eSriastradhpsrld $14,%xmm2 366*33772c1eSriastradhpxor %xmm2,%xmm0 367*33772c1eSriastradhmovdqa 384(%rsp),%xmm1 368*33772c1eSriastradhmovdqa %xmm0,384(%rsp) 369*33772c1eSriastradhmovdqa %xmm8,%xmm0 370*33772c1eSriastradhpaddd %xmm14,%xmm0 371*33772c1eSriastradhmovdqa %xmm0,%xmm2 372*33772c1eSriastradhpslld $18,%xmm0 373*33772c1eSriastradhpxor %xmm0,%xmm12 374*33772c1eSriastradhpsrld $14,%xmm2 375*33772c1eSriastradhpxor %xmm2,%xmm12 376*33772c1eSriastradhmovdqa %xmm11,%xmm0 377*33772c1eSriastradhpaddd %xmm1,%xmm0 378*33772c1eSriastradhmovdqa %xmm0,%xmm2 379*33772c1eSriastradhpslld $7,%xmm0 380*33772c1eSriastradhpxor %xmm0,%xmm6 381*33772c1eSriastradhpsrld $25,%xmm2 382*33772c1eSriastradhpxor %xmm2,%xmm6 383*33772c1eSriastradhmovdqa 400(%rsp),%xmm2 384*33772c1eSriastradhmovdqa %xmm12,400(%rsp) 385*33772c1eSriastradhmovdqa %xmm3,%xmm0 386*33772c1eSriastradhpaddd %xmm2,%xmm0 387*33772c1eSriastradhmovdqa %xmm0,%xmm12 388*33772c1eSriastradhpslld $7,%xmm0 389*33772c1eSriastradhpxor %xmm0,%xmm13 390*33772c1eSriastradhpsrld $25,%xmm12 391*33772c1eSriastradhpxor %xmm12,%xmm13 392*33772c1eSriastradhmovdqa %xmm1,%xmm0 393*33772c1eSriastradhpaddd %xmm6,%xmm0 394*33772c1eSriastradhmovdqa %xmm0,%xmm12 395*33772c1eSriastradhpslld $9,%xmm0 396*33772c1eSriastradhpxor %xmm0,%xmm15 397*33772c1eSriastradhpsrld $23,%xmm12 398*33772c1eSriastradhpxor %xmm12,%xmm15 399*33772c1eSriastradhmovdqa %xmm2,%xmm0 400*33772c1eSriastradhpaddd %xmm13,%xmm0 401*33772c1eSriastradhmovdqa %xmm0,%xmm12 402*33772c1eSriastradhpslld $9,%xmm0 403*33772c1eSriastradhpxor %xmm0,%xmm9 404*33772c1eSriastradhpsrld $23,%xmm12 405*33772c1eSriastradhpxor %xmm12,%xmm9 406*33772c1eSriastradhmovdqa %xmm6,%xmm0 407*33772c1eSriastradhpaddd %xmm15,%xmm0 408*33772c1eSriastradhmovdqa %xmm0,%xmm12 409*33772c1eSriastradhpslld $13,%xmm0 410*33772c1eSriastradhpxor %xmm0,%xmm11 411*33772c1eSriastradhpsrld $19,%xmm12 412*33772c1eSriastradhpxor %xmm12,%xmm11 413*33772c1eSriastradhmovdqa %xmm13,%xmm0 414*33772c1eSriastradhpaddd %xmm9,%xmm0 415*33772c1eSriastradhmovdqa %xmm0,%xmm12 416*33772c1eSriastradhpslld $13,%xmm0 417*33772c1eSriastradhpxor %xmm0,%xmm3 418*33772c1eSriastradhpsrld $19,%xmm12 419*33772c1eSriastradhpxor %xmm12,%xmm3 420*33772c1eSriastradhmovdqa %xmm15,%xmm0 421*33772c1eSriastradhpaddd %xmm11,%xmm0 422*33772c1eSriastradhmovdqa %xmm0,%xmm12 423*33772c1eSriastradhpslld $18,%xmm0 424*33772c1eSriastradhpxor %xmm0,%xmm1 425*33772c1eSriastradhpsrld $14,%xmm12 426*33772c1eSriastradhpxor %xmm12,%xmm1 427*33772c1eSriastradhmovdqa %xmm9,%xmm0 428*33772c1eSriastradhpaddd %xmm3,%xmm0 429*33772c1eSriastradhmovdqa %xmm0,%xmm12 430*33772c1eSriastradhpslld $18,%xmm0 431*33772c1eSriastradhpxor %xmm0,%xmm2 432*33772c1eSriastradhpsrld $14,%xmm12 433*33772c1eSriastradhpxor %xmm12,%xmm2 434*33772c1eSriastradhmovdqa 384(%rsp),%xmm12 435*33772c1eSriastradhmovdqa 400(%rsp),%xmm0 436*33772c1eSriastradhsub $2,%rdx 437*33772c1eSriastradhja ._mainloop1 438*33772c1eSriastradh 439*33772c1eSriastradhpaddd 176(%rsp),%xmm12 440*33772c1eSriastradhpaddd 240(%rsp),%xmm7 441*33772c1eSriastradhpaddd 288(%rsp),%xmm10 442*33772c1eSriastradhpaddd 336(%rsp),%xmm4 443*33772c1eSriastradhmovd %xmm12,%rdx 444*33772c1eSriastradhmovd %xmm7,%rcx 445*33772c1eSriastradhmovd %xmm10,%r8 446*33772c1eSriastradhmovd %xmm4,%r9 447*33772c1eSriastradhpshufd $0x39,%xmm12,%xmm12 448*33772c1eSriastradhpshufd $0x39,%xmm7,%xmm7 449*33772c1eSriastradhpshufd $0x39,%xmm10,%xmm10 450*33772c1eSriastradhpshufd $0x39,%xmm4,%xmm4 451*33772c1eSriastradhxorl 0(%rsi),%edx 452*33772c1eSriastradhxorl 4(%rsi),%ecx 453*33772c1eSriastradhxorl 8(%rsi),%r8d 454*33772c1eSriastradhxorl 12(%rsi),%r9d 455*33772c1eSriastradhmovl %edx,0(%rdi) 456*33772c1eSriastradhmovl %ecx,4(%rdi) 457*33772c1eSriastradhmovl %r8d,8(%rdi) 458*33772c1eSriastradhmovl %r9d,12(%rdi) 459*33772c1eSriastradhmovd %xmm12,%rdx 460*33772c1eSriastradhmovd %xmm7,%rcx 461*33772c1eSriastradhmovd %xmm10,%r8 462*33772c1eSriastradhmovd %xmm4,%r9 463*33772c1eSriastradhpshufd $0x39,%xmm12,%xmm12 464*33772c1eSriastradhpshufd $0x39,%xmm7,%xmm7 465*33772c1eSriastradhpshufd $0x39,%xmm10,%xmm10 466*33772c1eSriastradhpshufd $0x39,%xmm4,%xmm4 467*33772c1eSriastradhxorl 64(%rsi),%edx 468*33772c1eSriastradhxorl 68(%rsi),%ecx 469*33772c1eSriastradhxorl 72(%rsi),%r8d 470*33772c1eSriastradhxorl 76(%rsi),%r9d 471*33772c1eSriastradhmovl %edx,64(%rdi) 472*33772c1eSriastradhmovl %ecx,68(%rdi) 473*33772c1eSriastradhmovl %r8d,72(%rdi) 474*33772c1eSriastradhmovl %r9d,76(%rdi) 475*33772c1eSriastradhmovd %xmm12,%rdx 476*33772c1eSriastradhmovd %xmm7,%rcx 477*33772c1eSriastradhmovd %xmm10,%r8 478*33772c1eSriastradhmovd %xmm4,%r9 479*33772c1eSriastradhpshufd $0x39,%xmm12,%xmm12 480*33772c1eSriastradhpshufd $0x39,%xmm7,%xmm7 481*33772c1eSriastradhpshufd $0x39,%xmm10,%xmm10 482*33772c1eSriastradhpshufd $0x39,%xmm4,%xmm4 483*33772c1eSriastradhxorl 128(%rsi),%edx 484*33772c1eSriastradhxorl 132(%rsi),%ecx 485*33772c1eSriastradhxorl 136(%rsi),%r8d 486*33772c1eSriastradhxorl 140(%rsi),%r9d 487*33772c1eSriastradhmovl %edx,128(%rdi) 488*33772c1eSriastradhmovl %ecx,132(%rdi) 489*33772c1eSriastradhmovl %r8d,136(%rdi) 490*33772c1eSriastradhmovl %r9d,140(%rdi) 491*33772c1eSriastradhmovd %xmm12,%rdx 492*33772c1eSriastradhmovd %xmm7,%rcx 493*33772c1eSriastradhmovd %xmm10,%r8 494*33772c1eSriastradhmovd %xmm4,%r9 495*33772c1eSriastradhxorl 192(%rsi),%edx 496*33772c1eSriastradhxorl 196(%rsi),%ecx 497*33772c1eSriastradhxorl 200(%rsi),%r8d 498*33772c1eSriastradhxorl 204(%rsi),%r9d 499*33772c1eSriastradhmovl %edx,192(%rdi) 500*33772c1eSriastradhmovl %ecx,196(%rdi) 501*33772c1eSriastradhmovl %r8d,200(%rdi) 502*33772c1eSriastradhmovl %r9d,204(%rdi) 503*33772c1eSriastradhpaddd 304(%rsp),%xmm14 504*33772c1eSriastradhpaddd 128(%rsp),%xmm0 505*33772c1eSriastradhpaddd 192(%rsp),%xmm5 506*33772c1eSriastradhpaddd 256(%rsp),%xmm8 507*33772c1eSriastradhmovd %xmm14,%rdx 508*33772c1eSriastradhmovd %xmm0,%rcx 509*33772c1eSriastradhmovd %xmm5,%r8 510*33772c1eSriastradhmovd %xmm8,%r9 511*33772c1eSriastradhpshufd $0x39,%xmm14,%xmm14 512*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 513*33772c1eSriastradhpshufd $0x39,%xmm5,%xmm5 514*33772c1eSriastradhpshufd $0x39,%xmm8,%xmm8 515*33772c1eSriastradhxorl 16(%rsi),%edx 516*33772c1eSriastradhxorl 20(%rsi),%ecx 517*33772c1eSriastradhxorl 24(%rsi),%r8d 518*33772c1eSriastradhxorl 28(%rsi),%r9d 519*33772c1eSriastradhmovl %edx,16(%rdi) 520*33772c1eSriastradhmovl %ecx,20(%rdi) 521*33772c1eSriastradhmovl %r8d,24(%rdi) 522*33772c1eSriastradhmovl %r9d,28(%rdi) 523*33772c1eSriastradhmovd %xmm14,%rdx 524*33772c1eSriastradhmovd %xmm0,%rcx 525*33772c1eSriastradhmovd %xmm5,%r8 526*33772c1eSriastradhmovd %xmm8,%r9 527*33772c1eSriastradhpshufd $0x39,%xmm14,%xmm14 528*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 529*33772c1eSriastradhpshufd $0x39,%xmm5,%xmm5 530*33772c1eSriastradhpshufd $0x39,%xmm8,%xmm8 531*33772c1eSriastradhxorl 80(%rsi),%edx 532*33772c1eSriastradhxorl 84(%rsi),%ecx 533*33772c1eSriastradhxorl 88(%rsi),%r8d 534*33772c1eSriastradhxorl 92(%rsi),%r9d 535*33772c1eSriastradhmovl %edx,80(%rdi) 536*33772c1eSriastradhmovl %ecx,84(%rdi) 537*33772c1eSriastradhmovl %r8d,88(%rdi) 538*33772c1eSriastradhmovl %r9d,92(%rdi) 539*33772c1eSriastradhmovd %xmm14,%rdx 540*33772c1eSriastradhmovd %xmm0,%rcx 541*33772c1eSriastradhmovd %xmm5,%r8 542*33772c1eSriastradhmovd %xmm8,%r9 543*33772c1eSriastradhpshufd $0x39,%xmm14,%xmm14 544*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 545*33772c1eSriastradhpshufd $0x39,%xmm5,%xmm5 546*33772c1eSriastradhpshufd $0x39,%xmm8,%xmm8 547*33772c1eSriastradhxorl 144(%rsi),%edx 548*33772c1eSriastradhxorl 148(%rsi),%ecx 549*33772c1eSriastradhxorl 152(%rsi),%r8d 550*33772c1eSriastradhxorl 156(%rsi),%r9d 551*33772c1eSriastradhmovl %edx,144(%rdi) 552*33772c1eSriastradhmovl %ecx,148(%rdi) 553*33772c1eSriastradhmovl %r8d,152(%rdi) 554*33772c1eSriastradhmovl %r9d,156(%rdi) 555*33772c1eSriastradhmovd %xmm14,%rdx 556*33772c1eSriastradhmovd %xmm0,%rcx 557*33772c1eSriastradhmovd %xmm5,%r8 558*33772c1eSriastradhmovd %xmm8,%r9 559*33772c1eSriastradhxorl 208(%rsi),%edx 560*33772c1eSriastradhxorl 212(%rsi),%ecx 561*33772c1eSriastradhxorl 216(%rsi),%r8d 562*33772c1eSriastradhxorl 220(%rsi),%r9d 563*33772c1eSriastradhmovl %edx,208(%rdi) 564*33772c1eSriastradhmovl %ecx,212(%rdi) 565*33772c1eSriastradhmovl %r8d,216(%rdi) 566*33772c1eSriastradhmovl %r9d,220(%rdi) 567*33772c1eSriastradhpaddd 352(%rsp),%xmm15 568*33772c1eSriastradhpaddd 368(%rsp),%xmm11 569*33772c1eSriastradhpaddd 144(%rsp),%xmm1 570*33772c1eSriastradhpaddd 208(%rsp),%xmm6 571*33772c1eSriastradhmovd %xmm15,%rdx 572*33772c1eSriastradhmovd %xmm11,%rcx 573*33772c1eSriastradhmovd %xmm1,%r8 574*33772c1eSriastradhmovd %xmm6,%r9 575*33772c1eSriastradhpshufd $0x39,%xmm15,%xmm15 576*33772c1eSriastradhpshufd $0x39,%xmm11,%xmm11 577*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 578*33772c1eSriastradhpshufd $0x39,%xmm6,%xmm6 579*33772c1eSriastradhxorl 32(%rsi),%edx 580*33772c1eSriastradhxorl 36(%rsi),%ecx 581*33772c1eSriastradhxorl 40(%rsi),%r8d 582*33772c1eSriastradhxorl 44(%rsi),%r9d 583*33772c1eSriastradhmovl %edx,32(%rdi) 584*33772c1eSriastradhmovl %ecx,36(%rdi) 585*33772c1eSriastradhmovl %r8d,40(%rdi) 586*33772c1eSriastradhmovl %r9d,44(%rdi) 587*33772c1eSriastradhmovd %xmm15,%rdx 588*33772c1eSriastradhmovd %xmm11,%rcx 589*33772c1eSriastradhmovd %xmm1,%r8 590*33772c1eSriastradhmovd %xmm6,%r9 591*33772c1eSriastradhpshufd $0x39,%xmm15,%xmm15 592*33772c1eSriastradhpshufd $0x39,%xmm11,%xmm11 593*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 594*33772c1eSriastradhpshufd $0x39,%xmm6,%xmm6 595*33772c1eSriastradhxorl 96(%rsi),%edx 596*33772c1eSriastradhxorl 100(%rsi),%ecx 597*33772c1eSriastradhxorl 104(%rsi),%r8d 598*33772c1eSriastradhxorl 108(%rsi),%r9d 599*33772c1eSriastradhmovl %edx,96(%rdi) 600*33772c1eSriastradhmovl %ecx,100(%rdi) 601*33772c1eSriastradhmovl %r8d,104(%rdi) 602*33772c1eSriastradhmovl %r9d,108(%rdi) 603*33772c1eSriastradhmovd %xmm15,%rdx 604*33772c1eSriastradhmovd %xmm11,%rcx 605*33772c1eSriastradhmovd %xmm1,%r8 606*33772c1eSriastradhmovd %xmm6,%r9 607*33772c1eSriastradhpshufd $0x39,%xmm15,%xmm15 608*33772c1eSriastradhpshufd $0x39,%xmm11,%xmm11 609*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 610*33772c1eSriastradhpshufd $0x39,%xmm6,%xmm6 611*33772c1eSriastradhxorl 160(%rsi),%edx 612*33772c1eSriastradhxorl 164(%rsi),%ecx 613*33772c1eSriastradhxorl 168(%rsi),%r8d 614*33772c1eSriastradhxorl 172(%rsi),%r9d 615*33772c1eSriastradhmovl %edx,160(%rdi) 616*33772c1eSriastradhmovl %ecx,164(%rdi) 617*33772c1eSriastradhmovl %r8d,168(%rdi) 618*33772c1eSriastradhmovl %r9d,172(%rdi) 619*33772c1eSriastradhmovd %xmm15,%rdx 620*33772c1eSriastradhmovd %xmm11,%rcx 621*33772c1eSriastradhmovd %xmm1,%r8 622*33772c1eSriastradhmovd %xmm6,%r9 623*33772c1eSriastradhxorl 224(%rsi),%edx 624*33772c1eSriastradhxorl 228(%rsi),%ecx 625*33772c1eSriastradhxorl 232(%rsi),%r8d 626*33772c1eSriastradhxorl 236(%rsi),%r9d 627*33772c1eSriastradhmovl %edx,224(%rdi) 628*33772c1eSriastradhmovl %ecx,228(%rdi) 629*33772c1eSriastradhmovl %r8d,232(%rdi) 630*33772c1eSriastradhmovl %r9d,236(%rdi) 631*33772c1eSriastradhpaddd 224(%rsp),%xmm13 632*33772c1eSriastradhpaddd 272(%rsp),%xmm9 633*33772c1eSriastradhpaddd 320(%rsp),%xmm3 634*33772c1eSriastradhpaddd 160(%rsp),%xmm2 635*33772c1eSriastradhmovd %xmm13,%rdx 636*33772c1eSriastradhmovd %xmm9,%rcx 637*33772c1eSriastradhmovd %xmm3,%r8 638*33772c1eSriastradhmovd %xmm2,%r9 639*33772c1eSriastradhpshufd $0x39,%xmm13,%xmm13 640*33772c1eSriastradhpshufd $0x39,%xmm9,%xmm9 641*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 642*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 643*33772c1eSriastradhxorl 48(%rsi),%edx 644*33772c1eSriastradhxorl 52(%rsi),%ecx 645*33772c1eSriastradhxorl 56(%rsi),%r8d 646*33772c1eSriastradhxorl 60(%rsi),%r9d 647*33772c1eSriastradhmovl %edx,48(%rdi) 648*33772c1eSriastradhmovl %ecx,52(%rdi) 649*33772c1eSriastradhmovl %r8d,56(%rdi) 650*33772c1eSriastradhmovl %r9d,60(%rdi) 651*33772c1eSriastradhmovd %xmm13,%rdx 652*33772c1eSriastradhmovd %xmm9,%rcx 653*33772c1eSriastradhmovd %xmm3,%r8 654*33772c1eSriastradhmovd %xmm2,%r9 655*33772c1eSriastradhpshufd $0x39,%xmm13,%xmm13 656*33772c1eSriastradhpshufd $0x39,%xmm9,%xmm9 657*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 658*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 659*33772c1eSriastradhxorl 112(%rsi),%edx 660*33772c1eSriastradhxorl 116(%rsi),%ecx 661*33772c1eSriastradhxorl 120(%rsi),%r8d 662*33772c1eSriastradhxorl 124(%rsi),%r9d 663*33772c1eSriastradhmovl %edx,112(%rdi) 664*33772c1eSriastradhmovl %ecx,116(%rdi) 665*33772c1eSriastradhmovl %r8d,120(%rdi) 666*33772c1eSriastradhmovl %r9d,124(%rdi) 667*33772c1eSriastradhmovd %xmm13,%rdx 668*33772c1eSriastradhmovd %xmm9,%rcx 669*33772c1eSriastradhmovd %xmm3,%r8 670*33772c1eSriastradhmovd %xmm2,%r9 671*33772c1eSriastradhpshufd $0x39,%xmm13,%xmm13 672*33772c1eSriastradhpshufd $0x39,%xmm9,%xmm9 673*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 674*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 675*33772c1eSriastradhxorl 176(%rsi),%edx 676*33772c1eSriastradhxorl 180(%rsi),%ecx 677*33772c1eSriastradhxorl 184(%rsi),%r8d 678*33772c1eSriastradhxorl 188(%rsi),%r9d 679*33772c1eSriastradhmovl %edx,176(%rdi) 680*33772c1eSriastradhmovl %ecx,180(%rdi) 681*33772c1eSriastradhmovl %r8d,184(%rdi) 682*33772c1eSriastradhmovl %r9d,188(%rdi) 683*33772c1eSriastradhmovd %xmm13,%rdx 684*33772c1eSriastradhmovd %xmm9,%rcx 685*33772c1eSriastradhmovd %xmm3,%r8 686*33772c1eSriastradhmovd %xmm2,%r9 687*33772c1eSriastradhxorl 240(%rsi),%edx 688*33772c1eSriastradhxorl 244(%rsi),%ecx 689*33772c1eSriastradhxorl 248(%rsi),%r8d 690*33772c1eSriastradhxorl 252(%rsi),%r9d 691*33772c1eSriastradhmovl %edx,240(%rdi) 692*33772c1eSriastradhmovl %ecx,244(%rdi) 693*33772c1eSriastradhmovl %r8d,248(%rdi) 694*33772c1eSriastradhmovl %r9d,252(%rdi) 695*33772c1eSriastradhmovq 480(%rsp),%r9 696*33772c1eSriastradhsub $256,%r9 697*33772c1eSriastradhadd $256,%rsi 698*33772c1eSriastradhadd $256,%rdi 699*33772c1eSriastradhcmp $256,%r9 700*33772c1eSriastradhjae ._bytesatleast256 701*33772c1eSriastradh 702*33772c1eSriastradhcmp $0,%r9 703*33772c1eSriastradhjbe ._done 704*33772c1eSriastradh 705*33772c1eSriastradh._bytesbetween1and255: 706*33772c1eSriastradhcmp $64,%r9 707*33772c1eSriastradhjae ._nocopy 708*33772c1eSriastradh 709*33772c1eSriastradhmov %rdi,%rdx 710*33772c1eSriastradhleaq 0(%rsp),%rdi 711*33772c1eSriastradhmov %r9,%rcx 712*33772c1eSriastradhrep movsb 713*33772c1eSriastradhleaq 0(%rsp),%rdi 714*33772c1eSriastradhleaq 0(%rsp),%rsi 715*33772c1eSriastradh 716*33772c1eSriastradh._nocopy: 717*33772c1eSriastradhmovq %r9,480(%rsp) 718*33772c1eSriastradhmovdqa 112(%rsp),%xmm0 719*33772c1eSriastradhmovdqa 64(%rsp),%xmm1 720*33772c1eSriastradhmovdqa 80(%rsp),%xmm2 721*33772c1eSriastradhmovdqa 96(%rsp),%xmm3 722*33772c1eSriastradhmovdqa %xmm1,%xmm4 723*33772c1eSriastradhmov $20,%rcx 724*33772c1eSriastradh 725*33772c1eSriastradh.p2align 4 726*33772c1eSriastradh._mainloop2: 727*33772c1eSriastradhpaddd %xmm0,%xmm4 728*33772c1eSriastradhmovdqa %xmm0,%xmm5 729*33772c1eSriastradhmovdqa %xmm4,%xmm6 730*33772c1eSriastradhpslld $7,%xmm4 731*33772c1eSriastradhpsrld $25,%xmm6 732*33772c1eSriastradhpxor %xmm4,%xmm3 733*33772c1eSriastradhpxor %xmm6,%xmm3 734*33772c1eSriastradhpaddd %xmm3,%xmm5 735*33772c1eSriastradhmovdqa %xmm3,%xmm4 736*33772c1eSriastradhmovdqa %xmm5,%xmm6 737*33772c1eSriastradhpslld $9,%xmm5 738*33772c1eSriastradhpsrld $23,%xmm6 739*33772c1eSriastradhpxor %xmm5,%xmm2 740*33772c1eSriastradhpshufd $0x93,%xmm3,%xmm3 741*33772c1eSriastradhpxor %xmm6,%xmm2 742*33772c1eSriastradhpaddd %xmm2,%xmm4 743*33772c1eSriastradhmovdqa %xmm2,%xmm5 744*33772c1eSriastradhmovdqa %xmm4,%xmm6 745*33772c1eSriastradhpslld $13,%xmm4 746*33772c1eSriastradhpsrld $19,%xmm6 747*33772c1eSriastradhpxor %xmm4,%xmm1 748*33772c1eSriastradhpshufd $0x4e,%xmm2,%xmm2 749*33772c1eSriastradhpxor %xmm6,%xmm1 750*33772c1eSriastradhpaddd %xmm1,%xmm5 751*33772c1eSriastradhmovdqa %xmm3,%xmm4 752*33772c1eSriastradhmovdqa %xmm5,%xmm6 753*33772c1eSriastradhpslld $18,%xmm5 754*33772c1eSriastradhpsrld $14,%xmm6 755*33772c1eSriastradhpxor %xmm5,%xmm0 756*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 757*33772c1eSriastradhpxor %xmm6,%xmm0 758*33772c1eSriastradhpaddd %xmm0,%xmm4 759*33772c1eSriastradhmovdqa %xmm0,%xmm5 760*33772c1eSriastradhmovdqa %xmm4,%xmm6 761*33772c1eSriastradhpslld $7,%xmm4 762*33772c1eSriastradhpsrld $25,%xmm6 763*33772c1eSriastradhpxor %xmm4,%xmm1 764*33772c1eSriastradhpxor %xmm6,%xmm1 765*33772c1eSriastradhpaddd %xmm1,%xmm5 766*33772c1eSriastradhmovdqa %xmm1,%xmm4 767*33772c1eSriastradhmovdqa %xmm5,%xmm6 768*33772c1eSriastradhpslld $9,%xmm5 769*33772c1eSriastradhpsrld $23,%xmm6 770*33772c1eSriastradhpxor %xmm5,%xmm2 771*33772c1eSriastradhpshufd $0x93,%xmm1,%xmm1 772*33772c1eSriastradhpxor %xmm6,%xmm2 773*33772c1eSriastradhpaddd %xmm2,%xmm4 774*33772c1eSriastradhmovdqa %xmm2,%xmm5 775*33772c1eSriastradhmovdqa %xmm4,%xmm6 776*33772c1eSriastradhpslld $13,%xmm4 777*33772c1eSriastradhpsrld $19,%xmm6 778*33772c1eSriastradhpxor %xmm4,%xmm3 779*33772c1eSriastradhpshufd $0x4e,%xmm2,%xmm2 780*33772c1eSriastradhpxor %xmm6,%xmm3 781*33772c1eSriastradhpaddd %xmm3,%xmm5 782*33772c1eSriastradhmovdqa %xmm1,%xmm4 783*33772c1eSriastradhmovdqa %xmm5,%xmm6 784*33772c1eSriastradhpslld $18,%xmm5 785*33772c1eSriastradhpsrld $14,%xmm6 786*33772c1eSriastradhpxor %xmm5,%xmm0 787*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 788*33772c1eSriastradhpxor %xmm6,%xmm0 789*33772c1eSriastradhpaddd %xmm0,%xmm4 790*33772c1eSriastradhmovdqa %xmm0,%xmm5 791*33772c1eSriastradhmovdqa %xmm4,%xmm6 792*33772c1eSriastradhpslld $7,%xmm4 793*33772c1eSriastradhpsrld $25,%xmm6 794*33772c1eSriastradhpxor %xmm4,%xmm3 795*33772c1eSriastradhpxor %xmm6,%xmm3 796*33772c1eSriastradhpaddd %xmm3,%xmm5 797*33772c1eSriastradhmovdqa %xmm3,%xmm4 798*33772c1eSriastradhmovdqa %xmm5,%xmm6 799*33772c1eSriastradhpslld $9,%xmm5 800*33772c1eSriastradhpsrld $23,%xmm6 801*33772c1eSriastradhpxor %xmm5,%xmm2 802*33772c1eSriastradhpshufd $0x93,%xmm3,%xmm3 803*33772c1eSriastradhpxor %xmm6,%xmm2 804*33772c1eSriastradhpaddd %xmm2,%xmm4 805*33772c1eSriastradhmovdqa %xmm2,%xmm5 806*33772c1eSriastradhmovdqa %xmm4,%xmm6 807*33772c1eSriastradhpslld $13,%xmm4 808*33772c1eSriastradhpsrld $19,%xmm6 809*33772c1eSriastradhpxor %xmm4,%xmm1 810*33772c1eSriastradhpshufd $0x4e,%xmm2,%xmm2 811*33772c1eSriastradhpxor %xmm6,%xmm1 812*33772c1eSriastradhpaddd %xmm1,%xmm5 813*33772c1eSriastradhmovdqa %xmm3,%xmm4 814*33772c1eSriastradhmovdqa %xmm5,%xmm6 815*33772c1eSriastradhpslld $18,%xmm5 816*33772c1eSriastradhpsrld $14,%xmm6 817*33772c1eSriastradhpxor %xmm5,%xmm0 818*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 819*33772c1eSriastradhpxor %xmm6,%xmm0 820*33772c1eSriastradhpaddd %xmm0,%xmm4 821*33772c1eSriastradhmovdqa %xmm0,%xmm5 822*33772c1eSriastradhmovdqa %xmm4,%xmm6 823*33772c1eSriastradhpslld $7,%xmm4 824*33772c1eSriastradhpsrld $25,%xmm6 825*33772c1eSriastradhpxor %xmm4,%xmm1 826*33772c1eSriastradhpxor %xmm6,%xmm1 827*33772c1eSriastradhpaddd %xmm1,%xmm5 828*33772c1eSriastradhmovdqa %xmm1,%xmm4 829*33772c1eSriastradhmovdqa %xmm5,%xmm6 830*33772c1eSriastradhpslld $9,%xmm5 831*33772c1eSriastradhpsrld $23,%xmm6 832*33772c1eSriastradhpxor %xmm5,%xmm2 833*33772c1eSriastradhpshufd $0x93,%xmm1,%xmm1 834*33772c1eSriastradhpxor %xmm6,%xmm2 835*33772c1eSriastradhpaddd %xmm2,%xmm4 836*33772c1eSriastradhmovdqa %xmm2,%xmm5 837*33772c1eSriastradhmovdqa %xmm4,%xmm6 838*33772c1eSriastradhpslld $13,%xmm4 839*33772c1eSriastradhpsrld $19,%xmm6 840*33772c1eSriastradhpxor %xmm4,%xmm3 841*33772c1eSriastradhpshufd $0x4e,%xmm2,%xmm2 842*33772c1eSriastradhpxor %xmm6,%xmm3 843*33772c1eSriastradhsub $4,%rcx 844*33772c1eSriastradhpaddd %xmm3,%xmm5 845*33772c1eSriastradhmovdqa %xmm1,%xmm4 846*33772c1eSriastradhmovdqa %xmm5,%xmm6 847*33772c1eSriastradhpslld $18,%xmm5 848*33772c1eSriastradhpxor %xmm7,%xmm7 849*33772c1eSriastradhpsrld $14,%xmm6 850*33772c1eSriastradhpxor %xmm5,%xmm0 851*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 852*33772c1eSriastradhpxor %xmm6,%xmm0 853*33772c1eSriastradhja ._mainloop2 854*33772c1eSriastradh 855*33772c1eSriastradhpaddd 112(%rsp),%xmm0 856*33772c1eSriastradhpaddd 64(%rsp),%xmm1 857*33772c1eSriastradhpaddd 80(%rsp),%xmm2 858*33772c1eSriastradhpaddd 96(%rsp),%xmm3 859*33772c1eSriastradhmovd %xmm0,%rcx 860*33772c1eSriastradhmovd %xmm1,%r8 861*33772c1eSriastradhmovd %xmm2,%r9 862*33772c1eSriastradhmovd %xmm3,%rax 863*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 864*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 865*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 866*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 867*33772c1eSriastradhxorl 0(%rsi),%ecx 868*33772c1eSriastradhxorl 48(%rsi),%r8d 869*33772c1eSriastradhxorl 32(%rsi),%r9d 870*33772c1eSriastradhxorl 16(%rsi),%eax 871*33772c1eSriastradhmovl %ecx,0(%rdi) 872*33772c1eSriastradhmovl %r8d,48(%rdi) 873*33772c1eSriastradhmovl %r9d,32(%rdi) 874*33772c1eSriastradhmovl %eax,16(%rdi) 875*33772c1eSriastradhmovd %xmm0,%rcx 876*33772c1eSriastradhmovd %xmm1,%r8 877*33772c1eSriastradhmovd %xmm2,%r9 878*33772c1eSriastradhmovd %xmm3,%rax 879*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 880*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 881*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 882*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 883*33772c1eSriastradhxorl 20(%rsi),%ecx 884*33772c1eSriastradhxorl 4(%rsi),%r8d 885*33772c1eSriastradhxorl 52(%rsi),%r9d 886*33772c1eSriastradhxorl 36(%rsi),%eax 887*33772c1eSriastradhmovl %ecx,20(%rdi) 888*33772c1eSriastradhmovl %r8d,4(%rdi) 889*33772c1eSriastradhmovl %r9d,52(%rdi) 890*33772c1eSriastradhmovl %eax,36(%rdi) 891*33772c1eSriastradhmovd %xmm0,%rcx 892*33772c1eSriastradhmovd %xmm1,%r8 893*33772c1eSriastradhmovd %xmm2,%r9 894*33772c1eSriastradhmovd %xmm3,%rax 895*33772c1eSriastradhpshufd $0x39,%xmm0,%xmm0 896*33772c1eSriastradhpshufd $0x39,%xmm1,%xmm1 897*33772c1eSriastradhpshufd $0x39,%xmm2,%xmm2 898*33772c1eSriastradhpshufd $0x39,%xmm3,%xmm3 899*33772c1eSriastradhxorl 40(%rsi),%ecx 900*33772c1eSriastradhxorl 24(%rsi),%r8d 901*33772c1eSriastradhxorl 8(%rsi),%r9d 902*33772c1eSriastradhxorl 56(%rsi),%eax 903*33772c1eSriastradhmovl %ecx,40(%rdi) 904*33772c1eSriastradhmovl %r8d,24(%rdi) 905*33772c1eSriastradhmovl %r9d,8(%rdi) 906*33772c1eSriastradhmovl %eax,56(%rdi) 907*33772c1eSriastradhmovd %xmm0,%rcx 908*33772c1eSriastradhmovd %xmm1,%r8 909*33772c1eSriastradhmovd %xmm2,%r9 910*33772c1eSriastradhmovd %xmm3,%rax 911*33772c1eSriastradhxorl 60(%rsi),%ecx 912*33772c1eSriastradhxorl 44(%rsi),%r8d 913*33772c1eSriastradhxorl 28(%rsi),%r9d 914*33772c1eSriastradhxorl 12(%rsi),%eax 915*33772c1eSriastradhmovl %ecx,60(%rdi) 916*33772c1eSriastradhmovl %r8d,44(%rdi) 917*33772c1eSriastradhmovl %r9d,28(%rdi) 918*33772c1eSriastradhmovl %eax,12(%rdi) 919*33772c1eSriastradhmovq 480(%rsp),%r9 920*33772c1eSriastradhmovq 472(%rsp),%rcx 921*33772c1eSriastradhadd $1,%rcx 922*33772c1eSriastradhmov %rcx,%r8 923*33772c1eSriastradhshr $32,%r8 924*33772c1eSriastradhmovl %ecx,80(%rsp) 925*33772c1eSriastradhmovl %r8d,4+96(%rsp) 926*33772c1eSriastradhmovq %rcx,472(%rsp) 927*33772c1eSriastradhcmp $64,%r9 928*33772c1eSriastradhja ._bytesatleast65 929*33772c1eSriastradhjae ._bytesatleast64 930*33772c1eSriastradh 931*33772c1eSriastradhmov %rdi,%rsi 932*33772c1eSriastradhmov %rdx,%rdi 933*33772c1eSriastradhmov %r9,%rcx 934*33772c1eSriastradhrep movsb 935*33772c1eSriastradh 936*33772c1eSriastradh._bytesatleast64: 937*33772c1eSriastradh._done: 938*33772c1eSriastradhmovq 416(%rsp),%r11 939*33772c1eSriastradhmovq 424(%rsp),%r12 940*33772c1eSriastradhmovq 432(%rsp),%r13 941*33772c1eSriastradhmovq 440(%rsp),%r14 942*33772c1eSriastradhmovq 448(%rsp),%r15 943*33772c1eSriastradhmovq 456(%rsp),%rbx 944*33772c1eSriastradhmovq 464(%rsp),%rbp 945*33772c1eSriastradhadd %r11,%rsp 946*33772c1eSriastradhxor %rax,%rax 947*33772c1eSriastradhmov %rsi,%rdx 948*33772c1eSriastradhret 949*33772c1eSriastradh 950*33772c1eSriastradh._bytesatleast65: 951*33772c1eSriastradhsub $64,%r9 952*33772c1eSriastradhadd $64,%rdi 953*33772c1eSriastradhadd $64,%rsi 954*33772c1eSriastradhjmp ._bytesbetween1and255 955*33772c1eSriastradh 956*33772c1eSriastradh#endif 957*33772c1eSriastradh 958*33772c1eSriastradh#if defined(__linux__) && defined(__ELF__) 959*33772c1eSriastradh.section .note.GNU-stack,"",%progbits 960*33772c1eSriastradh#endif 961