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