1bc3d5698SJohn Baldwin/* Do not modify. This file is auto-generated from bn-586.pl. */ 2bc3d5698SJohn Baldwin#ifdef PIC 3bc3d5698SJohn Baldwin.text 4bc3d5698SJohn Baldwin.globl bn_mul_add_words 5bc3d5698SJohn Baldwin.type bn_mul_add_words,@function 6bc3d5698SJohn Baldwin.align 16 7bc3d5698SJohn Baldwinbn_mul_add_words: 8bc3d5698SJohn Baldwin.L_bn_mul_add_words_begin: 9*c0855eaaSJohn Baldwin #ifdef __CET__ 10*c0855eaaSJohn Baldwin 11*c0855eaaSJohn Baldwin.byte 243,15,30,251 12*c0855eaaSJohn Baldwin #endif 13*c0855eaaSJohn Baldwin 14bc3d5698SJohn Baldwin call .L000PIC_me_up 15bc3d5698SJohn Baldwin.L000PIC_me_up: 16bc3d5698SJohn Baldwin popl %eax 17bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P-.L000PIC_me_up(%eax),%eax 18bc3d5698SJohn Baldwin btl $26,(%eax) 19bc3d5698SJohn Baldwin jnc .L001maw_non_sse2 20bc3d5698SJohn Baldwin movl 4(%esp),%eax 21bc3d5698SJohn Baldwin movl 8(%esp),%edx 22bc3d5698SJohn Baldwin movl 12(%esp),%ecx 23bc3d5698SJohn Baldwin movd 16(%esp),%mm0 24bc3d5698SJohn Baldwin pxor %mm1,%mm1 25bc3d5698SJohn Baldwin jmp .L002maw_sse2_entry 26bc3d5698SJohn Baldwin.align 16 27bc3d5698SJohn Baldwin.L003maw_sse2_unrolled: 28bc3d5698SJohn Baldwin movd (%eax),%mm3 29bc3d5698SJohn Baldwin paddq %mm3,%mm1 30bc3d5698SJohn Baldwin movd (%edx),%mm2 31bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 32bc3d5698SJohn Baldwin movd 4(%edx),%mm4 33bc3d5698SJohn Baldwin pmuludq %mm0,%mm4 34bc3d5698SJohn Baldwin movd 8(%edx),%mm6 35bc3d5698SJohn Baldwin pmuludq %mm0,%mm6 36bc3d5698SJohn Baldwin movd 12(%edx),%mm7 37bc3d5698SJohn Baldwin pmuludq %mm0,%mm7 38bc3d5698SJohn Baldwin paddq %mm2,%mm1 39bc3d5698SJohn Baldwin movd 4(%eax),%mm3 40bc3d5698SJohn Baldwin paddq %mm4,%mm3 41bc3d5698SJohn Baldwin movd 8(%eax),%mm5 42bc3d5698SJohn Baldwin paddq %mm6,%mm5 43bc3d5698SJohn Baldwin movd 12(%eax),%mm4 44bc3d5698SJohn Baldwin paddq %mm4,%mm7 45bc3d5698SJohn Baldwin movd %mm1,(%eax) 46bc3d5698SJohn Baldwin movd 16(%edx),%mm2 47bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 48bc3d5698SJohn Baldwin psrlq $32,%mm1 49bc3d5698SJohn Baldwin movd 20(%edx),%mm4 50bc3d5698SJohn Baldwin pmuludq %mm0,%mm4 51bc3d5698SJohn Baldwin paddq %mm3,%mm1 52bc3d5698SJohn Baldwin movd 24(%edx),%mm6 53bc3d5698SJohn Baldwin pmuludq %mm0,%mm6 54bc3d5698SJohn Baldwin movd %mm1,4(%eax) 55bc3d5698SJohn Baldwin psrlq $32,%mm1 56bc3d5698SJohn Baldwin movd 28(%edx),%mm3 57bc3d5698SJohn Baldwin addl $32,%edx 58bc3d5698SJohn Baldwin pmuludq %mm0,%mm3 59bc3d5698SJohn Baldwin paddq %mm5,%mm1 60bc3d5698SJohn Baldwin movd 16(%eax),%mm5 61bc3d5698SJohn Baldwin paddq %mm5,%mm2 62bc3d5698SJohn Baldwin movd %mm1,8(%eax) 63bc3d5698SJohn Baldwin psrlq $32,%mm1 64bc3d5698SJohn Baldwin paddq %mm7,%mm1 65bc3d5698SJohn Baldwin movd 20(%eax),%mm5 66bc3d5698SJohn Baldwin paddq %mm5,%mm4 67bc3d5698SJohn Baldwin movd %mm1,12(%eax) 68bc3d5698SJohn Baldwin psrlq $32,%mm1 69bc3d5698SJohn Baldwin paddq %mm2,%mm1 70bc3d5698SJohn Baldwin movd 24(%eax),%mm5 71bc3d5698SJohn Baldwin paddq %mm5,%mm6 72bc3d5698SJohn Baldwin movd %mm1,16(%eax) 73bc3d5698SJohn Baldwin psrlq $32,%mm1 74bc3d5698SJohn Baldwin paddq %mm4,%mm1 75bc3d5698SJohn Baldwin movd 28(%eax),%mm5 76bc3d5698SJohn Baldwin paddq %mm5,%mm3 77bc3d5698SJohn Baldwin movd %mm1,20(%eax) 78bc3d5698SJohn Baldwin psrlq $32,%mm1 79bc3d5698SJohn Baldwin paddq %mm6,%mm1 80bc3d5698SJohn Baldwin movd %mm1,24(%eax) 81bc3d5698SJohn Baldwin psrlq $32,%mm1 82bc3d5698SJohn Baldwin paddq %mm3,%mm1 83bc3d5698SJohn Baldwin movd %mm1,28(%eax) 84bc3d5698SJohn Baldwin leal 32(%eax),%eax 85bc3d5698SJohn Baldwin psrlq $32,%mm1 86bc3d5698SJohn Baldwin subl $8,%ecx 87bc3d5698SJohn Baldwin jz .L004maw_sse2_exit 88bc3d5698SJohn Baldwin.L002maw_sse2_entry: 89bc3d5698SJohn Baldwin testl $4294967288,%ecx 90bc3d5698SJohn Baldwin jnz .L003maw_sse2_unrolled 91bc3d5698SJohn Baldwin.align 4 92bc3d5698SJohn Baldwin.L005maw_sse2_loop: 93bc3d5698SJohn Baldwin movd (%edx),%mm2 94bc3d5698SJohn Baldwin movd (%eax),%mm3 95bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 96bc3d5698SJohn Baldwin leal 4(%edx),%edx 97bc3d5698SJohn Baldwin paddq %mm3,%mm1 98bc3d5698SJohn Baldwin paddq %mm2,%mm1 99bc3d5698SJohn Baldwin movd %mm1,(%eax) 100bc3d5698SJohn Baldwin subl $1,%ecx 101bc3d5698SJohn Baldwin psrlq $32,%mm1 102bc3d5698SJohn Baldwin leal 4(%eax),%eax 103bc3d5698SJohn Baldwin jnz .L005maw_sse2_loop 104bc3d5698SJohn Baldwin.L004maw_sse2_exit: 105bc3d5698SJohn Baldwin movd %mm1,%eax 106bc3d5698SJohn Baldwin emms 107bc3d5698SJohn Baldwin ret 108bc3d5698SJohn Baldwin.align 16 109bc3d5698SJohn Baldwin.L001maw_non_sse2: 110bc3d5698SJohn Baldwin pushl %ebp 111bc3d5698SJohn Baldwin pushl %ebx 112bc3d5698SJohn Baldwin pushl %esi 113bc3d5698SJohn Baldwin pushl %edi 114bc3d5698SJohn Baldwin 115bc3d5698SJohn Baldwin xorl %esi,%esi 116bc3d5698SJohn Baldwin movl 20(%esp),%edi 117bc3d5698SJohn Baldwin movl 28(%esp),%ecx 118bc3d5698SJohn Baldwin movl 24(%esp),%ebx 119bc3d5698SJohn Baldwin andl $4294967288,%ecx 120bc3d5698SJohn Baldwin movl 32(%esp),%ebp 121bc3d5698SJohn Baldwin pushl %ecx 122bc3d5698SJohn Baldwin jz .L006maw_finish 123bc3d5698SJohn Baldwin.align 16 124bc3d5698SJohn Baldwin.L007maw_loop: 125bc3d5698SJohn Baldwin 126bc3d5698SJohn Baldwin movl (%ebx),%eax 127bc3d5698SJohn Baldwin mull %ebp 128bc3d5698SJohn Baldwin addl %esi,%eax 129bc3d5698SJohn Baldwin adcl $0,%edx 130bc3d5698SJohn Baldwin addl (%edi),%eax 131bc3d5698SJohn Baldwin adcl $0,%edx 132bc3d5698SJohn Baldwin movl %eax,(%edi) 133bc3d5698SJohn Baldwin movl %edx,%esi 134bc3d5698SJohn Baldwin 135bc3d5698SJohn Baldwin movl 4(%ebx),%eax 136bc3d5698SJohn Baldwin mull %ebp 137bc3d5698SJohn Baldwin addl %esi,%eax 138bc3d5698SJohn Baldwin adcl $0,%edx 139bc3d5698SJohn Baldwin addl 4(%edi),%eax 140bc3d5698SJohn Baldwin adcl $0,%edx 141bc3d5698SJohn Baldwin movl %eax,4(%edi) 142bc3d5698SJohn Baldwin movl %edx,%esi 143bc3d5698SJohn Baldwin 144bc3d5698SJohn Baldwin movl 8(%ebx),%eax 145bc3d5698SJohn Baldwin mull %ebp 146bc3d5698SJohn Baldwin addl %esi,%eax 147bc3d5698SJohn Baldwin adcl $0,%edx 148bc3d5698SJohn Baldwin addl 8(%edi),%eax 149bc3d5698SJohn Baldwin adcl $0,%edx 150bc3d5698SJohn Baldwin movl %eax,8(%edi) 151bc3d5698SJohn Baldwin movl %edx,%esi 152bc3d5698SJohn Baldwin 153bc3d5698SJohn Baldwin movl 12(%ebx),%eax 154bc3d5698SJohn Baldwin mull %ebp 155bc3d5698SJohn Baldwin addl %esi,%eax 156bc3d5698SJohn Baldwin adcl $0,%edx 157bc3d5698SJohn Baldwin addl 12(%edi),%eax 158bc3d5698SJohn Baldwin adcl $0,%edx 159bc3d5698SJohn Baldwin movl %eax,12(%edi) 160bc3d5698SJohn Baldwin movl %edx,%esi 161bc3d5698SJohn Baldwin 162bc3d5698SJohn Baldwin movl 16(%ebx),%eax 163bc3d5698SJohn Baldwin mull %ebp 164bc3d5698SJohn Baldwin addl %esi,%eax 165bc3d5698SJohn Baldwin adcl $0,%edx 166bc3d5698SJohn Baldwin addl 16(%edi),%eax 167bc3d5698SJohn Baldwin adcl $0,%edx 168bc3d5698SJohn Baldwin movl %eax,16(%edi) 169bc3d5698SJohn Baldwin movl %edx,%esi 170bc3d5698SJohn Baldwin 171bc3d5698SJohn Baldwin movl 20(%ebx),%eax 172bc3d5698SJohn Baldwin mull %ebp 173bc3d5698SJohn Baldwin addl %esi,%eax 174bc3d5698SJohn Baldwin adcl $0,%edx 175bc3d5698SJohn Baldwin addl 20(%edi),%eax 176bc3d5698SJohn Baldwin adcl $0,%edx 177bc3d5698SJohn Baldwin movl %eax,20(%edi) 178bc3d5698SJohn Baldwin movl %edx,%esi 179bc3d5698SJohn Baldwin 180bc3d5698SJohn Baldwin movl 24(%ebx),%eax 181bc3d5698SJohn Baldwin mull %ebp 182bc3d5698SJohn Baldwin addl %esi,%eax 183bc3d5698SJohn Baldwin adcl $0,%edx 184bc3d5698SJohn Baldwin addl 24(%edi),%eax 185bc3d5698SJohn Baldwin adcl $0,%edx 186bc3d5698SJohn Baldwin movl %eax,24(%edi) 187bc3d5698SJohn Baldwin movl %edx,%esi 188bc3d5698SJohn Baldwin 189bc3d5698SJohn Baldwin movl 28(%ebx),%eax 190bc3d5698SJohn Baldwin mull %ebp 191bc3d5698SJohn Baldwin addl %esi,%eax 192bc3d5698SJohn Baldwin adcl $0,%edx 193bc3d5698SJohn Baldwin addl 28(%edi),%eax 194bc3d5698SJohn Baldwin adcl $0,%edx 195bc3d5698SJohn Baldwin movl %eax,28(%edi) 196bc3d5698SJohn Baldwin movl %edx,%esi 197bc3d5698SJohn Baldwin 198bc3d5698SJohn Baldwin subl $8,%ecx 199bc3d5698SJohn Baldwin leal 32(%ebx),%ebx 200bc3d5698SJohn Baldwin leal 32(%edi),%edi 201bc3d5698SJohn Baldwin jnz .L007maw_loop 202bc3d5698SJohn Baldwin.L006maw_finish: 203bc3d5698SJohn Baldwin movl 32(%esp),%ecx 204bc3d5698SJohn Baldwin andl $7,%ecx 205bc3d5698SJohn Baldwin jnz .L008maw_finish2 206bc3d5698SJohn Baldwin jmp .L009maw_end 207bc3d5698SJohn Baldwin.L008maw_finish2: 208bc3d5698SJohn Baldwin 209bc3d5698SJohn Baldwin movl (%ebx),%eax 210bc3d5698SJohn Baldwin mull %ebp 211bc3d5698SJohn Baldwin addl %esi,%eax 212bc3d5698SJohn Baldwin adcl $0,%edx 213bc3d5698SJohn Baldwin addl (%edi),%eax 214bc3d5698SJohn Baldwin adcl $0,%edx 215bc3d5698SJohn Baldwin decl %ecx 216bc3d5698SJohn Baldwin movl %eax,(%edi) 217bc3d5698SJohn Baldwin movl %edx,%esi 218bc3d5698SJohn Baldwin jz .L009maw_end 219bc3d5698SJohn Baldwin 220bc3d5698SJohn Baldwin movl 4(%ebx),%eax 221bc3d5698SJohn Baldwin mull %ebp 222bc3d5698SJohn Baldwin addl %esi,%eax 223bc3d5698SJohn Baldwin adcl $0,%edx 224bc3d5698SJohn Baldwin addl 4(%edi),%eax 225bc3d5698SJohn Baldwin adcl $0,%edx 226bc3d5698SJohn Baldwin decl %ecx 227bc3d5698SJohn Baldwin movl %eax,4(%edi) 228bc3d5698SJohn Baldwin movl %edx,%esi 229bc3d5698SJohn Baldwin jz .L009maw_end 230bc3d5698SJohn Baldwin 231bc3d5698SJohn Baldwin movl 8(%ebx),%eax 232bc3d5698SJohn Baldwin mull %ebp 233bc3d5698SJohn Baldwin addl %esi,%eax 234bc3d5698SJohn Baldwin adcl $0,%edx 235bc3d5698SJohn Baldwin addl 8(%edi),%eax 236bc3d5698SJohn Baldwin adcl $0,%edx 237bc3d5698SJohn Baldwin decl %ecx 238bc3d5698SJohn Baldwin movl %eax,8(%edi) 239bc3d5698SJohn Baldwin movl %edx,%esi 240bc3d5698SJohn Baldwin jz .L009maw_end 241bc3d5698SJohn Baldwin 242bc3d5698SJohn Baldwin movl 12(%ebx),%eax 243bc3d5698SJohn Baldwin mull %ebp 244bc3d5698SJohn Baldwin addl %esi,%eax 245bc3d5698SJohn Baldwin adcl $0,%edx 246bc3d5698SJohn Baldwin addl 12(%edi),%eax 247bc3d5698SJohn Baldwin adcl $0,%edx 248bc3d5698SJohn Baldwin decl %ecx 249bc3d5698SJohn Baldwin movl %eax,12(%edi) 250bc3d5698SJohn Baldwin movl %edx,%esi 251bc3d5698SJohn Baldwin jz .L009maw_end 252bc3d5698SJohn Baldwin 253bc3d5698SJohn Baldwin movl 16(%ebx),%eax 254bc3d5698SJohn Baldwin mull %ebp 255bc3d5698SJohn Baldwin addl %esi,%eax 256bc3d5698SJohn Baldwin adcl $0,%edx 257bc3d5698SJohn Baldwin addl 16(%edi),%eax 258bc3d5698SJohn Baldwin adcl $0,%edx 259bc3d5698SJohn Baldwin decl %ecx 260bc3d5698SJohn Baldwin movl %eax,16(%edi) 261bc3d5698SJohn Baldwin movl %edx,%esi 262bc3d5698SJohn Baldwin jz .L009maw_end 263bc3d5698SJohn Baldwin 264bc3d5698SJohn Baldwin movl 20(%ebx),%eax 265bc3d5698SJohn Baldwin mull %ebp 266bc3d5698SJohn Baldwin addl %esi,%eax 267bc3d5698SJohn Baldwin adcl $0,%edx 268bc3d5698SJohn Baldwin addl 20(%edi),%eax 269bc3d5698SJohn Baldwin adcl $0,%edx 270bc3d5698SJohn Baldwin decl %ecx 271bc3d5698SJohn Baldwin movl %eax,20(%edi) 272bc3d5698SJohn Baldwin movl %edx,%esi 273bc3d5698SJohn Baldwin jz .L009maw_end 274bc3d5698SJohn Baldwin 275bc3d5698SJohn Baldwin movl 24(%ebx),%eax 276bc3d5698SJohn Baldwin mull %ebp 277bc3d5698SJohn Baldwin addl %esi,%eax 278bc3d5698SJohn Baldwin adcl $0,%edx 279bc3d5698SJohn Baldwin addl 24(%edi),%eax 280bc3d5698SJohn Baldwin adcl $0,%edx 281bc3d5698SJohn Baldwin movl %eax,24(%edi) 282bc3d5698SJohn Baldwin movl %edx,%esi 283bc3d5698SJohn Baldwin.L009maw_end: 284bc3d5698SJohn Baldwin movl %esi,%eax 285bc3d5698SJohn Baldwin popl %ecx 286bc3d5698SJohn Baldwin popl %edi 287bc3d5698SJohn Baldwin popl %esi 288bc3d5698SJohn Baldwin popl %ebx 289bc3d5698SJohn Baldwin popl %ebp 290bc3d5698SJohn Baldwin ret 291bc3d5698SJohn Baldwin.size bn_mul_add_words,.-.L_bn_mul_add_words_begin 292bc3d5698SJohn Baldwin.globl bn_mul_words 293bc3d5698SJohn Baldwin.type bn_mul_words,@function 294bc3d5698SJohn Baldwin.align 16 295bc3d5698SJohn Baldwinbn_mul_words: 296bc3d5698SJohn Baldwin.L_bn_mul_words_begin: 297*c0855eaaSJohn Baldwin #ifdef __CET__ 298*c0855eaaSJohn Baldwin 299*c0855eaaSJohn Baldwin.byte 243,15,30,251 300*c0855eaaSJohn Baldwin #endif 301*c0855eaaSJohn Baldwin 302bc3d5698SJohn Baldwin call .L010PIC_me_up 303bc3d5698SJohn Baldwin.L010PIC_me_up: 304bc3d5698SJohn Baldwin popl %eax 305bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P-.L010PIC_me_up(%eax),%eax 306bc3d5698SJohn Baldwin btl $26,(%eax) 307bc3d5698SJohn Baldwin jnc .L011mw_non_sse2 308bc3d5698SJohn Baldwin movl 4(%esp),%eax 309bc3d5698SJohn Baldwin movl 8(%esp),%edx 310bc3d5698SJohn Baldwin movl 12(%esp),%ecx 311bc3d5698SJohn Baldwin movd 16(%esp),%mm0 312bc3d5698SJohn Baldwin pxor %mm1,%mm1 313bc3d5698SJohn Baldwin.align 16 314bc3d5698SJohn Baldwin.L012mw_sse2_loop: 315bc3d5698SJohn Baldwin movd (%edx),%mm2 316bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 317bc3d5698SJohn Baldwin leal 4(%edx),%edx 318bc3d5698SJohn Baldwin paddq %mm2,%mm1 319bc3d5698SJohn Baldwin movd %mm1,(%eax) 320bc3d5698SJohn Baldwin subl $1,%ecx 321bc3d5698SJohn Baldwin psrlq $32,%mm1 322bc3d5698SJohn Baldwin leal 4(%eax),%eax 323bc3d5698SJohn Baldwin jnz .L012mw_sse2_loop 324bc3d5698SJohn Baldwin movd %mm1,%eax 325bc3d5698SJohn Baldwin emms 326bc3d5698SJohn Baldwin ret 327bc3d5698SJohn Baldwin.align 16 328bc3d5698SJohn Baldwin.L011mw_non_sse2: 329bc3d5698SJohn Baldwin pushl %ebp 330bc3d5698SJohn Baldwin pushl %ebx 331bc3d5698SJohn Baldwin pushl %esi 332bc3d5698SJohn Baldwin pushl %edi 333bc3d5698SJohn Baldwin 334bc3d5698SJohn Baldwin xorl %esi,%esi 335bc3d5698SJohn Baldwin movl 20(%esp),%edi 336bc3d5698SJohn Baldwin movl 24(%esp),%ebx 337bc3d5698SJohn Baldwin movl 28(%esp),%ebp 338bc3d5698SJohn Baldwin movl 32(%esp),%ecx 339bc3d5698SJohn Baldwin andl $4294967288,%ebp 340bc3d5698SJohn Baldwin jz .L013mw_finish 341bc3d5698SJohn Baldwin.L014mw_loop: 342bc3d5698SJohn Baldwin 343bc3d5698SJohn Baldwin movl (%ebx),%eax 344bc3d5698SJohn Baldwin mull %ecx 345bc3d5698SJohn Baldwin addl %esi,%eax 346bc3d5698SJohn Baldwin adcl $0,%edx 347bc3d5698SJohn Baldwin movl %eax,(%edi) 348bc3d5698SJohn Baldwin movl %edx,%esi 349bc3d5698SJohn Baldwin 350bc3d5698SJohn Baldwin movl 4(%ebx),%eax 351bc3d5698SJohn Baldwin mull %ecx 352bc3d5698SJohn Baldwin addl %esi,%eax 353bc3d5698SJohn Baldwin adcl $0,%edx 354bc3d5698SJohn Baldwin movl %eax,4(%edi) 355bc3d5698SJohn Baldwin movl %edx,%esi 356bc3d5698SJohn Baldwin 357bc3d5698SJohn Baldwin movl 8(%ebx),%eax 358bc3d5698SJohn Baldwin mull %ecx 359bc3d5698SJohn Baldwin addl %esi,%eax 360bc3d5698SJohn Baldwin adcl $0,%edx 361bc3d5698SJohn Baldwin movl %eax,8(%edi) 362bc3d5698SJohn Baldwin movl %edx,%esi 363bc3d5698SJohn Baldwin 364bc3d5698SJohn Baldwin movl 12(%ebx),%eax 365bc3d5698SJohn Baldwin mull %ecx 366bc3d5698SJohn Baldwin addl %esi,%eax 367bc3d5698SJohn Baldwin adcl $0,%edx 368bc3d5698SJohn Baldwin movl %eax,12(%edi) 369bc3d5698SJohn Baldwin movl %edx,%esi 370bc3d5698SJohn Baldwin 371bc3d5698SJohn Baldwin movl 16(%ebx),%eax 372bc3d5698SJohn Baldwin mull %ecx 373bc3d5698SJohn Baldwin addl %esi,%eax 374bc3d5698SJohn Baldwin adcl $0,%edx 375bc3d5698SJohn Baldwin movl %eax,16(%edi) 376bc3d5698SJohn Baldwin movl %edx,%esi 377bc3d5698SJohn Baldwin 378bc3d5698SJohn Baldwin movl 20(%ebx),%eax 379bc3d5698SJohn Baldwin mull %ecx 380bc3d5698SJohn Baldwin addl %esi,%eax 381bc3d5698SJohn Baldwin adcl $0,%edx 382bc3d5698SJohn Baldwin movl %eax,20(%edi) 383bc3d5698SJohn Baldwin movl %edx,%esi 384bc3d5698SJohn Baldwin 385bc3d5698SJohn Baldwin movl 24(%ebx),%eax 386bc3d5698SJohn Baldwin mull %ecx 387bc3d5698SJohn Baldwin addl %esi,%eax 388bc3d5698SJohn Baldwin adcl $0,%edx 389bc3d5698SJohn Baldwin movl %eax,24(%edi) 390bc3d5698SJohn Baldwin movl %edx,%esi 391bc3d5698SJohn Baldwin 392bc3d5698SJohn Baldwin movl 28(%ebx),%eax 393bc3d5698SJohn Baldwin mull %ecx 394bc3d5698SJohn Baldwin addl %esi,%eax 395bc3d5698SJohn Baldwin adcl $0,%edx 396bc3d5698SJohn Baldwin movl %eax,28(%edi) 397bc3d5698SJohn Baldwin movl %edx,%esi 398bc3d5698SJohn Baldwin 399bc3d5698SJohn Baldwin addl $32,%ebx 400bc3d5698SJohn Baldwin addl $32,%edi 401bc3d5698SJohn Baldwin subl $8,%ebp 402bc3d5698SJohn Baldwin jz .L013mw_finish 403bc3d5698SJohn Baldwin jmp .L014mw_loop 404bc3d5698SJohn Baldwin.L013mw_finish: 405bc3d5698SJohn Baldwin movl 28(%esp),%ebp 406bc3d5698SJohn Baldwin andl $7,%ebp 407bc3d5698SJohn Baldwin jnz .L015mw_finish2 408bc3d5698SJohn Baldwin jmp .L016mw_end 409bc3d5698SJohn Baldwin.L015mw_finish2: 410bc3d5698SJohn Baldwin 411bc3d5698SJohn Baldwin movl (%ebx),%eax 412bc3d5698SJohn Baldwin mull %ecx 413bc3d5698SJohn Baldwin addl %esi,%eax 414bc3d5698SJohn Baldwin adcl $0,%edx 415bc3d5698SJohn Baldwin movl %eax,(%edi) 416bc3d5698SJohn Baldwin movl %edx,%esi 417bc3d5698SJohn Baldwin decl %ebp 418bc3d5698SJohn Baldwin jz .L016mw_end 419bc3d5698SJohn Baldwin 420bc3d5698SJohn Baldwin movl 4(%ebx),%eax 421bc3d5698SJohn Baldwin mull %ecx 422bc3d5698SJohn Baldwin addl %esi,%eax 423bc3d5698SJohn Baldwin adcl $0,%edx 424bc3d5698SJohn Baldwin movl %eax,4(%edi) 425bc3d5698SJohn Baldwin movl %edx,%esi 426bc3d5698SJohn Baldwin decl %ebp 427bc3d5698SJohn Baldwin jz .L016mw_end 428bc3d5698SJohn Baldwin 429bc3d5698SJohn Baldwin movl 8(%ebx),%eax 430bc3d5698SJohn Baldwin mull %ecx 431bc3d5698SJohn Baldwin addl %esi,%eax 432bc3d5698SJohn Baldwin adcl $0,%edx 433bc3d5698SJohn Baldwin movl %eax,8(%edi) 434bc3d5698SJohn Baldwin movl %edx,%esi 435bc3d5698SJohn Baldwin decl %ebp 436bc3d5698SJohn Baldwin jz .L016mw_end 437bc3d5698SJohn Baldwin 438bc3d5698SJohn Baldwin movl 12(%ebx),%eax 439bc3d5698SJohn Baldwin mull %ecx 440bc3d5698SJohn Baldwin addl %esi,%eax 441bc3d5698SJohn Baldwin adcl $0,%edx 442bc3d5698SJohn Baldwin movl %eax,12(%edi) 443bc3d5698SJohn Baldwin movl %edx,%esi 444bc3d5698SJohn Baldwin decl %ebp 445bc3d5698SJohn Baldwin jz .L016mw_end 446bc3d5698SJohn Baldwin 447bc3d5698SJohn Baldwin movl 16(%ebx),%eax 448bc3d5698SJohn Baldwin mull %ecx 449bc3d5698SJohn Baldwin addl %esi,%eax 450bc3d5698SJohn Baldwin adcl $0,%edx 451bc3d5698SJohn Baldwin movl %eax,16(%edi) 452bc3d5698SJohn Baldwin movl %edx,%esi 453bc3d5698SJohn Baldwin decl %ebp 454bc3d5698SJohn Baldwin jz .L016mw_end 455bc3d5698SJohn Baldwin 456bc3d5698SJohn Baldwin movl 20(%ebx),%eax 457bc3d5698SJohn Baldwin mull %ecx 458bc3d5698SJohn Baldwin addl %esi,%eax 459bc3d5698SJohn Baldwin adcl $0,%edx 460bc3d5698SJohn Baldwin movl %eax,20(%edi) 461bc3d5698SJohn Baldwin movl %edx,%esi 462bc3d5698SJohn Baldwin decl %ebp 463bc3d5698SJohn Baldwin jz .L016mw_end 464bc3d5698SJohn Baldwin 465bc3d5698SJohn Baldwin movl 24(%ebx),%eax 466bc3d5698SJohn Baldwin mull %ecx 467bc3d5698SJohn Baldwin addl %esi,%eax 468bc3d5698SJohn Baldwin adcl $0,%edx 469bc3d5698SJohn Baldwin movl %eax,24(%edi) 470bc3d5698SJohn Baldwin movl %edx,%esi 471bc3d5698SJohn Baldwin.L016mw_end: 472bc3d5698SJohn Baldwin movl %esi,%eax 473bc3d5698SJohn Baldwin popl %edi 474bc3d5698SJohn Baldwin popl %esi 475bc3d5698SJohn Baldwin popl %ebx 476bc3d5698SJohn Baldwin popl %ebp 477bc3d5698SJohn Baldwin ret 478bc3d5698SJohn Baldwin.size bn_mul_words,.-.L_bn_mul_words_begin 479bc3d5698SJohn Baldwin.globl bn_sqr_words 480bc3d5698SJohn Baldwin.type bn_sqr_words,@function 481bc3d5698SJohn Baldwin.align 16 482bc3d5698SJohn Baldwinbn_sqr_words: 483bc3d5698SJohn Baldwin.L_bn_sqr_words_begin: 484*c0855eaaSJohn Baldwin #ifdef __CET__ 485*c0855eaaSJohn Baldwin 486*c0855eaaSJohn Baldwin.byte 243,15,30,251 487*c0855eaaSJohn Baldwin #endif 488*c0855eaaSJohn Baldwin 489bc3d5698SJohn Baldwin call .L017PIC_me_up 490bc3d5698SJohn Baldwin.L017PIC_me_up: 491bc3d5698SJohn Baldwin popl %eax 492bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P-.L017PIC_me_up(%eax),%eax 493bc3d5698SJohn Baldwin btl $26,(%eax) 494bc3d5698SJohn Baldwin jnc .L018sqr_non_sse2 495bc3d5698SJohn Baldwin movl 4(%esp),%eax 496bc3d5698SJohn Baldwin movl 8(%esp),%edx 497bc3d5698SJohn Baldwin movl 12(%esp),%ecx 498bc3d5698SJohn Baldwin.align 16 499bc3d5698SJohn Baldwin.L019sqr_sse2_loop: 500bc3d5698SJohn Baldwin movd (%edx),%mm0 501bc3d5698SJohn Baldwin pmuludq %mm0,%mm0 502bc3d5698SJohn Baldwin leal 4(%edx),%edx 503bc3d5698SJohn Baldwin movq %mm0,(%eax) 504bc3d5698SJohn Baldwin subl $1,%ecx 505bc3d5698SJohn Baldwin leal 8(%eax),%eax 506bc3d5698SJohn Baldwin jnz .L019sqr_sse2_loop 507bc3d5698SJohn Baldwin emms 508bc3d5698SJohn Baldwin ret 509bc3d5698SJohn Baldwin.align 16 510bc3d5698SJohn Baldwin.L018sqr_non_sse2: 511bc3d5698SJohn Baldwin pushl %ebp 512bc3d5698SJohn Baldwin pushl %ebx 513bc3d5698SJohn Baldwin pushl %esi 514bc3d5698SJohn Baldwin pushl %edi 515bc3d5698SJohn Baldwin 516bc3d5698SJohn Baldwin movl 20(%esp),%esi 517bc3d5698SJohn Baldwin movl 24(%esp),%edi 518bc3d5698SJohn Baldwin movl 28(%esp),%ebx 519bc3d5698SJohn Baldwin andl $4294967288,%ebx 520bc3d5698SJohn Baldwin jz .L020sw_finish 521bc3d5698SJohn Baldwin.L021sw_loop: 522bc3d5698SJohn Baldwin 523bc3d5698SJohn Baldwin movl (%edi),%eax 524bc3d5698SJohn Baldwin mull %eax 525bc3d5698SJohn Baldwin movl %eax,(%esi) 526bc3d5698SJohn Baldwin movl %edx,4(%esi) 527bc3d5698SJohn Baldwin 528bc3d5698SJohn Baldwin movl 4(%edi),%eax 529bc3d5698SJohn Baldwin mull %eax 530bc3d5698SJohn Baldwin movl %eax,8(%esi) 531bc3d5698SJohn Baldwin movl %edx,12(%esi) 532bc3d5698SJohn Baldwin 533bc3d5698SJohn Baldwin movl 8(%edi),%eax 534bc3d5698SJohn Baldwin mull %eax 535bc3d5698SJohn Baldwin movl %eax,16(%esi) 536bc3d5698SJohn Baldwin movl %edx,20(%esi) 537bc3d5698SJohn Baldwin 538bc3d5698SJohn Baldwin movl 12(%edi),%eax 539bc3d5698SJohn Baldwin mull %eax 540bc3d5698SJohn Baldwin movl %eax,24(%esi) 541bc3d5698SJohn Baldwin movl %edx,28(%esi) 542bc3d5698SJohn Baldwin 543bc3d5698SJohn Baldwin movl 16(%edi),%eax 544bc3d5698SJohn Baldwin mull %eax 545bc3d5698SJohn Baldwin movl %eax,32(%esi) 546bc3d5698SJohn Baldwin movl %edx,36(%esi) 547bc3d5698SJohn Baldwin 548bc3d5698SJohn Baldwin movl 20(%edi),%eax 549bc3d5698SJohn Baldwin mull %eax 550bc3d5698SJohn Baldwin movl %eax,40(%esi) 551bc3d5698SJohn Baldwin movl %edx,44(%esi) 552bc3d5698SJohn Baldwin 553bc3d5698SJohn Baldwin movl 24(%edi),%eax 554bc3d5698SJohn Baldwin mull %eax 555bc3d5698SJohn Baldwin movl %eax,48(%esi) 556bc3d5698SJohn Baldwin movl %edx,52(%esi) 557bc3d5698SJohn Baldwin 558bc3d5698SJohn Baldwin movl 28(%edi),%eax 559bc3d5698SJohn Baldwin mull %eax 560bc3d5698SJohn Baldwin movl %eax,56(%esi) 561bc3d5698SJohn Baldwin movl %edx,60(%esi) 562bc3d5698SJohn Baldwin 563bc3d5698SJohn Baldwin addl $32,%edi 564bc3d5698SJohn Baldwin addl $64,%esi 565bc3d5698SJohn Baldwin subl $8,%ebx 566bc3d5698SJohn Baldwin jnz .L021sw_loop 567bc3d5698SJohn Baldwin.L020sw_finish: 568bc3d5698SJohn Baldwin movl 28(%esp),%ebx 569bc3d5698SJohn Baldwin andl $7,%ebx 570bc3d5698SJohn Baldwin jz .L022sw_end 571bc3d5698SJohn Baldwin 572bc3d5698SJohn Baldwin movl (%edi),%eax 573bc3d5698SJohn Baldwin mull %eax 574bc3d5698SJohn Baldwin movl %eax,(%esi) 575bc3d5698SJohn Baldwin decl %ebx 576bc3d5698SJohn Baldwin movl %edx,4(%esi) 577bc3d5698SJohn Baldwin jz .L022sw_end 578bc3d5698SJohn Baldwin 579bc3d5698SJohn Baldwin movl 4(%edi),%eax 580bc3d5698SJohn Baldwin mull %eax 581bc3d5698SJohn Baldwin movl %eax,8(%esi) 582bc3d5698SJohn Baldwin decl %ebx 583bc3d5698SJohn Baldwin movl %edx,12(%esi) 584bc3d5698SJohn Baldwin jz .L022sw_end 585bc3d5698SJohn Baldwin 586bc3d5698SJohn Baldwin movl 8(%edi),%eax 587bc3d5698SJohn Baldwin mull %eax 588bc3d5698SJohn Baldwin movl %eax,16(%esi) 589bc3d5698SJohn Baldwin decl %ebx 590bc3d5698SJohn Baldwin movl %edx,20(%esi) 591bc3d5698SJohn Baldwin jz .L022sw_end 592bc3d5698SJohn Baldwin 593bc3d5698SJohn Baldwin movl 12(%edi),%eax 594bc3d5698SJohn Baldwin mull %eax 595bc3d5698SJohn Baldwin movl %eax,24(%esi) 596bc3d5698SJohn Baldwin decl %ebx 597bc3d5698SJohn Baldwin movl %edx,28(%esi) 598bc3d5698SJohn Baldwin jz .L022sw_end 599bc3d5698SJohn Baldwin 600bc3d5698SJohn Baldwin movl 16(%edi),%eax 601bc3d5698SJohn Baldwin mull %eax 602bc3d5698SJohn Baldwin movl %eax,32(%esi) 603bc3d5698SJohn Baldwin decl %ebx 604bc3d5698SJohn Baldwin movl %edx,36(%esi) 605bc3d5698SJohn Baldwin jz .L022sw_end 606bc3d5698SJohn Baldwin 607bc3d5698SJohn Baldwin movl 20(%edi),%eax 608bc3d5698SJohn Baldwin mull %eax 609bc3d5698SJohn Baldwin movl %eax,40(%esi) 610bc3d5698SJohn Baldwin decl %ebx 611bc3d5698SJohn Baldwin movl %edx,44(%esi) 612bc3d5698SJohn Baldwin jz .L022sw_end 613bc3d5698SJohn Baldwin 614bc3d5698SJohn Baldwin movl 24(%edi),%eax 615bc3d5698SJohn Baldwin mull %eax 616bc3d5698SJohn Baldwin movl %eax,48(%esi) 617bc3d5698SJohn Baldwin movl %edx,52(%esi) 618bc3d5698SJohn Baldwin.L022sw_end: 619bc3d5698SJohn Baldwin popl %edi 620bc3d5698SJohn Baldwin popl %esi 621bc3d5698SJohn Baldwin popl %ebx 622bc3d5698SJohn Baldwin popl %ebp 623bc3d5698SJohn Baldwin ret 624bc3d5698SJohn Baldwin.size bn_sqr_words,.-.L_bn_sqr_words_begin 625bc3d5698SJohn Baldwin.globl bn_div_words 626bc3d5698SJohn Baldwin.type bn_div_words,@function 627bc3d5698SJohn Baldwin.align 16 628bc3d5698SJohn Baldwinbn_div_words: 629bc3d5698SJohn Baldwin.L_bn_div_words_begin: 630*c0855eaaSJohn Baldwin #ifdef __CET__ 631*c0855eaaSJohn Baldwin 632*c0855eaaSJohn Baldwin.byte 243,15,30,251 633*c0855eaaSJohn Baldwin #endif 634*c0855eaaSJohn Baldwin 635bc3d5698SJohn Baldwin movl 4(%esp),%edx 636bc3d5698SJohn Baldwin movl 8(%esp),%eax 637bc3d5698SJohn Baldwin movl 12(%esp),%ecx 638bc3d5698SJohn Baldwin divl %ecx 639bc3d5698SJohn Baldwin ret 640bc3d5698SJohn Baldwin.size bn_div_words,.-.L_bn_div_words_begin 641bc3d5698SJohn Baldwin.globl bn_add_words 642bc3d5698SJohn Baldwin.type bn_add_words,@function 643bc3d5698SJohn Baldwin.align 16 644bc3d5698SJohn Baldwinbn_add_words: 645bc3d5698SJohn Baldwin.L_bn_add_words_begin: 646*c0855eaaSJohn Baldwin #ifdef __CET__ 647*c0855eaaSJohn Baldwin 648*c0855eaaSJohn Baldwin.byte 243,15,30,251 649*c0855eaaSJohn Baldwin #endif 650*c0855eaaSJohn Baldwin 651bc3d5698SJohn Baldwin pushl %ebp 652bc3d5698SJohn Baldwin pushl %ebx 653bc3d5698SJohn Baldwin pushl %esi 654bc3d5698SJohn Baldwin pushl %edi 655bc3d5698SJohn Baldwin 656bc3d5698SJohn Baldwin movl 20(%esp),%ebx 657bc3d5698SJohn Baldwin movl 24(%esp),%esi 658bc3d5698SJohn Baldwin movl 28(%esp),%edi 659bc3d5698SJohn Baldwin movl 32(%esp),%ebp 660bc3d5698SJohn Baldwin xorl %eax,%eax 661bc3d5698SJohn Baldwin andl $4294967288,%ebp 662bc3d5698SJohn Baldwin jz .L023aw_finish 663bc3d5698SJohn Baldwin.L024aw_loop: 664bc3d5698SJohn Baldwin 665bc3d5698SJohn Baldwin movl (%esi),%ecx 666bc3d5698SJohn Baldwin movl (%edi),%edx 667bc3d5698SJohn Baldwin addl %eax,%ecx 668bc3d5698SJohn Baldwin movl $0,%eax 669bc3d5698SJohn Baldwin adcl %eax,%eax 670bc3d5698SJohn Baldwin addl %edx,%ecx 671bc3d5698SJohn Baldwin adcl $0,%eax 672bc3d5698SJohn Baldwin movl %ecx,(%ebx) 673bc3d5698SJohn Baldwin 674bc3d5698SJohn Baldwin movl 4(%esi),%ecx 675bc3d5698SJohn Baldwin movl 4(%edi),%edx 676bc3d5698SJohn Baldwin addl %eax,%ecx 677bc3d5698SJohn Baldwin movl $0,%eax 678bc3d5698SJohn Baldwin adcl %eax,%eax 679bc3d5698SJohn Baldwin addl %edx,%ecx 680bc3d5698SJohn Baldwin adcl $0,%eax 681bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 682bc3d5698SJohn Baldwin 683bc3d5698SJohn Baldwin movl 8(%esi),%ecx 684bc3d5698SJohn Baldwin movl 8(%edi),%edx 685bc3d5698SJohn Baldwin addl %eax,%ecx 686bc3d5698SJohn Baldwin movl $0,%eax 687bc3d5698SJohn Baldwin adcl %eax,%eax 688bc3d5698SJohn Baldwin addl %edx,%ecx 689bc3d5698SJohn Baldwin adcl $0,%eax 690bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 691bc3d5698SJohn Baldwin 692bc3d5698SJohn Baldwin movl 12(%esi),%ecx 693bc3d5698SJohn Baldwin movl 12(%edi),%edx 694bc3d5698SJohn Baldwin addl %eax,%ecx 695bc3d5698SJohn Baldwin movl $0,%eax 696bc3d5698SJohn Baldwin adcl %eax,%eax 697bc3d5698SJohn Baldwin addl %edx,%ecx 698bc3d5698SJohn Baldwin adcl $0,%eax 699bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 700bc3d5698SJohn Baldwin 701bc3d5698SJohn Baldwin movl 16(%esi),%ecx 702bc3d5698SJohn Baldwin movl 16(%edi),%edx 703bc3d5698SJohn Baldwin addl %eax,%ecx 704bc3d5698SJohn Baldwin movl $0,%eax 705bc3d5698SJohn Baldwin adcl %eax,%eax 706bc3d5698SJohn Baldwin addl %edx,%ecx 707bc3d5698SJohn Baldwin adcl $0,%eax 708bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 709bc3d5698SJohn Baldwin 710bc3d5698SJohn Baldwin movl 20(%esi),%ecx 711bc3d5698SJohn Baldwin movl 20(%edi),%edx 712bc3d5698SJohn Baldwin addl %eax,%ecx 713bc3d5698SJohn Baldwin movl $0,%eax 714bc3d5698SJohn Baldwin adcl %eax,%eax 715bc3d5698SJohn Baldwin addl %edx,%ecx 716bc3d5698SJohn Baldwin adcl $0,%eax 717bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 718bc3d5698SJohn Baldwin 719bc3d5698SJohn Baldwin movl 24(%esi),%ecx 720bc3d5698SJohn Baldwin movl 24(%edi),%edx 721bc3d5698SJohn Baldwin addl %eax,%ecx 722bc3d5698SJohn Baldwin movl $0,%eax 723bc3d5698SJohn Baldwin adcl %eax,%eax 724bc3d5698SJohn Baldwin addl %edx,%ecx 725bc3d5698SJohn Baldwin adcl $0,%eax 726bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 727bc3d5698SJohn Baldwin 728bc3d5698SJohn Baldwin movl 28(%esi),%ecx 729bc3d5698SJohn Baldwin movl 28(%edi),%edx 730bc3d5698SJohn Baldwin addl %eax,%ecx 731bc3d5698SJohn Baldwin movl $0,%eax 732bc3d5698SJohn Baldwin adcl %eax,%eax 733bc3d5698SJohn Baldwin addl %edx,%ecx 734bc3d5698SJohn Baldwin adcl $0,%eax 735bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 736bc3d5698SJohn Baldwin 737bc3d5698SJohn Baldwin addl $32,%esi 738bc3d5698SJohn Baldwin addl $32,%edi 739bc3d5698SJohn Baldwin addl $32,%ebx 740bc3d5698SJohn Baldwin subl $8,%ebp 741bc3d5698SJohn Baldwin jnz .L024aw_loop 742bc3d5698SJohn Baldwin.L023aw_finish: 743bc3d5698SJohn Baldwin movl 32(%esp),%ebp 744bc3d5698SJohn Baldwin andl $7,%ebp 745bc3d5698SJohn Baldwin jz .L025aw_end 746bc3d5698SJohn Baldwin 747bc3d5698SJohn Baldwin movl (%esi),%ecx 748bc3d5698SJohn Baldwin movl (%edi),%edx 749bc3d5698SJohn Baldwin addl %eax,%ecx 750bc3d5698SJohn Baldwin movl $0,%eax 751bc3d5698SJohn Baldwin adcl %eax,%eax 752bc3d5698SJohn Baldwin addl %edx,%ecx 753bc3d5698SJohn Baldwin adcl $0,%eax 754bc3d5698SJohn Baldwin decl %ebp 755bc3d5698SJohn Baldwin movl %ecx,(%ebx) 756bc3d5698SJohn Baldwin jz .L025aw_end 757bc3d5698SJohn Baldwin 758bc3d5698SJohn Baldwin movl 4(%esi),%ecx 759bc3d5698SJohn Baldwin movl 4(%edi),%edx 760bc3d5698SJohn Baldwin addl %eax,%ecx 761bc3d5698SJohn Baldwin movl $0,%eax 762bc3d5698SJohn Baldwin adcl %eax,%eax 763bc3d5698SJohn Baldwin addl %edx,%ecx 764bc3d5698SJohn Baldwin adcl $0,%eax 765bc3d5698SJohn Baldwin decl %ebp 766bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 767bc3d5698SJohn Baldwin jz .L025aw_end 768bc3d5698SJohn Baldwin 769bc3d5698SJohn Baldwin movl 8(%esi),%ecx 770bc3d5698SJohn Baldwin movl 8(%edi),%edx 771bc3d5698SJohn Baldwin addl %eax,%ecx 772bc3d5698SJohn Baldwin movl $0,%eax 773bc3d5698SJohn Baldwin adcl %eax,%eax 774bc3d5698SJohn Baldwin addl %edx,%ecx 775bc3d5698SJohn Baldwin adcl $0,%eax 776bc3d5698SJohn Baldwin decl %ebp 777bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 778bc3d5698SJohn Baldwin jz .L025aw_end 779bc3d5698SJohn Baldwin 780bc3d5698SJohn Baldwin movl 12(%esi),%ecx 781bc3d5698SJohn Baldwin movl 12(%edi),%edx 782bc3d5698SJohn Baldwin addl %eax,%ecx 783bc3d5698SJohn Baldwin movl $0,%eax 784bc3d5698SJohn Baldwin adcl %eax,%eax 785bc3d5698SJohn Baldwin addl %edx,%ecx 786bc3d5698SJohn Baldwin adcl $0,%eax 787bc3d5698SJohn Baldwin decl %ebp 788bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 789bc3d5698SJohn Baldwin jz .L025aw_end 790bc3d5698SJohn Baldwin 791bc3d5698SJohn Baldwin movl 16(%esi),%ecx 792bc3d5698SJohn Baldwin movl 16(%edi),%edx 793bc3d5698SJohn Baldwin addl %eax,%ecx 794bc3d5698SJohn Baldwin movl $0,%eax 795bc3d5698SJohn Baldwin adcl %eax,%eax 796bc3d5698SJohn Baldwin addl %edx,%ecx 797bc3d5698SJohn Baldwin adcl $0,%eax 798bc3d5698SJohn Baldwin decl %ebp 799bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 800bc3d5698SJohn Baldwin jz .L025aw_end 801bc3d5698SJohn Baldwin 802bc3d5698SJohn Baldwin movl 20(%esi),%ecx 803bc3d5698SJohn Baldwin movl 20(%edi),%edx 804bc3d5698SJohn Baldwin addl %eax,%ecx 805bc3d5698SJohn Baldwin movl $0,%eax 806bc3d5698SJohn Baldwin adcl %eax,%eax 807bc3d5698SJohn Baldwin addl %edx,%ecx 808bc3d5698SJohn Baldwin adcl $0,%eax 809bc3d5698SJohn Baldwin decl %ebp 810bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 811bc3d5698SJohn Baldwin jz .L025aw_end 812bc3d5698SJohn Baldwin 813bc3d5698SJohn Baldwin movl 24(%esi),%ecx 814bc3d5698SJohn Baldwin movl 24(%edi),%edx 815bc3d5698SJohn Baldwin addl %eax,%ecx 816bc3d5698SJohn Baldwin movl $0,%eax 817bc3d5698SJohn Baldwin adcl %eax,%eax 818bc3d5698SJohn Baldwin addl %edx,%ecx 819bc3d5698SJohn Baldwin adcl $0,%eax 820bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 821bc3d5698SJohn Baldwin.L025aw_end: 822bc3d5698SJohn Baldwin popl %edi 823bc3d5698SJohn Baldwin popl %esi 824bc3d5698SJohn Baldwin popl %ebx 825bc3d5698SJohn Baldwin popl %ebp 826bc3d5698SJohn Baldwin ret 827bc3d5698SJohn Baldwin.size bn_add_words,.-.L_bn_add_words_begin 828bc3d5698SJohn Baldwin.globl bn_sub_words 829bc3d5698SJohn Baldwin.type bn_sub_words,@function 830bc3d5698SJohn Baldwin.align 16 831bc3d5698SJohn Baldwinbn_sub_words: 832bc3d5698SJohn Baldwin.L_bn_sub_words_begin: 833*c0855eaaSJohn Baldwin #ifdef __CET__ 834*c0855eaaSJohn Baldwin 835*c0855eaaSJohn Baldwin.byte 243,15,30,251 836*c0855eaaSJohn Baldwin #endif 837*c0855eaaSJohn Baldwin 838bc3d5698SJohn Baldwin pushl %ebp 839bc3d5698SJohn Baldwin pushl %ebx 840bc3d5698SJohn Baldwin pushl %esi 841bc3d5698SJohn Baldwin pushl %edi 842bc3d5698SJohn Baldwin 843bc3d5698SJohn Baldwin movl 20(%esp),%ebx 844bc3d5698SJohn Baldwin movl 24(%esp),%esi 845bc3d5698SJohn Baldwin movl 28(%esp),%edi 846bc3d5698SJohn Baldwin movl 32(%esp),%ebp 847bc3d5698SJohn Baldwin xorl %eax,%eax 848bc3d5698SJohn Baldwin andl $4294967288,%ebp 849bc3d5698SJohn Baldwin jz .L026aw_finish 850bc3d5698SJohn Baldwin.L027aw_loop: 851bc3d5698SJohn Baldwin 852bc3d5698SJohn Baldwin movl (%esi),%ecx 853bc3d5698SJohn Baldwin movl (%edi),%edx 854bc3d5698SJohn Baldwin subl %eax,%ecx 855bc3d5698SJohn Baldwin movl $0,%eax 856bc3d5698SJohn Baldwin adcl %eax,%eax 857bc3d5698SJohn Baldwin subl %edx,%ecx 858bc3d5698SJohn Baldwin adcl $0,%eax 859bc3d5698SJohn Baldwin movl %ecx,(%ebx) 860bc3d5698SJohn Baldwin 861bc3d5698SJohn Baldwin movl 4(%esi),%ecx 862bc3d5698SJohn Baldwin movl 4(%edi),%edx 863bc3d5698SJohn Baldwin subl %eax,%ecx 864bc3d5698SJohn Baldwin movl $0,%eax 865bc3d5698SJohn Baldwin adcl %eax,%eax 866bc3d5698SJohn Baldwin subl %edx,%ecx 867bc3d5698SJohn Baldwin adcl $0,%eax 868bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 869bc3d5698SJohn Baldwin 870bc3d5698SJohn Baldwin movl 8(%esi),%ecx 871bc3d5698SJohn Baldwin movl 8(%edi),%edx 872bc3d5698SJohn Baldwin subl %eax,%ecx 873bc3d5698SJohn Baldwin movl $0,%eax 874bc3d5698SJohn Baldwin adcl %eax,%eax 875bc3d5698SJohn Baldwin subl %edx,%ecx 876bc3d5698SJohn Baldwin adcl $0,%eax 877bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 878bc3d5698SJohn Baldwin 879bc3d5698SJohn Baldwin movl 12(%esi),%ecx 880bc3d5698SJohn Baldwin movl 12(%edi),%edx 881bc3d5698SJohn Baldwin subl %eax,%ecx 882bc3d5698SJohn Baldwin movl $0,%eax 883bc3d5698SJohn Baldwin adcl %eax,%eax 884bc3d5698SJohn Baldwin subl %edx,%ecx 885bc3d5698SJohn Baldwin adcl $0,%eax 886bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 887bc3d5698SJohn Baldwin 888bc3d5698SJohn Baldwin movl 16(%esi),%ecx 889bc3d5698SJohn Baldwin movl 16(%edi),%edx 890bc3d5698SJohn Baldwin subl %eax,%ecx 891bc3d5698SJohn Baldwin movl $0,%eax 892bc3d5698SJohn Baldwin adcl %eax,%eax 893bc3d5698SJohn Baldwin subl %edx,%ecx 894bc3d5698SJohn Baldwin adcl $0,%eax 895bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 896bc3d5698SJohn Baldwin 897bc3d5698SJohn Baldwin movl 20(%esi),%ecx 898bc3d5698SJohn Baldwin movl 20(%edi),%edx 899bc3d5698SJohn Baldwin subl %eax,%ecx 900bc3d5698SJohn Baldwin movl $0,%eax 901bc3d5698SJohn Baldwin adcl %eax,%eax 902bc3d5698SJohn Baldwin subl %edx,%ecx 903bc3d5698SJohn Baldwin adcl $0,%eax 904bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 905bc3d5698SJohn Baldwin 906bc3d5698SJohn Baldwin movl 24(%esi),%ecx 907bc3d5698SJohn Baldwin movl 24(%edi),%edx 908bc3d5698SJohn Baldwin subl %eax,%ecx 909bc3d5698SJohn Baldwin movl $0,%eax 910bc3d5698SJohn Baldwin adcl %eax,%eax 911bc3d5698SJohn Baldwin subl %edx,%ecx 912bc3d5698SJohn Baldwin adcl $0,%eax 913bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 914bc3d5698SJohn Baldwin 915bc3d5698SJohn Baldwin movl 28(%esi),%ecx 916bc3d5698SJohn Baldwin movl 28(%edi),%edx 917bc3d5698SJohn Baldwin subl %eax,%ecx 918bc3d5698SJohn Baldwin movl $0,%eax 919bc3d5698SJohn Baldwin adcl %eax,%eax 920bc3d5698SJohn Baldwin subl %edx,%ecx 921bc3d5698SJohn Baldwin adcl $0,%eax 922bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 923bc3d5698SJohn Baldwin 924bc3d5698SJohn Baldwin addl $32,%esi 925bc3d5698SJohn Baldwin addl $32,%edi 926bc3d5698SJohn Baldwin addl $32,%ebx 927bc3d5698SJohn Baldwin subl $8,%ebp 928bc3d5698SJohn Baldwin jnz .L027aw_loop 929bc3d5698SJohn Baldwin.L026aw_finish: 930bc3d5698SJohn Baldwin movl 32(%esp),%ebp 931bc3d5698SJohn Baldwin andl $7,%ebp 932bc3d5698SJohn Baldwin jz .L028aw_end 933bc3d5698SJohn Baldwin 934bc3d5698SJohn Baldwin movl (%esi),%ecx 935bc3d5698SJohn Baldwin movl (%edi),%edx 936bc3d5698SJohn Baldwin subl %eax,%ecx 937bc3d5698SJohn Baldwin movl $0,%eax 938bc3d5698SJohn Baldwin adcl %eax,%eax 939bc3d5698SJohn Baldwin subl %edx,%ecx 940bc3d5698SJohn Baldwin adcl $0,%eax 941bc3d5698SJohn Baldwin decl %ebp 942bc3d5698SJohn Baldwin movl %ecx,(%ebx) 943bc3d5698SJohn Baldwin jz .L028aw_end 944bc3d5698SJohn Baldwin 945bc3d5698SJohn Baldwin movl 4(%esi),%ecx 946bc3d5698SJohn Baldwin movl 4(%edi),%edx 947bc3d5698SJohn Baldwin subl %eax,%ecx 948bc3d5698SJohn Baldwin movl $0,%eax 949bc3d5698SJohn Baldwin adcl %eax,%eax 950bc3d5698SJohn Baldwin subl %edx,%ecx 951bc3d5698SJohn Baldwin adcl $0,%eax 952bc3d5698SJohn Baldwin decl %ebp 953bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 954bc3d5698SJohn Baldwin jz .L028aw_end 955bc3d5698SJohn Baldwin 956bc3d5698SJohn Baldwin movl 8(%esi),%ecx 957bc3d5698SJohn Baldwin movl 8(%edi),%edx 958bc3d5698SJohn Baldwin subl %eax,%ecx 959bc3d5698SJohn Baldwin movl $0,%eax 960bc3d5698SJohn Baldwin adcl %eax,%eax 961bc3d5698SJohn Baldwin subl %edx,%ecx 962bc3d5698SJohn Baldwin adcl $0,%eax 963bc3d5698SJohn Baldwin decl %ebp 964bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 965bc3d5698SJohn Baldwin jz .L028aw_end 966bc3d5698SJohn Baldwin 967bc3d5698SJohn Baldwin movl 12(%esi),%ecx 968bc3d5698SJohn Baldwin movl 12(%edi),%edx 969bc3d5698SJohn Baldwin subl %eax,%ecx 970bc3d5698SJohn Baldwin movl $0,%eax 971bc3d5698SJohn Baldwin adcl %eax,%eax 972bc3d5698SJohn Baldwin subl %edx,%ecx 973bc3d5698SJohn Baldwin adcl $0,%eax 974bc3d5698SJohn Baldwin decl %ebp 975bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 976bc3d5698SJohn Baldwin jz .L028aw_end 977bc3d5698SJohn Baldwin 978bc3d5698SJohn Baldwin movl 16(%esi),%ecx 979bc3d5698SJohn Baldwin movl 16(%edi),%edx 980bc3d5698SJohn Baldwin subl %eax,%ecx 981bc3d5698SJohn Baldwin movl $0,%eax 982bc3d5698SJohn Baldwin adcl %eax,%eax 983bc3d5698SJohn Baldwin subl %edx,%ecx 984bc3d5698SJohn Baldwin adcl $0,%eax 985bc3d5698SJohn Baldwin decl %ebp 986bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 987bc3d5698SJohn Baldwin jz .L028aw_end 988bc3d5698SJohn Baldwin 989bc3d5698SJohn Baldwin movl 20(%esi),%ecx 990bc3d5698SJohn Baldwin movl 20(%edi),%edx 991bc3d5698SJohn Baldwin subl %eax,%ecx 992bc3d5698SJohn Baldwin movl $0,%eax 993bc3d5698SJohn Baldwin adcl %eax,%eax 994bc3d5698SJohn Baldwin subl %edx,%ecx 995bc3d5698SJohn Baldwin adcl $0,%eax 996bc3d5698SJohn Baldwin decl %ebp 997bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 998bc3d5698SJohn Baldwin jz .L028aw_end 999bc3d5698SJohn Baldwin 1000bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1001bc3d5698SJohn Baldwin movl 24(%edi),%edx 1002bc3d5698SJohn Baldwin subl %eax,%ecx 1003bc3d5698SJohn Baldwin movl $0,%eax 1004bc3d5698SJohn Baldwin adcl %eax,%eax 1005bc3d5698SJohn Baldwin subl %edx,%ecx 1006bc3d5698SJohn Baldwin adcl $0,%eax 1007bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1008bc3d5698SJohn Baldwin.L028aw_end: 1009bc3d5698SJohn Baldwin popl %edi 1010bc3d5698SJohn Baldwin popl %esi 1011bc3d5698SJohn Baldwin popl %ebx 1012bc3d5698SJohn Baldwin popl %ebp 1013bc3d5698SJohn Baldwin ret 1014bc3d5698SJohn Baldwin.size bn_sub_words,.-.L_bn_sub_words_begin 1015bc3d5698SJohn Baldwin.globl bn_sub_part_words 1016bc3d5698SJohn Baldwin.type bn_sub_part_words,@function 1017bc3d5698SJohn Baldwin.align 16 1018bc3d5698SJohn Baldwinbn_sub_part_words: 1019bc3d5698SJohn Baldwin.L_bn_sub_part_words_begin: 1020*c0855eaaSJohn Baldwin #ifdef __CET__ 1021*c0855eaaSJohn Baldwin 1022*c0855eaaSJohn Baldwin.byte 243,15,30,251 1023*c0855eaaSJohn Baldwin #endif 1024*c0855eaaSJohn Baldwin 1025bc3d5698SJohn Baldwin pushl %ebp 1026bc3d5698SJohn Baldwin pushl %ebx 1027bc3d5698SJohn Baldwin pushl %esi 1028bc3d5698SJohn Baldwin pushl %edi 1029bc3d5698SJohn Baldwin 1030bc3d5698SJohn Baldwin movl 20(%esp),%ebx 1031bc3d5698SJohn Baldwin movl 24(%esp),%esi 1032bc3d5698SJohn Baldwin movl 28(%esp),%edi 1033bc3d5698SJohn Baldwin movl 32(%esp),%ebp 1034bc3d5698SJohn Baldwin xorl %eax,%eax 1035bc3d5698SJohn Baldwin andl $4294967288,%ebp 1036bc3d5698SJohn Baldwin jz .L029aw_finish 1037bc3d5698SJohn Baldwin.L030aw_loop: 1038bc3d5698SJohn Baldwin 1039bc3d5698SJohn Baldwin movl (%esi),%ecx 1040bc3d5698SJohn Baldwin movl (%edi),%edx 1041bc3d5698SJohn Baldwin subl %eax,%ecx 1042bc3d5698SJohn Baldwin movl $0,%eax 1043bc3d5698SJohn Baldwin adcl %eax,%eax 1044bc3d5698SJohn Baldwin subl %edx,%ecx 1045bc3d5698SJohn Baldwin adcl $0,%eax 1046bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1047bc3d5698SJohn Baldwin 1048bc3d5698SJohn Baldwin movl 4(%esi),%ecx 1049bc3d5698SJohn Baldwin movl 4(%edi),%edx 1050bc3d5698SJohn Baldwin subl %eax,%ecx 1051bc3d5698SJohn Baldwin movl $0,%eax 1052bc3d5698SJohn Baldwin adcl %eax,%eax 1053bc3d5698SJohn Baldwin subl %edx,%ecx 1054bc3d5698SJohn Baldwin adcl $0,%eax 1055bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1056bc3d5698SJohn Baldwin 1057bc3d5698SJohn Baldwin movl 8(%esi),%ecx 1058bc3d5698SJohn Baldwin movl 8(%edi),%edx 1059bc3d5698SJohn Baldwin subl %eax,%ecx 1060bc3d5698SJohn Baldwin movl $0,%eax 1061bc3d5698SJohn Baldwin adcl %eax,%eax 1062bc3d5698SJohn Baldwin subl %edx,%ecx 1063bc3d5698SJohn Baldwin adcl $0,%eax 1064bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1065bc3d5698SJohn Baldwin 1066bc3d5698SJohn Baldwin movl 12(%esi),%ecx 1067bc3d5698SJohn Baldwin movl 12(%edi),%edx 1068bc3d5698SJohn Baldwin subl %eax,%ecx 1069bc3d5698SJohn Baldwin movl $0,%eax 1070bc3d5698SJohn Baldwin adcl %eax,%eax 1071bc3d5698SJohn Baldwin subl %edx,%ecx 1072bc3d5698SJohn Baldwin adcl $0,%eax 1073bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1074bc3d5698SJohn Baldwin 1075bc3d5698SJohn Baldwin movl 16(%esi),%ecx 1076bc3d5698SJohn Baldwin movl 16(%edi),%edx 1077bc3d5698SJohn Baldwin subl %eax,%ecx 1078bc3d5698SJohn Baldwin movl $0,%eax 1079bc3d5698SJohn Baldwin adcl %eax,%eax 1080bc3d5698SJohn Baldwin subl %edx,%ecx 1081bc3d5698SJohn Baldwin adcl $0,%eax 1082bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1083bc3d5698SJohn Baldwin 1084bc3d5698SJohn Baldwin movl 20(%esi),%ecx 1085bc3d5698SJohn Baldwin movl 20(%edi),%edx 1086bc3d5698SJohn Baldwin subl %eax,%ecx 1087bc3d5698SJohn Baldwin movl $0,%eax 1088bc3d5698SJohn Baldwin adcl %eax,%eax 1089bc3d5698SJohn Baldwin subl %edx,%ecx 1090bc3d5698SJohn Baldwin adcl $0,%eax 1091bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1092bc3d5698SJohn Baldwin 1093bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1094bc3d5698SJohn Baldwin movl 24(%edi),%edx 1095bc3d5698SJohn Baldwin subl %eax,%ecx 1096bc3d5698SJohn Baldwin movl $0,%eax 1097bc3d5698SJohn Baldwin adcl %eax,%eax 1098bc3d5698SJohn Baldwin subl %edx,%ecx 1099bc3d5698SJohn Baldwin adcl $0,%eax 1100bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1101bc3d5698SJohn Baldwin 1102bc3d5698SJohn Baldwin movl 28(%esi),%ecx 1103bc3d5698SJohn Baldwin movl 28(%edi),%edx 1104bc3d5698SJohn Baldwin subl %eax,%ecx 1105bc3d5698SJohn Baldwin movl $0,%eax 1106bc3d5698SJohn Baldwin adcl %eax,%eax 1107bc3d5698SJohn Baldwin subl %edx,%ecx 1108bc3d5698SJohn Baldwin adcl $0,%eax 1109bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 1110bc3d5698SJohn Baldwin 1111bc3d5698SJohn Baldwin addl $32,%esi 1112bc3d5698SJohn Baldwin addl $32,%edi 1113bc3d5698SJohn Baldwin addl $32,%ebx 1114bc3d5698SJohn Baldwin subl $8,%ebp 1115bc3d5698SJohn Baldwin jnz .L030aw_loop 1116bc3d5698SJohn Baldwin.L029aw_finish: 1117bc3d5698SJohn Baldwin movl 32(%esp),%ebp 1118bc3d5698SJohn Baldwin andl $7,%ebp 1119bc3d5698SJohn Baldwin jz .L031aw_end 1120bc3d5698SJohn Baldwin 1121bc3d5698SJohn Baldwin movl (%esi),%ecx 1122bc3d5698SJohn Baldwin movl (%edi),%edx 1123bc3d5698SJohn Baldwin subl %eax,%ecx 1124bc3d5698SJohn Baldwin movl $0,%eax 1125bc3d5698SJohn Baldwin adcl %eax,%eax 1126bc3d5698SJohn Baldwin subl %edx,%ecx 1127bc3d5698SJohn Baldwin adcl $0,%eax 1128bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1129bc3d5698SJohn Baldwin addl $4,%esi 1130bc3d5698SJohn Baldwin addl $4,%edi 1131bc3d5698SJohn Baldwin addl $4,%ebx 1132bc3d5698SJohn Baldwin decl %ebp 1133bc3d5698SJohn Baldwin jz .L031aw_end 1134bc3d5698SJohn Baldwin 1135bc3d5698SJohn Baldwin movl (%esi),%ecx 1136bc3d5698SJohn Baldwin movl (%edi),%edx 1137bc3d5698SJohn Baldwin subl %eax,%ecx 1138bc3d5698SJohn Baldwin movl $0,%eax 1139bc3d5698SJohn Baldwin adcl %eax,%eax 1140bc3d5698SJohn Baldwin subl %edx,%ecx 1141bc3d5698SJohn Baldwin adcl $0,%eax 1142bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1143bc3d5698SJohn Baldwin addl $4,%esi 1144bc3d5698SJohn Baldwin addl $4,%edi 1145bc3d5698SJohn Baldwin addl $4,%ebx 1146bc3d5698SJohn Baldwin decl %ebp 1147bc3d5698SJohn Baldwin jz .L031aw_end 1148bc3d5698SJohn Baldwin 1149bc3d5698SJohn Baldwin movl (%esi),%ecx 1150bc3d5698SJohn Baldwin movl (%edi),%edx 1151bc3d5698SJohn Baldwin subl %eax,%ecx 1152bc3d5698SJohn Baldwin movl $0,%eax 1153bc3d5698SJohn Baldwin adcl %eax,%eax 1154bc3d5698SJohn Baldwin subl %edx,%ecx 1155bc3d5698SJohn Baldwin adcl $0,%eax 1156bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1157bc3d5698SJohn Baldwin addl $4,%esi 1158bc3d5698SJohn Baldwin addl $4,%edi 1159bc3d5698SJohn Baldwin addl $4,%ebx 1160bc3d5698SJohn Baldwin decl %ebp 1161bc3d5698SJohn Baldwin jz .L031aw_end 1162bc3d5698SJohn Baldwin 1163bc3d5698SJohn Baldwin movl (%esi),%ecx 1164bc3d5698SJohn Baldwin movl (%edi),%edx 1165bc3d5698SJohn Baldwin subl %eax,%ecx 1166bc3d5698SJohn Baldwin movl $0,%eax 1167bc3d5698SJohn Baldwin adcl %eax,%eax 1168bc3d5698SJohn Baldwin subl %edx,%ecx 1169bc3d5698SJohn Baldwin adcl $0,%eax 1170bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1171bc3d5698SJohn Baldwin addl $4,%esi 1172bc3d5698SJohn Baldwin addl $4,%edi 1173bc3d5698SJohn Baldwin addl $4,%ebx 1174bc3d5698SJohn Baldwin decl %ebp 1175bc3d5698SJohn Baldwin jz .L031aw_end 1176bc3d5698SJohn Baldwin 1177bc3d5698SJohn Baldwin movl (%esi),%ecx 1178bc3d5698SJohn Baldwin movl (%edi),%edx 1179bc3d5698SJohn Baldwin subl %eax,%ecx 1180bc3d5698SJohn Baldwin movl $0,%eax 1181bc3d5698SJohn Baldwin adcl %eax,%eax 1182bc3d5698SJohn Baldwin subl %edx,%ecx 1183bc3d5698SJohn Baldwin adcl $0,%eax 1184bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1185bc3d5698SJohn Baldwin addl $4,%esi 1186bc3d5698SJohn Baldwin addl $4,%edi 1187bc3d5698SJohn Baldwin addl $4,%ebx 1188bc3d5698SJohn Baldwin decl %ebp 1189bc3d5698SJohn Baldwin jz .L031aw_end 1190bc3d5698SJohn Baldwin 1191bc3d5698SJohn Baldwin movl (%esi),%ecx 1192bc3d5698SJohn Baldwin movl (%edi),%edx 1193bc3d5698SJohn Baldwin subl %eax,%ecx 1194bc3d5698SJohn Baldwin movl $0,%eax 1195bc3d5698SJohn Baldwin adcl %eax,%eax 1196bc3d5698SJohn Baldwin subl %edx,%ecx 1197bc3d5698SJohn Baldwin adcl $0,%eax 1198bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1199bc3d5698SJohn Baldwin addl $4,%esi 1200bc3d5698SJohn Baldwin addl $4,%edi 1201bc3d5698SJohn Baldwin addl $4,%ebx 1202bc3d5698SJohn Baldwin decl %ebp 1203bc3d5698SJohn Baldwin jz .L031aw_end 1204bc3d5698SJohn Baldwin 1205bc3d5698SJohn Baldwin movl (%esi),%ecx 1206bc3d5698SJohn Baldwin movl (%edi),%edx 1207bc3d5698SJohn Baldwin subl %eax,%ecx 1208bc3d5698SJohn Baldwin movl $0,%eax 1209bc3d5698SJohn Baldwin adcl %eax,%eax 1210bc3d5698SJohn Baldwin subl %edx,%ecx 1211bc3d5698SJohn Baldwin adcl $0,%eax 1212bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1213bc3d5698SJohn Baldwin addl $4,%esi 1214bc3d5698SJohn Baldwin addl $4,%edi 1215bc3d5698SJohn Baldwin addl $4,%ebx 1216bc3d5698SJohn Baldwin.L031aw_end: 1217bc3d5698SJohn Baldwin cmpl $0,36(%esp) 1218bc3d5698SJohn Baldwin je .L032pw_end 1219bc3d5698SJohn Baldwin movl 36(%esp),%ebp 1220bc3d5698SJohn Baldwin cmpl $0,%ebp 1221bc3d5698SJohn Baldwin je .L032pw_end 1222bc3d5698SJohn Baldwin jge .L033pw_pos 1223bc3d5698SJohn Baldwin 1224bc3d5698SJohn Baldwin movl $0,%edx 1225bc3d5698SJohn Baldwin subl %ebp,%edx 1226bc3d5698SJohn Baldwin movl %edx,%ebp 1227bc3d5698SJohn Baldwin andl $4294967288,%ebp 1228bc3d5698SJohn Baldwin jz .L034pw_neg_finish 1229bc3d5698SJohn Baldwin.L035pw_neg_loop: 1230bc3d5698SJohn Baldwin 1231bc3d5698SJohn Baldwin movl $0,%ecx 1232bc3d5698SJohn Baldwin movl (%edi),%edx 1233bc3d5698SJohn Baldwin subl %eax,%ecx 1234bc3d5698SJohn Baldwin movl $0,%eax 1235bc3d5698SJohn Baldwin adcl %eax,%eax 1236bc3d5698SJohn Baldwin subl %edx,%ecx 1237bc3d5698SJohn Baldwin adcl $0,%eax 1238bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1239bc3d5698SJohn Baldwin 1240bc3d5698SJohn Baldwin movl $0,%ecx 1241bc3d5698SJohn Baldwin movl 4(%edi),%edx 1242bc3d5698SJohn Baldwin subl %eax,%ecx 1243bc3d5698SJohn Baldwin movl $0,%eax 1244bc3d5698SJohn Baldwin adcl %eax,%eax 1245bc3d5698SJohn Baldwin subl %edx,%ecx 1246bc3d5698SJohn Baldwin adcl $0,%eax 1247bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1248bc3d5698SJohn Baldwin 1249bc3d5698SJohn Baldwin movl $0,%ecx 1250bc3d5698SJohn Baldwin movl 8(%edi),%edx 1251bc3d5698SJohn Baldwin subl %eax,%ecx 1252bc3d5698SJohn Baldwin movl $0,%eax 1253bc3d5698SJohn Baldwin adcl %eax,%eax 1254bc3d5698SJohn Baldwin subl %edx,%ecx 1255bc3d5698SJohn Baldwin adcl $0,%eax 1256bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1257bc3d5698SJohn Baldwin 1258bc3d5698SJohn Baldwin movl $0,%ecx 1259bc3d5698SJohn Baldwin movl 12(%edi),%edx 1260bc3d5698SJohn Baldwin subl %eax,%ecx 1261bc3d5698SJohn Baldwin movl $0,%eax 1262bc3d5698SJohn Baldwin adcl %eax,%eax 1263bc3d5698SJohn Baldwin subl %edx,%ecx 1264bc3d5698SJohn Baldwin adcl $0,%eax 1265bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1266bc3d5698SJohn Baldwin 1267bc3d5698SJohn Baldwin movl $0,%ecx 1268bc3d5698SJohn Baldwin movl 16(%edi),%edx 1269bc3d5698SJohn Baldwin subl %eax,%ecx 1270bc3d5698SJohn Baldwin movl $0,%eax 1271bc3d5698SJohn Baldwin adcl %eax,%eax 1272bc3d5698SJohn Baldwin subl %edx,%ecx 1273bc3d5698SJohn Baldwin adcl $0,%eax 1274bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1275bc3d5698SJohn Baldwin 1276bc3d5698SJohn Baldwin movl $0,%ecx 1277bc3d5698SJohn Baldwin movl 20(%edi),%edx 1278bc3d5698SJohn Baldwin subl %eax,%ecx 1279bc3d5698SJohn Baldwin movl $0,%eax 1280bc3d5698SJohn Baldwin adcl %eax,%eax 1281bc3d5698SJohn Baldwin subl %edx,%ecx 1282bc3d5698SJohn Baldwin adcl $0,%eax 1283bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1284bc3d5698SJohn Baldwin 1285bc3d5698SJohn Baldwin movl $0,%ecx 1286bc3d5698SJohn Baldwin movl 24(%edi),%edx 1287bc3d5698SJohn Baldwin subl %eax,%ecx 1288bc3d5698SJohn Baldwin movl $0,%eax 1289bc3d5698SJohn Baldwin adcl %eax,%eax 1290bc3d5698SJohn Baldwin subl %edx,%ecx 1291bc3d5698SJohn Baldwin adcl $0,%eax 1292bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1293bc3d5698SJohn Baldwin 1294bc3d5698SJohn Baldwin movl $0,%ecx 1295bc3d5698SJohn Baldwin movl 28(%edi),%edx 1296bc3d5698SJohn Baldwin subl %eax,%ecx 1297bc3d5698SJohn Baldwin movl $0,%eax 1298bc3d5698SJohn Baldwin adcl %eax,%eax 1299bc3d5698SJohn Baldwin subl %edx,%ecx 1300bc3d5698SJohn Baldwin adcl $0,%eax 1301bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 1302bc3d5698SJohn Baldwin 1303bc3d5698SJohn Baldwin addl $32,%edi 1304bc3d5698SJohn Baldwin addl $32,%ebx 1305bc3d5698SJohn Baldwin subl $8,%ebp 1306bc3d5698SJohn Baldwin jnz .L035pw_neg_loop 1307bc3d5698SJohn Baldwin.L034pw_neg_finish: 1308bc3d5698SJohn Baldwin movl 36(%esp),%edx 1309bc3d5698SJohn Baldwin movl $0,%ebp 1310bc3d5698SJohn Baldwin subl %edx,%ebp 1311bc3d5698SJohn Baldwin andl $7,%ebp 1312bc3d5698SJohn Baldwin jz .L032pw_end 1313bc3d5698SJohn Baldwin 1314bc3d5698SJohn Baldwin movl $0,%ecx 1315bc3d5698SJohn Baldwin movl (%edi),%edx 1316bc3d5698SJohn Baldwin subl %eax,%ecx 1317bc3d5698SJohn Baldwin movl $0,%eax 1318bc3d5698SJohn Baldwin adcl %eax,%eax 1319bc3d5698SJohn Baldwin subl %edx,%ecx 1320bc3d5698SJohn Baldwin adcl $0,%eax 1321bc3d5698SJohn Baldwin decl %ebp 1322bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1323bc3d5698SJohn Baldwin jz .L032pw_end 1324bc3d5698SJohn Baldwin 1325bc3d5698SJohn Baldwin movl $0,%ecx 1326bc3d5698SJohn Baldwin movl 4(%edi),%edx 1327bc3d5698SJohn Baldwin subl %eax,%ecx 1328bc3d5698SJohn Baldwin movl $0,%eax 1329bc3d5698SJohn Baldwin adcl %eax,%eax 1330bc3d5698SJohn Baldwin subl %edx,%ecx 1331bc3d5698SJohn Baldwin adcl $0,%eax 1332bc3d5698SJohn Baldwin decl %ebp 1333bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1334bc3d5698SJohn Baldwin jz .L032pw_end 1335bc3d5698SJohn Baldwin 1336bc3d5698SJohn Baldwin movl $0,%ecx 1337bc3d5698SJohn Baldwin movl 8(%edi),%edx 1338bc3d5698SJohn Baldwin subl %eax,%ecx 1339bc3d5698SJohn Baldwin movl $0,%eax 1340bc3d5698SJohn Baldwin adcl %eax,%eax 1341bc3d5698SJohn Baldwin subl %edx,%ecx 1342bc3d5698SJohn Baldwin adcl $0,%eax 1343bc3d5698SJohn Baldwin decl %ebp 1344bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1345bc3d5698SJohn Baldwin jz .L032pw_end 1346bc3d5698SJohn Baldwin 1347bc3d5698SJohn Baldwin movl $0,%ecx 1348bc3d5698SJohn Baldwin movl 12(%edi),%edx 1349bc3d5698SJohn Baldwin subl %eax,%ecx 1350bc3d5698SJohn Baldwin movl $0,%eax 1351bc3d5698SJohn Baldwin adcl %eax,%eax 1352bc3d5698SJohn Baldwin subl %edx,%ecx 1353bc3d5698SJohn Baldwin adcl $0,%eax 1354bc3d5698SJohn Baldwin decl %ebp 1355bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1356bc3d5698SJohn Baldwin jz .L032pw_end 1357bc3d5698SJohn Baldwin 1358bc3d5698SJohn Baldwin movl $0,%ecx 1359bc3d5698SJohn Baldwin movl 16(%edi),%edx 1360bc3d5698SJohn Baldwin subl %eax,%ecx 1361bc3d5698SJohn Baldwin movl $0,%eax 1362bc3d5698SJohn Baldwin adcl %eax,%eax 1363bc3d5698SJohn Baldwin subl %edx,%ecx 1364bc3d5698SJohn Baldwin adcl $0,%eax 1365bc3d5698SJohn Baldwin decl %ebp 1366bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1367bc3d5698SJohn Baldwin jz .L032pw_end 1368bc3d5698SJohn Baldwin 1369bc3d5698SJohn Baldwin movl $0,%ecx 1370bc3d5698SJohn Baldwin movl 20(%edi),%edx 1371bc3d5698SJohn Baldwin subl %eax,%ecx 1372bc3d5698SJohn Baldwin movl $0,%eax 1373bc3d5698SJohn Baldwin adcl %eax,%eax 1374bc3d5698SJohn Baldwin subl %edx,%ecx 1375bc3d5698SJohn Baldwin adcl $0,%eax 1376bc3d5698SJohn Baldwin decl %ebp 1377bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1378bc3d5698SJohn Baldwin jz .L032pw_end 1379bc3d5698SJohn Baldwin 1380bc3d5698SJohn Baldwin movl $0,%ecx 1381bc3d5698SJohn Baldwin movl 24(%edi),%edx 1382bc3d5698SJohn Baldwin subl %eax,%ecx 1383bc3d5698SJohn Baldwin movl $0,%eax 1384bc3d5698SJohn Baldwin adcl %eax,%eax 1385bc3d5698SJohn Baldwin subl %edx,%ecx 1386bc3d5698SJohn Baldwin adcl $0,%eax 1387bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1388bc3d5698SJohn Baldwin jmp .L032pw_end 1389bc3d5698SJohn Baldwin.L033pw_pos: 1390bc3d5698SJohn Baldwin andl $4294967288,%ebp 1391bc3d5698SJohn Baldwin jz .L036pw_pos_finish 1392bc3d5698SJohn Baldwin.L037pw_pos_loop: 1393bc3d5698SJohn Baldwin 1394bc3d5698SJohn Baldwin movl (%esi),%ecx 1395bc3d5698SJohn Baldwin subl %eax,%ecx 1396bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1397bc3d5698SJohn Baldwin jnc .L038pw_nc0 1398bc3d5698SJohn Baldwin 1399bc3d5698SJohn Baldwin movl 4(%esi),%ecx 1400bc3d5698SJohn Baldwin subl %eax,%ecx 1401bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1402bc3d5698SJohn Baldwin jnc .L039pw_nc1 1403bc3d5698SJohn Baldwin 1404bc3d5698SJohn Baldwin movl 8(%esi),%ecx 1405bc3d5698SJohn Baldwin subl %eax,%ecx 1406bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1407bc3d5698SJohn Baldwin jnc .L040pw_nc2 1408bc3d5698SJohn Baldwin 1409bc3d5698SJohn Baldwin movl 12(%esi),%ecx 1410bc3d5698SJohn Baldwin subl %eax,%ecx 1411bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1412bc3d5698SJohn Baldwin jnc .L041pw_nc3 1413bc3d5698SJohn Baldwin 1414bc3d5698SJohn Baldwin movl 16(%esi),%ecx 1415bc3d5698SJohn Baldwin subl %eax,%ecx 1416bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1417bc3d5698SJohn Baldwin jnc .L042pw_nc4 1418bc3d5698SJohn Baldwin 1419bc3d5698SJohn Baldwin movl 20(%esi),%ecx 1420bc3d5698SJohn Baldwin subl %eax,%ecx 1421bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1422bc3d5698SJohn Baldwin jnc .L043pw_nc5 1423bc3d5698SJohn Baldwin 1424bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1425bc3d5698SJohn Baldwin subl %eax,%ecx 1426bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1427bc3d5698SJohn Baldwin jnc .L044pw_nc6 1428bc3d5698SJohn Baldwin 1429bc3d5698SJohn Baldwin movl 28(%esi),%ecx 1430bc3d5698SJohn Baldwin subl %eax,%ecx 1431bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 1432bc3d5698SJohn Baldwin jnc .L045pw_nc7 1433bc3d5698SJohn Baldwin 1434bc3d5698SJohn Baldwin addl $32,%esi 1435bc3d5698SJohn Baldwin addl $32,%ebx 1436bc3d5698SJohn Baldwin subl $8,%ebp 1437bc3d5698SJohn Baldwin jnz .L037pw_pos_loop 1438bc3d5698SJohn Baldwin.L036pw_pos_finish: 1439bc3d5698SJohn Baldwin movl 36(%esp),%ebp 1440bc3d5698SJohn Baldwin andl $7,%ebp 1441bc3d5698SJohn Baldwin jz .L032pw_end 1442bc3d5698SJohn Baldwin 1443bc3d5698SJohn Baldwin movl (%esi),%ecx 1444bc3d5698SJohn Baldwin subl %eax,%ecx 1445bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1446bc3d5698SJohn Baldwin jnc .L046pw_tail_nc0 1447bc3d5698SJohn Baldwin decl %ebp 1448bc3d5698SJohn Baldwin jz .L032pw_end 1449bc3d5698SJohn Baldwin 1450bc3d5698SJohn Baldwin movl 4(%esi),%ecx 1451bc3d5698SJohn Baldwin subl %eax,%ecx 1452bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1453bc3d5698SJohn Baldwin jnc .L047pw_tail_nc1 1454bc3d5698SJohn Baldwin decl %ebp 1455bc3d5698SJohn Baldwin jz .L032pw_end 1456bc3d5698SJohn Baldwin 1457bc3d5698SJohn Baldwin movl 8(%esi),%ecx 1458bc3d5698SJohn Baldwin subl %eax,%ecx 1459bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1460bc3d5698SJohn Baldwin jnc .L048pw_tail_nc2 1461bc3d5698SJohn Baldwin decl %ebp 1462bc3d5698SJohn Baldwin jz .L032pw_end 1463bc3d5698SJohn Baldwin 1464bc3d5698SJohn Baldwin movl 12(%esi),%ecx 1465bc3d5698SJohn Baldwin subl %eax,%ecx 1466bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1467bc3d5698SJohn Baldwin jnc .L049pw_tail_nc3 1468bc3d5698SJohn Baldwin decl %ebp 1469bc3d5698SJohn Baldwin jz .L032pw_end 1470bc3d5698SJohn Baldwin 1471bc3d5698SJohn Baldwin movl 16(%esi),%ecx 1472bc3d5698SJohn Baldwin subl %eax,%ecx 1473bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1474bc3d5698SJohn Baldwin jnc .L050pw_tail_nc4 1475bc3d5698SJohn Baldwin decl %ebp 1476bc3d5698SJohn Baldwin jz .L032pw_end 1477bc3d5698SJohn Baldwin 1478bc3d5698SJohn Baldwin movl 20(%esi),%ecx 1479bc3d5698SJohn Baldwin subl %eax,%ecx 1480bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1481bc3d5698SJohn Baldwin jnc .L051pw_tail_nc5 1482bc3d5698SJohn Baldwin decl %ebp 1483bc3d5698SJohn Baldwin jz .L032pw_end 1484bc3d5698SJohn Baldwin 1485bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1486bc3d5698SJohn Baldwin subl %eax,%ecx 1487bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1488bc3d5698SJohn Baldwin jnc .L052pw_tail_nc6 1489bc3d5698SJohn Baldwin movl $1,%eax 1490bc3d5698SJohn Baldwin jmp .L032pw_end 1491bc3d5698SJohn Baldwin.L053pw_nc_loop: 1492bc3d5698SJohn Baldwin movl (%esi),%ecx 1493bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1494bc3d5698SJohn Baldwin.L038pw_nc0: 1495bc3d5698SJohn Baldwin movl 4(%esi),%ecx 1496bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1497bc3d5698SJohn Baldwin.L039pw_nc1: 1498bc3d5698SJohn Baldwin movl 8(%esi),%ecx 1499bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1500bc3d5698SJohn Baldwin.L040pw_nc2: 1501bc3d5698SJohn Baldwin movl 12(%esi),%ecx 1502bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1503bc3d5698SJohn Baldwin.L041pw_nc3: 1504bc3d5698SJohn Baldwin movl 16(%esi),%ecx 1505bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1506bc3d5698SJohn Baldwin.L042pw_nc4: 1507bc3d5698SJohn Baldwin movl 20(%esi),%ecx 1508bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1509bc3d5698SJohn Baldwin.L043pw_nc5: 1510bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1511bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1512bc3d5698SJohn Baldwin.L044pw_nc6: 1513bc3d5698SJohn Baldwin movl 28(%esi),%ecx 1514bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 1515bc3d5698SJohn Baldwin.L045pw_nc7: 1516bc3d5698SJohn Baldwin 1517bc3d5698SJohn Baldwin addl $32,%esi 1518bc3d5698SJohn Baldwin addl $32,%ebx 1519bc3d5698SJohn Baldwin subl $8,%ebp 1520bc3d5698SJohn Baldwin jnz .L053pw_nc_loop 1521bc3d5698SJohn Baldwin movl 36(%esp),%ebp 1522bc3d5698SJohn Baldwin andl $7,%ebp 1523bc3d5698SJohn Baldwin jz .L054pw_nc_end 1524bc3d5698SJohn Baldwin movl (%esi),%ecx 1525bc3d5698SJohn Baldwin movl %ecx,(%ebx) 1526bc3d5698SJohn Baldwin.L046pw_tail_nc0: 1527bc3d5698SJohn Baldwin decl %ebp 1528bc3d5698SJohn Baldwin jz .L054pw_nc_end 1529bc3d5698SJohn Baldwin movl 4(%esi),%ecx 1530bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 1531bc3d5698SJohn Baldwin.L047pw_tail_nc1: 1532bc3d5698SJohn Baldwin decl %ebp 1533bc3d5698SJohn Baldwin jz .L054pw_nc_end 1534bc3d5698SJohn Baldwin movl 8(%esi),%ecx 1535bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 1536bc3d5698SJohn Baldwin.L048pw_tail_nc2: 1537bc3d5698SJohn Baldwin decl %ebp 1538bc3d5698SJohn Baldwin jz .L054pw_nc_end 1539bc3d5698SJohn Baldwin movl 12(%esi),%ecx 1540bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 1541bc3d5698SJohn Baldwin.L049pw_tail_nc3: 1542bc3d5698SJohn Baldwin decl %ebp 1543bc3d5698SJohn Baldwin jz .L054pw_nc_end 1544bc3d5698SJohn Baldwin movl 16(%esi),%ecx 1545bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 1546bc3d5698SJohn Baldwin.L050pw_tail_nc4: 1547bc3d5698SJohn Baldwin decl %ebp 1548bc3d5698SJohn Baldwin jz .L054pw_nc_end 1549bc3d5698SJohn Baldwin movl 20(%esi),%ecx 1550bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 1551bc3d5698SJohn Baldwin.L051pw_tail_nc5: 1552bc3d5698SJohn Baldwin decl %ebp 1553bc3d5698SJohn Baldwin jz .L054pw_nc_end 1554bc3d5698SJohn Baldwin movl 24(%esi),%ecx 1555bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 1556bc3d5698SJohn Baldwin.L052pw_tail_nc6: 1557bc3d5698SJohn Baldwin.L054pw_nc_end: 1558bc3d5698SJohn Baldwin movl $0,%eax 1559bc3d5698SJohn Baldwin.L032pw_end: 1560bc3d5698SJohn Baldwin popl %edi 1561bc3d5698SJohn Baldwin popl %esi 1562bc3d5698SJohn Baldwin popl %ebx 1563bc3d5698SJohn Baldwin popl %ebp 1564bc3d5698SJohn Baldwin ret 1565bc3d5698SJohn Baldwin.size bn_sub_part_words,.-.L_bn_sub_part_words_begin 1566bc3d5698SJohn Baldwin.comm OPENSSL_ia32cap_P,16,4 1567*c0855eaaSJohn Baldwin 1568*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 1569*c0855eaaSJohn Baldwin .p2align 2 1570*c0855eaaSJohn Baldwin .long 1f - 0f 1571*c0855eaaSJohn Baldwin .long 4f - 1f 1572*c0855eaaSJohn Baldwin .long 5 1573*c0855eaaSJohn Baldwin0: 1574*c0855eaaSJohn Baldwin .asciz "GNU" 1575*c0855eaaSJohn Baldwin1: 1576*c0855eaaSJohn Baldwin .p2align 2 1577*c0855eaaSJohn Baldwin .long 0xc0000002 1578*c0855eaaSJohn Baldwin .long 3f - 2f 1579*c0855eaaSJohn Baldwin2: 1580*c0855eaaSJohn Baldwin .long 3 1581*c0855eaaSJohn Baldwin3: 1582*c0855eaaSJohn Baldwin .p2align 2 1583*c0855eaaSJohn Baldwin4: 1584bc3d5698SJohn Baldwin#else 1585bc3d5698SJohn Baldwin.text 1586bc3d5698SJohn Baldwin.globl bn_mul_add_words 1587bc3d5698SJohn Baldwin.type bn_mul_add_words,@function 1588bc3d5698SJohn Baldwin.align 16 1589bc3d5698SJohn Baldwinbn_mul_add_words: 1590bc3d5698SJohn Baldwin.L_bn_mul_add_words_begin: 1591*c0855eaaSJohn Baldwin #ifdef __CET__ 1592*c0855eaaSJohn Baldwin 1593*c0855eaaSJohn Baldwin.byte 243,15,30,251 1594*c0855eaaSJohn Baldwin #endif 1595*c0855eaaSJohn Baldwin 1596bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P,%eax 1597bc3d5698SJohn Baldwin btl $26,(%eax) 1598bc3d5698SJohn Baldwin jnc .L000maw_non_sse2 1599bc3d5698SJohn Baldwin movl 4(%esp),%eax 1600bc3d5698SJohn Baldwin movl 8(%esp),%edx 1601bc3d5698SJohn Baldwin movl 12(%esp),%ecx 1602bc3d5698SJohn Baldwin movd 16(%esp),%mm0 1603bc3d5698SJohn Baldwin pxor %mm1,%mm1 1604bc3d5698SJohn Baldwin jmp .L001maw_sse2_entry 1605bc3d5698SJohn Baldwin.align 16 1606bc3d5698SJohn Baldwin.L002maw_sse2_unrolled: 1607bc3d5698SJohn Baldwin movd (%eax),%mm3 1608bc3d5698SJohn Baldwin paddq %mm3,%mm1 1609bc3d5698SJohn Baldwin movd (%edx),%mm2 1610bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 1611bc3d5698SJohn Baldwin movd 4(%edx),%mm4 1612bc3d5698SJohn Baldwin pmuludq %mm0,%mm4 1613bc3d5698SJohn Baldwin movd 8(%edx),%mm6 1614bc3d5698SJohn Baldwin pmuludq %mm0,%mm6 1615bc3d5698SJohn Baldwin movd 12(%edx),%mm7 1616bc3d5698SJohn Baldwin pmuludq %mm0,%mm7 1617bc3d5698SJohn Baldwin paddq %mm2,%mm1 1618bc3d5698SJohn Baldwin movd 4(%eax),%mm3 1619bc3d5698SJohn Baldwin paddq %mm4,%mm3 1620bc3d5698SJohn Baldwin movd 8(%eax),%mm5 1621bc3d5698SJohn Baldwin paddq %mm6,%mm5 1622bc3d5698SJohn Baldwin movd 12(%eax),%mm4 1623bc3d5698SJohn Baldwin paddq %mm4,%mm7 1624bc3d5698SJohn Baldwin movd %mm1,(%eax) 1625bc3d5698SJohn Baldwin movd 16(%edx),%mm2 1626bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 1627bc3d5698SJohn Baldwin psrlq $32,%mm1 1628bc3d5698SJohn Baldwin movd 20(%edx),%mm4 1629bc3d5698SJohn Baldwin pmuludq %mm0,%mm4 1630bc3d5698SJohn Baldwin paddq %mm3,%mm1 1631bc3d5698SJohn Baldwin movd 24(%edx),%mm6 1632bc3d5698SJohn Baldwin pmuludq %mm0,%mm6 1633bc3d5698SJohn Baldwin movd %mm1,4(%eax) 1634bc3d5698SJohn Baldwin psrlq $32,%mm1 1635bc3d5698SJohn Baldwin movd 28(%edx),%mm3 1636bc3d5698SJohn Baldwin addl $32,%edx 1637bc3d5698SJohn Baldwin pmuludq %mm0,%mm3 1638bc3d5698SJohn Baldwin paddq %mm5,%mm1 1639bc3d5698SJohn Baldwin movd 16(%eax),%mm5 1640bc3d5698SJohn Baldwin paddq %mm5,%mm2 1641bc3d5698SJohn Baldwin movd %mm1,8(%eax) 1642bc3d5698SJohn Baldwin psrlq $32,%mm1 1643bc3d5698SJohn Baldwin paddq %mm7,%mm1 1644bc3d5698SJohn Baldwin movd 20(%eax),%mm5 1645bc3d5698SJohn Baldwin paddq %mm5,%mm4 1646bc3d5698SJohn Baldwin movd %mm1,12(%eax) 1647bc3d5698SJohn Baldwin psrlq $32,%mm1 1648bc3d5698SJohn Baldwin paddq %mm2,%mm1 1649bc3d5698SJohn Baldwin movd 24(%eax),%mm5 1650bc3d5698SJohn Baldwin paddq %mm5,%mm6 1651bc3d5698SJohn Baldwin movd %mm1,16(%eax) 1652bc3d5698SJohn Baldwin psrlq $32,%mm1 1653bc3d5698SJohn Baldwin paddq %mm4,%mm1 1654bc3d5698SJohn Baldwin movd 28(%eax),%mm5 1655bc3d5698SJohn Baldwin paddq %mm5,%mm3 1656bc3d5698SJohn Baldwin movd %mm1,20(%eax) 1657bc3d5698SJohn Baldwin psrlq $32,%mm1 1658bc3d5698SJohn Baldwin paddq %mm6,%mm1 1659bc3d5698SJohn Baldwin movd %mm1,24(%eax) 1660bc3d5698SJohn Baldwin psrlq $32,%mm1 1661bc3d5698SJohn Baldwin paddq %mm3,%mm1 1662bc3d5698SJohn Baldwin movd %mm1,28(%eax) 1663bc3d5698SJohn Baldwin leal 32(%eax),%eax 1664bc3d5698SJohn Baldwin psrlq $32,%mm1 1665bc3d5698SJohn Baldwin subl $8,%ecx 1666bc3d5698SJohn Baldwin jz .L003maw_sse2_exit 1667bc3d5698SJohn Baldwin.L001maw_sse2_entry: 1668bc3d5698SJohn Baldwin testl $4294967288,%ecx 1669bc3d5698SJohn Baldwin jnz .L002maw_sse2_unrolled 1670bc3d5698SJohn Baldwin.align 4 1671bc3d5698SJohn Baldwin.L004maw_sse2_loop: 1672bc3d5698SJohn Baldwin movd (%edx),%mm2 1673bc3d5698SJohn Baldwin movd (%eax),%mm3 1674bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 1675bc3d5698SJohn Baldwin leal 4(%edx),%edx 1676bc3d5698SJohn Baldwin paddq %mm3,%mm1 1677bc3d5698SJohn Baldwin paddq %mm2,%mm1 1678bc3d5698SJohn Baldwin movd %mm1,(%eax) 1679bc3d5698SJohn Baldwin subl $1,%ecx 1680bc3d5698SJohn Baldwin psrlq $32,%mm1 1681bc3d5698SJohn Baldwin leal 4(%eax),%eax 1682bc3d5698SJohn Baldwin jnz .L004maw_sse2_loop 1683bc3d5698SJohn Baldwin.L003maw_sse2_exit: 1684bc3d5698SJohn Baldwin movd %mm1,%eax 1685bc3d5698SJohn Baldwin emms 1686bc3d5698SJohn Baldwin ret 1687bc3d5698SJohn Baldwin.align 16 1688bc3d5698SJohn Baldwin.L000maw_non_sse2: 1689bc3d5698SJohn Baldwin pushl %ebp 1690bc3d5698SJohn Baldwin pushl %ebx 1691bc3d5698SJohn Baldwin pushl %esi 1692bc3d5698SJohn Baldwin pushl %edi 1693bc3d5698SJohn Baldwin 1694bc3d5698SJohn Baldwin xorl %esi,%esi 1695bc3d5698SJohn Baldwin movl 20(%esp),%edi 1696bc3d5698SJohn Baldwin movl 28(%esp),%ecx 1697bc3d5698SJohn Baldwin movl 24(%esp),%ebx 1698bc3d5698SJohn Baldwin andl $4294967288,%ecx 1699bc3d5698SJohn Baldwin movl 32(%esp),%ebp 1700bc3d5698SJohn Baldwin pushl %ecx 1701bc3d5698SJohn Baldwin jz .L005maw_finish 1702bc3d5698SJohn Baldwin.align 16 1703bc3d5698SJohn Baldwin.L006maw_loop: 1704bc3d5698SJohn Baldwin 1705bc3d5698SJohn Baldwin movl (%ebx),%eax 1706bc3d5698SJohn Baldwin mull %ebp 1707bc3d5698SJohn Baldwin addl %esi,%eax 1708bc3d5698SJohn Baldwin adcl $0,%edx 1709bc3d5698SJohn Baldwin addl (%edi),%eax 1710bc3d5698SJohn Baldwin adcl $0,%edx 1711bc3d5698SJohn Baldwin movl %eax,(%edi) 1712bc3d5698SJohn Baldwin movl %edx,%esi 1713bc3d5698SJohn Baldwin 1714bc3d5698SJohn Baldwin movl 4(%ebx),%eax 1715bc3d5698SJohn Baldwin mull %ebp 1716bc3d5698SJohn Baldwin addl %esi,%eax 1717bc3d5698SJohn Baldwin adcl $0,%edx 1718bc3d5698SJohn Baldwin addl 4(%edi),%eax 1719bc3d5698SJohn Baldwin adcl $0,%edx 1720bc3d5698SJohn Baldwin movl %eax,4(%edi) 1721bc3d5698SJohn Baldwin movl %edx,%esi 1722bc3d5698SJohn Baldwin 1723bc3d5698SJohn Baldwin movl 8(%ebx),%eax 1724bc3d5698SJohn Baldwin mull %ebp 1725bc3d5698SJohn Baldwin addl %esi,%eax 1726bc3d5698SJohn Baldwin adcl $0,%edx 1727bc3d5698SJohn Baldwin addl 8(%edi),%eax 1728bc3d5698SJohn Baldwin adcl $0,%edx 1729bc3d5698SJohn Baldwin movl %eax,8(%edi) 1730bc3d5698SJohn Baldwin movl %edx,%esi 1731bc3d5698SJohn Baldwin 1732bc3d5698SJohn Baldwin movl 12(%ebx),%eax 1733bc3d5698SJohn Baldwin mull %ebp 1734bc3d5698SJohn Baldwin addl %esi,%eax 1735bc3d5698SJohn Baldwin adcl $0,%edx 1736bc3d5698SJohn Baldwin addl 12(%edi),%eax 1737bc3d5698SJohn Baldwin adcl $0,%edx 1738bc3d5698SJohn Baldwin movl %eax,12(%edi) 1739bc3d5698SJohn Baldwin movl %edx,%esi 1740bc3d5698SJohn Baldwin 1741bc3d5698SJohn Baldwin movl 16(%ebx),%eax 1742bc3d5698SJohn Baldwin mull %ebp 1743bc3d5698SJohn Baldwin addl %esi,%eax 1744bc3d5698SJohn Baldwin adcl $0,%edx 1745bc3d5698SJohn Baldwin addl 16(%edi),%eax 1746bc3d5698SJohn Baldwin adcl $0,%edx 1747bc3d5698SJohn Baldwin movl %eax,16(%edi) 1748bc3d5698SJohn Baldwin movl %edx,%esi 1749bc3d5698SJohn Baldwin 1750bc3d5698SJohn Baldwin movl 20(%ebx),%eax 1751bc3d5698SJohn Baldwin mull %ebp 1752bc3d5698SJohn Baldwin addl %esi,%eax 1753bc3d5698SJohn Baldwin adcl $0,%edx 1754bc3d5698SJohn Baldwin addl 20(%edi),%eax 1755bc3d5698SJohn Baldwin adcl $0,%edx 1756bc3d5698SJohn Baldwin movl %eax,20(%edi) 1757bc3d5698SJohn Baldwin movl %edx,%esi 1758bc3d5698SJohn Baldwin 1759bc3d5698SJohn Baldwin movl 24(%ebx),%eax 1760bc3d5698SJohn Baldwin mull %ebp 1761bc3d5698SJohn Baldwin addl %esi,%eax 1762bc3d5698SJohn Baldwin adcl $0,%edx 1763bc3d5698SJohn Baldwin addl 24(%edi),%eax 1764bc3d5698SJohn Baldwin adcl $0,%edx 1765bc3d5698SJohn Baldwin movl %eax,24(%edi) 1766bc3d5698SJohn Baldwin movl %edx,%esi 1767bc3d5698SJohn Baldwin 1768bc3d5698SJohn Baldwin movl 28(%ebx),%eax 1769bc3d5698SJohn Baldwin mull %ebp 1770bc3d5698SJohn Baldwin addl %esi,%eax 1771bc3d5698SJohn Baldwin adcl $0,%edx 1772bc3d5698SJohn Baldwin addl 28(%edi),%eax 1773bc3d5698SJohn Baldwin adcl $0,%edx 1774bc3d5698SJohn Baldwin movl %eax,28(%edi) 1775bc3d5698SJohn Baldwin movl %edx,%esi 1776bc3d5698SJohn Baldwin 1777bc3d5698SJohn Baldwin subl $8,%ecx 1778bc3d5698SJohn Baldwin leal 32(%ebx),%ebx 1779bc3d5698SJohn Baldwin leal 32(%edi),%edi 1780bc3d5698SJohn Baldwin jnz .L006maw_loop 1781bc3d5698SJohn Baldwin.L005maw_finish: 1782bc3d5698SJohn Baldwin movl 32(%esp),%ecx 1783bc3d5698SJohn Baldwin andl $7,%ecx 1784bc3d5698SJohn Baldwin jnz .L007maw_finish2 1785bc3d5698SJohn Baldwin jmp .L008maw_end 1786bc3d5698SJohn Baldwin.L007maw_finish2: 1787bc3d5698SJohn Baldwin 1788bc3d5698SJohn Baldwin movl (%ebx),%eax 1789bc3d5698SJohn Baldwin mull %ebp 1790bc3d5698SJohn Baldwin addl %esi,%eax 1791bc3d5698SJohn Baldwin adcl $0,%edx 1792bc3d5698SJohn Baldwin addl (%edi),%eax 1793bc3d5698SJohn Baldwin adcl $0,%edx 1794bc3d5698SJohn Baldwin decl %ecx 1795bc3d5698SJohn Baldwin movl %eax,(%edi) 1796bc3d5698SJohn Baldwin movl %edx,%esi 1797bc3d5698SJohn Baldwin jz .L008maw_end 1798bc3d5698SJohn Baldwin 1799bc3d5698SJohn Baldwin movl 4(%ebx),%eax 1800bc3d5698SJohn Baldwin mull %ebp 1801bc3d5698SJohn Baldwin addl %esi,%eax 1802bc3d5698SJohn Baldwin adcl $0,%edx 1803bc3d5698SJohn Baldwin addl 4(%edi),%eax 1804bc3d5698SJohn Baldwin adcl $0,%edx 1805bc3d5698SJohn Baldwin decl %ecx 1806bc3d5698SJohn Baldwin movl %eax,4(%edi) 1807bc3d5698SJohn Baldwin movl %edx,%esi 1808bc3d5698SJohn Baldwin jz .L008maw_end 1809bc3d5698SJohn Baldwin 1810bc3d5698SJohn Baldwin movl 8(%ebx),%eax 1811bc3d5698SJohn Baldwin mull %ebp 1812bc3d5698SJohn Baldwin addl %esi,%eax 1813bc3d5698SJohn Baldwin adcl $0,%edx 1814bc3d5698SJohn Baldwin addl 8(%edi),%eax 1815bc3d5698SJohn Baldwin adcl $0,%edx 1816bc3d5698SJohn Baldwin decl %ecx 1817bc3d5698SJohn Baldwin movl %eax,8(%edi) 1818bc3d5698SJohn Baldwin movl %edx,%esi 1819bc3d5698SJohn Baldwin jz .L008maw_end 1820bc3d5698SJohn Baldwin 1821bc3d5698SJohn Baldwin movl 12(%ebx),%eax 1822bc3d5698SJohn Baldwin mull %ebp 1823bc3d5698SJohn Baldwin addl %esi,%eax 1824bc3d5698SJohn Baldwin adcl $0,%edx 1825bc3d5698SJohn Baldwin addl 12(%edi),%eax 1826bc3d5698SJohn Baldwin adcl $0,%edx 1827bc3d5698SJohn Baldwin decl %ecx 1828bc3d5698SJohn Baldwin movl %eax,12(%edi) 1829bc3d5698SJohn Baldwin movl %edx,%esi 1830bc3d5698SJohn Baldwin jz .L008maw_end 1831bc3d5698SJohn Baldwin 1832bc3d5698SJohn Baldwin movl 16(%ebx),%eax 1833bc3d5698SJohn Baldwin mull %ebp 1834bc3d5698SJohn Baldwin addl %esi,%eax 1835bc3d5698SJohn Baldwin adcl $0,%edx 1836bc3d5698SJohn Baldwin addl 16(%edi),%eax 1837bc3d5698SJohn Baldwin adcl $0,%edx 1838bc3d5698SJohn Baldwin decl %ecx 1839bc3d5698SJohn Baldwin movl %eax,16(%edi) 1840bc3d5698SJohn Baldwin movl %edx,%esi 1841bc3d5698SJohn Baldwin jz .L008maw_end 1842bc3d5698SJohn Baldwin 1843bc3d5698SJohn Baldwin movl 20(%ebx),%eax 1844bc3d5698SJohn Baldwin mull %ebp 1845bc3d5698SJohn Baldwin addl %esi,%eax 1846bc3d5698SJohn Baldwin adcl $0,%edx 1847bc3d5698SJohn Baldwin addl 20(%edi),%eax 1848bc3d5698SJohn Baldwin adcl $0,%edx 1849bc3d5698SJohn Baldwin decl %ecx 1850bc3d5698SJohn Baldwin movl %eax,20(%edi) 1851bc3d5698SJohn Baldwin movl %edx,%esi 1852bc3d5698SJohn Baldwin jz .L008maw_end 1853bc3d5698SJohn Baldwin 1854bc3d5698SJohn Baldwin movl 24(%ebx),%eax 1855bc3d5698SJohn Baldwin mull %ebp 1856bc3d5698SJohn Baldwin addl %esi,%eax 1857bc3d5698SJohn Baldwin adcl $0,%edx 1858bc3d5698SJohn Baldwin addl 24(%edi),%eax 1859bc3d5698SJohn Baldwin adcl $0,%edx 1860bc3d5698SJohn Baldwin movl %eax,24(%edi) 1861bc3d5698SJohn Baldwin movl %edx,%esi 1862bc3d5698SJohn Baldwin.L008maw_end: 1863bc3d5698SJohn Baldwin movl %esi,%eax 1864bc3d5698SJohn Baldwin popl %ecx 1865bc3d5698SJohn Baldwin popl %edi 1866bc3d5698SJohn Baldwin popl %esi 1867bc3d5698SJohn Baldwin popl %ebx 1868bc3d5698SJohn Baldwin popl %ebp 1869bc3d5698SJohn Baldwin ret 1870bc3d5698SJohn Baldwin.size bn_mul_add_words,.-.L_bn_mul_add_words_begin 1871bc3d5698SJohn Baldwin.globl bn_mul_words 1872bc3d5698SJohn Baldwin.type bn_mul_words,@function 1873bc3d5698SJohn Baldwin.align 16 1874bc3d5698SJohn Baldwinbn_mul_words: 1875bc3d5698SJohn Baldwin.L_bn_mul_words_begin: 1876*c0855eaaSJohn Baldwin #ifdef __CET__ 1877*c0855eaaSJohn Baldwin 1878*c0855eaaSJohn Baldwin.byte 243,15,30,251 1879*c0855eaaSJohn Baldwin #endif 1880*c0855eaaSJohn Baldwin 1881bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P,%eax 1882bc3d5698SJohn Baldwin btl $26,(%eax) 1883bc3d5698SJohn Baldwin jnc .L009mw_non_sse2 1884bc3d5698SJohn Baldwin movl 4(%esp),%eax 1885bc3d5698SJohn Baldwin movl 8(%esp),%edx 1886bc3d5698SJohn Baldwin movl 12(%esp),%ecx 1887bc3d5698SJohn Baldwin movd 16(%esp),%mm0 1888bc3d5698SJohn Baldwin pxor %mm1,%mm1 1889bc3d5698SJohn Baldwin.align 16 1890bc3d5698SJohn Baldwin.L010mw_sse2_loop: 1891bc3d5698SJohn Baldwin movd (%edx),%mm2 1892bc3d5698SJohn Baldwin pmuludq %mm0,%mm2 1893bc3d5698SJohn Baldwin leal 4(%edx),%edx 1894bc3d5698SJohn Baldwin paddq %mm2,%mm1 1895bc3d5698SJohn Baldwin movd %mm1,(%eax) 1896bc3d5698SJohn Baldwin subl $1,%ecx 1897bc3d5698SJohn Baldwin psrlq $32,%mm1 1898bc3d5698SJohn Baldwin leal 4(%eax),%eax 1899bc3d5698SJohn Baldwin jnz .L010mw_sse2_loop 1900bc3d5698SJohn Baldwin movd %mm1,%eax 1901bc3d5698SJohn Baldwin emms 1902bc3d5698SJohn Baldwin ret 1903bc3d5698SJohn Baldwin.align 16 1904bc3d5698SJohn Baldwin.L009mw_non_sse2: 1905bc3d5698SJohn Baldwin pushl %ebp 1906bc3d5698SJohn Baldwin pushl %ebx 1907bc3d5698SJohn Baldwin pushl %esi 1908bc3d5698SJohn Baldwin pushl %edi 1909bc3d5698SJohn Baldwin 1910bc3d5698SJohn Baldwin xorl %esi,%esi 1911bc3d5698SJohn Baldwin movl 20(%esp),%edi 1912bc3d5698SJohn Baldwin movl 24(%esp),%ebx 1913bc3d5698SJohn Baldwin movl 28(%esp),%ebp 1914bc3d5698SJohn Baldwin movl 32(%esp),%ecx 1915bc3d5698SJohn Baldwin andl $4294967288,%ebp 1916bc3d5698SJohn Baldwin jz .L011mw_finish 1917bc3d5698SJohn Baldwin.L012mw_loop: 1918bc3d5698SJohn Baldwin 1919bc3d5698SJohn Baldwin movl (%ebx),%eax 1920bc3d5698SJohn Baldwin mull %ecx 1921bc3d5698SJohn Baldwin addl %esi,%eax 1922bc3d5698SJohn Baldwin adcl $0,%edx 1923bc3d5698SJohn Baldwin movl %eax,(%edi) 1924bc3d5698SJohn Baldwin movl %edx,%esi 1925bc3d5698SJohn Baldwin 1926bc3d5698SJohn Baldwin movl 4(%ebx),%eax 1927bc3d5698SJohn Baldwin mull %ecx 1928bc3d5698SJohn Baldwin addl %esi,%eax 1929bc3d5698SJohn Baldwin adcl $0,%edx 1930bc3d5698SJohn Baldwin movl %eax,4(%edi) 1931bc3d5698SJohn Baldwin movl %edx,%esi 1932bc3d5698SJohn Baldwin 1933bc3d5698SJohn Baldwin movl 8(%ebx),%eax 1934bc3d5698SJohn Baldwin mull %ecx 1935bc3d5698SJohn Baldwin addl %esi,%eax 1936bc3d5698SJohn Baldwin adcl $0,%edx 1937bc3d5698SJohn Baldwin movl %eax,8(%edi) 1938bc3d5698SJohn Baldwin movl %edx,%esi 1939bc3d5698SJohn Baldwin 1940bc3d5698SJohn Baldwin movl 12(%ebx),%eax 1941bc3d5698SJohn Baldwin mull %ecx 1942bc3d5698SJohn Baldwin addl %esi,%eax 1943bc3d5698SJohn Baldwin adcl $0,%edx 1944bc3d5698SJohn Baldwin movl %eax,12(%edi) 1945bc3d5698SJohn Baldwin movl %edx,%esi 1946bc3d5698SJohn Baldwin 1947bc3d5698SJohn Baldwin movl 16(%ebx),%eax 1948bc3d5698SJohn Baldwin mull %ecx 1949bc3d5698SJohn Baldwin addl %esi,%eax 1950bc3d5698SJohn Baldwin adcl $0,%edx 1951bc3d5698SJohn Baldwin movl %eax,16(%edi) 1952bc3d5698SJohn Baldwin movl %edx,%esi 1953bc3d5698SJohn Baldwin 1954bc3d5698SJohn Baldwin movl 20(%ebx),%eax 1955bc3d5698SJohn Baldwin mull %ecx 1956bc3d5698SJohn Baldwin addl %esi,%eax 1957bc3d5698SJohn Baldwin adcl $0,%edx 1958bc3d5698SJohn Baldwin movl %eax,20(%edi) 1959bc3d5698SJohn Baldwin movl %edx,%esi 1960bc3d5698SJohn Baldwin 1961bc3d5698SJohn Baldwin movl 24(%ebx),%eax 1962bc3d5698SJohn Baldwin mull %ecx 1963bc3d5698SJohn Baldwin addl %esi,%eax 1964bc3d5698SJohn Baldwin adcl $0,%edx 1965bc3d5698SJohn Baldwin movl %eax,24(%edi) 1966bc3d5698SJohn Baldwin movl %edx,%esi 1967bc3d5698SJohn Baldwin 1968bc3d5698SJohn Baldwin movl 28(%ebx),%eax 1969bc3d5698SJohn Baldwin mull %ecx 1970bc3d5698SJohn Baldwin addl %esi,%eax 1971bc3d5698SJohn Baldwin adcl $0,%edx 1972bc3d5698SJohn Baldwin movl %eax,28(%edi) 1973bc3d5698SJohn Baldwin movl %edx,%esi 1974bc3d5698SJohn Baldwin 1975bc3d5698SJohn Baldwin addl $32,%ebx 1976bc3d5698SJohn Baldwin addl $32,%edi 1977bc3d5698SJohn Baldwin subl $8,%ebp 1978bc3d5698SJohn Baldwin jz .L011mw_finish 1979bc3d5698SJohn Baldwin jmp .L012mw_loop 1980bc3d5698SJohn Baldwin.L011mw_finish: 1981bc3d5698SJohn Baldwin movl 28(%esp),%ebp 1982bc3d5698SJohn Baldwin andl $7,%ebp 1983bc3d5698SJohn Baldwin jnz .L013mw_finish2 1984bc3d5698SJohn Baldwin jmp .L014mw_end 1985bc3d5698SJohn Baldwin.L013mw_finish2: 1986bc3d5698SJohn Baldwin 1987bc3d5698SJohn Baldwin movl (%ebx),%eax 1988bc3d5698SJohn Baldwin mull %ecx 1989bc3d5698SJohn Baldwin addl %esi,%eax 1990bc3d5698SJohn Baldwin adcl $0,%edx 1991bc3d5698SJohn Baldwin movl %eax,(%edi) 1992bc3d5698SJohn Baldwin movl %edx,%esi 1993bc3d5698SJohn Baldwin decl %ebp 1994bc3d5698SJohn Baldwin jz .L014mw_end 1995bc3d5698SJohn Baldwin 1996bc3d5698SJohn Baldwin movl 4(%ebx),%eax 1997bc3d5698SJohn Baldwin mull %ecx 1998bc3d5698SJohn Baldwin addl %esi,%eax 1999bc3d5698SJohn Baldwin adcl $0,%edx 2000bc3d5698SJohn Baldwin movl %eax,4(%edi) 2001bc3d5698SJohn Baldwin movl %edx,%esi 2002bc3d5698SJohn Baldwin decl %ebp 2003bc3d5698SJohn Baldwin jz .L014mw_end 2004bc3d5698SJohn Baldwin 2005bc3d5698SJohn Baldwin movl 8(%ebx),%eax 2006bc3d5698SJohn Baldwin mull %ecx 2007bc3d5698SJohn Baldwin addl %esi,%eax 2008bc3d5698SJohn Baldwin adcl $0,%edx 2009bc3d5698SJohn Baldwin movl %eax,8(%edi) 2010bc3d5698SJohn Baldwin movl %edx,%esi 2011bc3d5698SJohn Baldwin decl %ebp 2012bc3d5698SJohn Baldwin jz .L014mw_end 2013bc3d5698SJohn Baldwin 2014bc3d5698SJohn Baldwin movl 12(%ebx),%eax 2015bc3d5698SJohn Baldwin mull %ecx 2016bc3d5698SJohn Baldwin addl %esi,%eax 2017bc3d5698SJohn Baldwin adcl $0,%edx 2018bc3d5698SJohn Baldwin movl %eax,12(%edi) 2019bc3d5698SJohn Baldwin movl %edx,%esi 2020bc3d5698SJohn Baldwin decl %ebp 2021bc3d5698SJohn Baldwin jz .L014mw_end 2022bc3d5698SJohn Baldwin 2023bc3d5698SJohn Baldwin movl 16(%ebx),%eax 2024bc3d5698SJohn Baldwin mull %ecx 2025bc3d5698SJohn Baldwin addl %esi,%eax 2026bc3d5698SJohn Baldwin adcl $0,%edx 2027bc3d5698SJohn Baldwin movl %eax,16(%edi) 2028bc3d5698SJohn Baldwin movl %edx,%esi 2029bc3d5698SJohn Baldwin decl %ebp 2030bc3d5698SJohn Baldwin jz .L014mw_end 2031bc3d5698SJohn Baldwin 2032bc3d5698SJohn Baldwin movl 20(%ebx),%eax 2033bc3d5698SJohn Baldwin mull %ecx 2034bc3d5698SJohn Baldwin addl %esi,%eax 2035bc3d5698SJohn Baldwin adcl $0,%edx 2036bc3d5698SJohn Baldwin movl %eax,20(%edi) 2037bc3d5698SJohn Baldwin movl %edx,%esi 2038bc3d5698SJohn Baldwin decl %ebp 2039bc3d5698SJohn Baldwin jz .L014mw_end 2040bc3d5698SJohn Baldwin 2041bc3d5698SJohn Baldwin movl 24(%ebx),%eax 2042bc3d5698SJohn Baldwin mull %ecx 2043bc3d5698SJohn Baldwin addl %esi,%eax 2044bc3d5698SJohn Baldwin adcl $0,%edx 2045bc3d5698SJohn Baldwin movl %eax,24(%edi) 2046bc3d5698SJohn Baldwin movl %edx,%esi 2047bc3d5698SJohn Baldwin.L014mw_end: 2048bc3d5698SJohn Baldwin movl %esi,%eax 2049bc3d5698SJohn Baldwin popl %edi 2050bc3d5698SJohn Baldwin popl %esi 2051bc3d5698SJohn Baldwin popl %ebx 2052bc3d5698SJohn Baldwin popl %ebp 2053bc3d5698SJohn Baldwin ret 2054bc3d5698SJohn Baldwin.size bn_mul_words,.-.L_bn_mul_words_begin 2055bc3d5698SJohn Baldwin.globl bn_sqr_words 2056bc3d5698SJohn Baldwin.type bn_sqr_words,@function 2057bc3d5698SJohn Baldwin.align 16 2058bc3d5698SJohn Baldwinbn_sqr_words: 2059bc3d5698SJohn Baldwin.L_bn_sqr_words_begin: 2060*c0855eaaSJohn Baldwin #ifdef __CET__ 2061*c0855eaaSJohn Baldwin 2062*c0855eaaSJohn Baldwin.byte 243,15,30,251 2063*c0855eaaSJohn Baldwin #endif 2064*c0855eaaSJohn Baldwin 2065bc3d5698SJohn Baldwin leal OPENSSL_ia32cap_P,%eax 2066bc3d5698SJohn Baldwin btl $26,(%eax) 2067bc3d5698SJohn Baldwin jnc .L015sqr_non_sse2 2068bc3d5698SJohn Baldwin movl 4(%esp),%eax 2069bc3d5698SJohn Baldwin movl 8(%esp),%edx 2070bc3d5698SJohn Baldwin movl 12(%esp),%ecx 2071bc3d5698SJohn Baldwin.align 16 2072bc3d5698SJohn Baldwin.L016sqr_sse2_loop: 2073bc3d5698SJohn Baldwin movd (%edx),%mm0 2074bc3d5698SJohn Baldwin pmuludq %mm0,%mm0 2075bc3d5698SJohn Baldwin leal 4(%edx),%edx 2076bc3d5698SJohn Baldwin movq %mm0,(%eax) 2077bc3d5698SJohn Baldwin subl $1,%ecx 2078bc3d5698SJohn Baldwin leal 8(%eax),%eax 2079bc3d5698SJohn Baldwin jnz .L016sqr_sse2_loop 2080bc3d5698SJohn Baldwin emms 2081bc3d5698SJohn Baldwin ret 2082bc3d5698SJohn Baldwin.align 16 2083bc3d5698SJohn Baldwin.L015sqr_non_sse2: 2084bc3d5698SJohn Baldwin pushl %ebp 2085bc3d5698SJohn Baldwin pushl %ebx 2086bc3d5698SJohn Baldwin pushl %esi 2087bc3d5698SJohn Baldwin pushl %edi 2088bc3d5698SJohn Baldwin 2089bc3d5698SJohn Baldwin movl 20(%esp),%esi 2090bc3d5698SJohn Baldwin movl 24(%esp),%edi 2091bc3d5698SJohn Baldwin movl 28(%esp),%ebx 2092bc3d5698SJohn Baldwin andl $4294967288,%ebx 2093bc3d5698SJohn Baldwin jz .L017sw_finish 2094bc3d5698SJohn Baldwin.L018sw_loop: 2095bc3d5698SJohn Baldwin 2096bc3d5698SJohn Baldwin movl (%edi),%eax 2097bc3d5698SJohn Baldwin mull %eax 2098bc3d5698SJohn Baldwin movl %eax,(%esi) 2099bc3d5698SJohn Baldwin movl %edx,4(%esi) 2100bc3d5698SJohn Baldwin 2101bc3d5698SJohn Baldwin movl 4(%edi),%eax 2102bc3d5698SJohn Baldwin mull %eax 2103bc3d5698SJohn Baldwin movl %eax,8(%esi) 2104bc3d5698SJohn Baldwin movl %edx,12(%esi) 2105bc3d5698SJohn Baldwin 2106bc3d5698SJohn Baldwin movl 8(%edi),%eax 2107bc3d5698SJohn Baldwin mull %eax 2108bc3d5698SJohn Baldwin movl %eax,16(%esi) 2109bc3d5698SJohn Baldwin movl %edx,20(%esi) 2110bc3d5698SJohn Baldwin 2111bc3d5698SJohn Baldwin movl 12(%edi),%eax 2112bc3d5698SJohn Baldwin mull %eax 2113bc3d5698SJohn Baldwin movl %eax,24(%esi) 2114bc3d5698SJohn Baldwin movl %edx,28(%esi) 2115bc3d5698SJohn Baldwin 2116bc3d5698SJohn Baldwin movl 16(%edi),%eax 2117bc3d5698SJohn Baldwin mull %eax 2118bc3d5698SJohn Baldwin movl %eax,32(%esi) 2119bc3d5698SJohn Baldwin movl %edx,36(%esi) 2120bc3d5698SJohn Baldwin 2121bc3d5698SJohn Baldwin movl 20(%edi),%eax 2122bc3d5698SJohn Baldwin mull %eax 2123bc3d5698SJohn Baldwin movl %eax,40(%esi) 2124bc3d5698SJohn Baldwin movl %edx,44(%esi) 2125bc3d5698SJohn Baldwin 2126bc3d5698SJohn Baldwin movl 24(%edi),%eax 2127bc3d5698SJohn Baldwin mull %eax 2128bc3d5698SJohn Baldwin movl %eax,48(%esi) 2129bc3d5698SJohn Baldwin movl %edx,52(%esi) 2130bc3d5698SJohn Baldwin 2131bc3d5698SJohn Baldwin movl 28(%edi),%eax 2132bc3d5698SJohn Baldwin mull %eax 2133bc3d5698SJohn Baldwin movl %eax,56(%esi) 2134bc3d5698SJohn Baldwin movl %edx,60(%esi) 2135bc3d5698SJohn Baldwin 2136bc3d5698SJohn Baldwin addl $32,%edi 2137bc3d5698SJohn Baldwin addl $64,%esi 2138bc3d5698SJohn Baldwin subl $8,%ebx 2139bc3d5698SJohn Baldwin jnz .L018sw_loop 2140bc3d5698SJohn Baldwin.L017sw_finish: 2141bc3d5698SJohn Baldwin movl 28(%esp),%ebx 2142bc3d5698SJohn Baldwin andl $7,%ebx 2143bc3d5698SJohn Baldwin jz .L019sw_end 2144bc3d5698SJohn Baldwin 2145bc3d5698SJohn Baldwin movl (%edi),%eax 2146bc3d5698SJohn Baldwin mull %eax 2147bc3d5698SJohn Baldwin movl %eax,(%esi) 2148bc3d5698SJohn Baldwin decl %ebx 2149bc3d5698SJohn Baldwin movl %edx,4(%esi) 2150bc3d5698SJohn Baldwin jz .L019sw_end 2151bc3d5698SJohn Baldwin 2152bc3d5698SJohn Baldwin movl 4(%edi),%eax 2153bc3d5698SJohn Baldwin mull %eax 2154bc3d5698SJohn Baldwin movl %eax,8(%esi) 2155bc3d5698SJohn Baldwin decl %ebx 2156bc3d5698SJohn Baldwin movl %edx,12(%esi) 2157bc3d5698SJohn Baldwin jz .L019sw_end 2158bc3d5698SJohn Baldwin 2159bc3d5698SJohn Baldwin movl 8(%edi),%eax 2160bc3d5698SJohn Baldwin mull %eax 2161bc3d5698SJohn Baldwin movl %eax,16(%esi) 2162bc3d5698SJohn Baldwin decl %ebx 2163bc3d5698SJohn Baldwin movl %edx,20(%esi) 2164bc3d5698SJohn Baldwin jz .L019sw_end 2165bc3d5698SJohn Baldwin 2166bc3d5698SJohn Baldwin movl 12(%edi),%eax 2167bc3d5698SJohn Baldwin mull %eax 2168bc3d5698SJohn Baldwin movl %eax,24(%esi) 2169bc3d5698SJohn Baldwin decl %ebx 2170bc3d5698SJohn Baldwin movl %edx,28(%esi) 2171bc3d5698SJohn Baldwin jz .L019sw_end 2172bc3d5698SJohn Baldwin 2173bc3d5698SJohn Baldwin movl 16(%edi),%eax 2174bc3d5698SJohn Baldwin mull %eax 2175bc3d5698SJohn Baldwin movl %eax,32(%esi) 2176bc3d5698SJohn Baldwin decl %ebx 2177bc3d5698SJohn Baldwin movl %edx,36(%esi) 2178bc3d5698SJohn Baldwin jz .L019sw_end 2179bc3d5698SJohn Baldwin 2180bc3d5698SJohn Baldwin movl 20(%edi),%eax 2181bc3d5698SJohn Baldwin mull %eax 2182bc3d5698SJohn Baldwin movl %eax,40(%esi) 2183bc3d5698SJohn Baldwin decl %ebx 2184bc3d5698SJohn Baldwin movl %edx,44(%esi) 2185bc3d5698SJohn Baldwin jz .L019sw_end 2186bc3d5698SJohn Baldwin 2187bc3d5698SJohn Baldwin movl 24(%edi),%eax 2188bc3d5698SJohn Baldwin mull %eax 2189bc3d5698SJohn Baldwin movl %eax,48(%esi) 2190bc3d5698SJohn Baldwin movl %edx,52(%esi) 2191bc3d5698SJohn Baldwin.L019sw_end: 2192bc3d5698SJohn Baldwin popl %edi 2193bc3d5698SJohn Baldwin popl %esi 2194bc3d5698SJohn Baldwin popl %ebx 2195bc3d5698SJohn Baldwin popl %ebp 2196bc3d5698SJohn Baldwin ret 2197bc3d5698SJohn Baldwin.size bn_sqr_words,.-.L_bn_sqr_words_begin 2198bc3d5698SJohn Baldwin.globl bn_div_words 2199bc3d5698SJohn Baldwin.type bn_div_words,@function 2200bc3d5698SJohn Baldwin.align 16 2201bc3d5698SJohn Baldwinbn_div_words: 2202bc3d5698SJohn Baldwin.L_bn_div_words_begin: 2203*c0855eaaSJohn Baldwin #ifdef __CET__ 2204*c0855eaaSJohn Baldwin 2205*c0855eaaSJohn Baldwin.byte 243,15,30,251 2206*c0855eaaSJohn Baldwin #endif 2207*c0855eaaSJohn Baldwin 2208bc3d5698SJohn Baldwin movl 4(%esp),%edx 2209bc3d5698SJohn Baldwin movl 8(%esp),%eax 2210bc3d5698SJohn Baldwin movl 12(%esp),%ecx 2211bc3d5698SJohn Baldwin divl %ecx 2212bc3d5698SJohn Baldwin ret 2213bc3d5698SJohn Baldwin.size bn_div_words,.-.L_bn_div_words_begin 2214bc3d5698SJohn Baldwin.globl bn_add_words 2215bc3d5698SJohn Baldwin.type bn_add_words,@function 2216bc3d5698SJohn Baldwin.align 16 2217bc3d5698SJohn Baldwinbn_add_words: 2218bc3d5698SJohn Baldwin.L_bn_add_words_begin: 2219*c0855eaaSJohn Baldwin #ifdef __CET__ 2220*c0855eaaSJohn Baldwin 2221*c0855eaaSJohn Baldwin.byte 243,15,30,251 2222*c0855eaaSJohn Baldwin #endif 2223*c0855eaaSJohn Baldwin 2224bc3d5698SJohn Baldwin pushl %ebp 2225bc3d5698SJohn Baldwin pushl %ebx 2226bc3d5698SJohn Baldwin pushl %esi 2227bc3d5698SJohn Baldwin pushl %edi 2228bc3d5698SJohn Baldwin 2229bc3d5698SJohn Baldwin movl 20(%esp),%ebx 2230bc3d5698SJohn Baldwin movl 24(%esp),%esi 2231bc3d5698SJohn Baldwin movl 28(%esp),%edi 2232bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2233bc3d5698SJohn Baldwin xorl %eax,%eax 2234bc3d5698SJohn Baldwin andl $4294967288,%ebp 2235bc3d5698SJohn Baldwin jz .L020aw_finish 2236bc3d5698SJohn Baldwin.L021aw_loop: 2237bc3d5698SJohn Baldwin 2238bc3d5698SJohn Baldwin movl (%esi),%ecx 2239bc3d5698SJohn Baldwin movl (%edi),%edx 2240bc3d5698SJohn Baldwin addl %eax,%ecx 2241bc3d5698SJohn Baldwin movl $0,%eax 2242bc3d5698SJohn Baldwin adcl %eax,%eax 2243bc3d5698SJohn Baldwin addl %edx,%ecx 2244bc3d5698SJohn Baldwin adcl $0,%eax 2245bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2246bc3d5698SJohn Baldwin 2247bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2248bc3d5698SJohn Baldwin movl 4(%edi),%edx 2249bc3d5698SJohn Baldwin addl %eax,%ecx 2250bc3d5698SJohn Baldwin movl $0,%eax 2251bc3d5698SJohn Baldwin adcl %eax,%eax 2252bc3d5698SJohn Baldwin addl %edx,%ecx 2253bc3d5698SJohn Baldwin adcl $0,%eax 2254bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2255bc3d5698SJohn Baldwin 2256bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2257bc3d5698SJohn Baldwin movl 8(%edi),%edx 2258bc3d5698SJohn Baldwin addl %eax,%ecx 2259bc3d5698SJohn Baldwin movl $0,%eax 2260bc3d5698SJohn Baldwin adcl %eax,%eax 2261bc3d5698SJohn Baldwin addl %edx,%ecx 2262bc3d5698SJohn Baldwin adcl $0,%eax 2263bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2264bc3d5698SJohn Baldwin 2265bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2266bc3d5698SJohn Baldwin movl 12(%edi),%edx 2267bc3d5698SJohn Baldwin addl %eax,%ecx 2268bc3d5698SJohn Baldwin movl $0,%eax 2269bc3d5698SJohn Baldwin adcl %eax,%eax 2270bc3d5698SJohn Baldwin addl %edx,%ecx 2271bc3d5698SJohn Baldwin adcl $0,%eax 2272bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2273bc3d5698SJohn Baldwin 2274bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2275bc3d5698SJohn Baldwin movl 16(%edi),%edx 2276bc3d5698SJohn Baldwin addl %eax,%ecx 2277bc3d5698SJohn Baldwin movl $0,%eax 2278bc3d5698SJohn Baldwin adcl %eax,%eax 2279bc3d5698SJohn Baldwin addl %edx,%ecx 2280bc3d5698SJohn Baldwin adcl $0,%eax 2281bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2282bc3d5698SJohn Baldwin 2283bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2284bc3d5698SJohn Baldwin movl 20(%edi),%edx 2285bc3d5698SJohn Baldwin addl %eax,%ecx 2286bc3d5698SJohn Baldwin movl $0,%eax 2287bc3d5698SJohn Baldwin adcl %eax,%eax 2288bc3d5698SJohn Baldwin addl %edx,%ecx 2289bc3d5698SJohn Baldwin adcl $0,%eax 2290bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2291bc3d5698SJohn Baldwin 2292bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2293bc3d5698SJohn Baldwin movl 24(%edi),%edx 2294bc3d5698SJohn Baldwin addl %eax,%ecx 2295bc3d5698SJohn Baldwin movl $0,%eax 2296bc3d5698SJohn Baldwin adcl %eax,%eax 2297bc3d5698SJohn Baldwin addl %edx,%ecx 2298bc3d5698SJohn Baldwin adcl $0,%eax 2299bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2300bc3d5698SJohn Baldwin 2301bc3d5698SJohn Baldwin movl 28(%esi),%ecx 2302bc3d5698SJohn Baldwin movl 28(%edi),%edx 2303bc3d5698SJohn Baldwin addl %eax,%ecx 2304bc3d5698SJohn Baldwin movl $0,%eax 2305bc3d5698SJohn Baldwin adcl %eax,%eax 2306bc3d5698SJohn Baldwin addl %edx,%ecx 2307bc3d5698SJohn Baldwin adcl $0,%eax 2308bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 2309bc3d5698SJohn Baldwin 2310bc3d5698SJohn Baldwin addl $32,%esi 2311bc3d5698SJohn Baldwin addl $32,%edi 2312bc3d5698SJohn Baldwin addl $32,%ebx 2313bc3d5698SJohn Baldwin subl $8,%ebp 2314bc3d5698SJohn Baldwin jnz .L021aw_loop 2315bc3d5698SJohn Baldwin.L020aw_finish: 2316bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2317bc3d5698SJohn Baldwin andl $7,%ebp 2318bc3d5698SJohn Baldwin jz .L022aw_end 2319bc3d5698SJohn Baldwin 2320bc3d5698SJohn Baldwin movl (%esi),%ecx 2321bc3d5698SJohn Baldwin movl (%edi),%edx 2322bc3d5698SJohn Baldwin addl %eax,%ecx 2323bc3d5698SJohn Baldwin movl $0,%eax 2324bc3d5698SJohn Baldwin adcl %eax,%eax 2325bc3d5698SJohn Baldwin addl %edx,%ecx 2326bc3d5698SJohn Baldwin adcl $0,%eax 2327bc3d5698SJohn Baldwin decl %ebp 2328bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2329bc3d5698SJohn Baldwin jz .L022aw_end 2330bc3d5698SJohn Baldwin 2331bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2332bc3d5698SJohn Baldwin movl 4(%edi),%edx 2333bc3d5698SJohn Baldwin addl %eax,%ecx 2334bc3d5698SJohn Baldwin movl $0,%eax 2335bc3d5698SJohn Baldwin adcl %eax,%eax 2336bc3d5698SJohn Baldwin addl %edx,%ecx 2337bc3d5698SJohn Baldwin adcl $0,%eax 2338bc3d5698SJohn Baldwin decl %ebp 2339bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2340bc3d5698SJohn Baldwin jz .L022aw_end 2341bc3d5698SJohn Baldwin 2342bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2343bc3d5698SJohn Baldwin movl 8(%edi),%edx 2344bc3d5698SJohn Baldwin addl %eax,%ecx 2345bc3d5698SJohn Baldwin movl $0,%eax 2346bc3d5698SJohn Baldwin adcl %eax,%eax 2347bc3d5698SJohn Baldwin addl %edx,%ecx 2348bc3d5698SJohn Baldwin adcl $0,%eax 2349bc3d5698SJohn Baldwin decl %ebp 2350bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2351bc3d5698SJohn Baldwin jz .L022aw_end 2352bc3d5698SJohn Baldwin 2353bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2354bc3d5698SJohn Baldwin movl 12(%edi),%edx 2355bc3d5698SJohn Baldwin addl %eax,%ecx 2356bc3d5698SJohn Baldwin movl $0,%eax 2357bc3d5698SJohn Baldwin adcl %eax,%eax 2358bc3d5698SJohn Baldwin addl %edx,%ecx 2359bc3d5698SJohn Baldwin adcl $0,%eax 2360bc3d5698SJohn Baldwin decl %ebp 2361bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2362bc3d5698SJohn Baldwin jz .L022aw_end 2363bc3d5698SJohn Baldwin 2364bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2365bc3d5698SJohn Baldwin movl 16(%edi),%edx 2366bc3d5698SJohn Baldwin addl %eax,%ecx 2367bc3d5698SJohn Baldwin movl $0,%eax 2368bc3d5698SJohn Baldwin adcl %eax,%eax 2369bc3d5698SJohn Baldwin addl %edx,%ecx 2370bc3d5698SJohn Baldwin adcl $0,%eax 2371bc3d5698SJohn Baldwin decl %ebp 2372bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2373bc3d5698SJohn Baldwin jz .L022aw_end 2374bc3d5698SJohn Baldwin 2375bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2376bc3d5698SJohn Baldwin movl 20(%edi),%edx 2377bc3d5698SJohn Baldwin addl %eax,%ecx 2378bc3d5698SJohn Baldwin movl $0,%eax 2379bc3d5698SJohn Baldwin adcl %eax,%eax 2380bc3d5698SJohn Baldwin addl %edx,%ecx 2381bc3d5698SJohn Baldwin adcl $0,%eax 2382bc3d5698SJohn Baldwin decl %ebp 2383bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2384bc3d5698SJohn Baldwin jz .L022aw_end 2385bc3d5698SJohn Baldwin 2386bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2387bc3d5698SJohn Baldwin movl 24(%edi),%edx 2388bc3d5698SJohn Baldwin addl %eax,%ecx 2389bc3d5698SJohn Baldwin movl $0,%eax 2390bc3d5698SJohn Baldwin adcl %eax,%eax 2391bc3d5698SJohn Baldwin addl %edx,%ecx 2392bc3d5698SJohn Baldwin adcl $0,%eax 2393bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2394bc3d5698SJohn Baldwin.L022aw_end: 2395bc3d5698SJohn Baldwin popl %edi 2396bc3d5698SJohn Baldwin popl %esi 2397bc3d5698SJohn Baldwin popl %ebx 2398bc3d5698SJohn Baldwin popl %ebp 2399bc3d5698SJohn Baldwin ret 2400bc3d5698SJohn Baldwin.size bn_add_words,.-.L_bn_add_words_begin 2401bc3d5698SJohn Baldwin.globl bn_sub_words 2402bc3d5698SJohn Baldwin.type bn_sub_words,@function 2403bc3d5698SJohn Baldwin.align 16 2404bc3d5698SJohn Baldwinbn_sub_words: 2405bc3d5698SJohn Baldwin.L_bn_sub_words_begin: 2406*c0855eaaSJohn Baldwin #ifdef __CET__ 2407*c0855eaaSJohn Baldwin 2408*c0855eaaSJohn Baldwin.byte 243,15,30,251 2409*c0855eaaSJohn Baldwin #endif 2410*c0855eaaSJohn Baldwin 2411bc3d5698SJohn Baldwin pushl %ebp 2412bc3d5698SJohn Baldwin pushl %ebx 2413bc3d5698SJohn Baldwin pushl %esi 2414bc3d5698SJohn Baldwin pushl %edi 2415bc3d5698SJohn Baldwin 2416bc3d5698SJohn Baldwin movl 20(%esp),%ebx 2417bc3d5698SJohn Baldwin movl 24(%esp),%esi 2418bc3d5698SJohn Baldwin movl 28(%esp),%edi 2419bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2420bc3d5698SJohn Baldwin xorl %eax,%eax 2421bc3d5698SJohn Baldwin andl $4294967288,%ebp 2422bc3d5698SJohn Baldwin jz .L023aw_finish 2423bc3d5698SJohn Baldwin.L024aw_loop: 2424bc3d5698SJohn Baldwin 2425bc3d5698SJohn Baldwin movl (%esi),%ecx 2426bc3d5698SJohn Baldwin movl (%edi),%edx 2427bc3d5698SJohn Baldwin subl %eax,%ecx 2428bc3d5698SJohn Baldwin movl $0,%eax 2429bc3d5698SJohn Baldwin adcl %eax,%eax 2430bc3d5698SJohn Baldwin subl %edx,%ecx 2431bc3d5698SJohn Baldwin adcl $0,%eax 2432bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2433bc3d5698SJohn Baldwin 2434bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2435bc3d5698SJohn Baldwin movl 4(%edi),%edx 2436bc3d5698SJohn Baldwin subl %eax,%ecx 2437bc3d5698SJohn Baldwin movl $0,%eax 2438bc3d5698SJohn Baldwin adcl %eax,%eax 2439bc3d5698SJohn Baldwin subl %edx,%ecx 2440bc3d5698SJohn Baldwin adcl $0,%eax 2441bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2442bc3d5698SJohn Baldwin 2443bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2444bc3d5698SJohn Baldwin movl 8(%edi),%edx 2445bc3d5698SJohn Baldwin subl %eax,%ecx 2446bc3d5698SJohn Baldwin movl $0,%eax 2447bc3d5698SJohn Baldwin adcl %eax,%eax 2448bc3d5698SJohn Baldwin subl %edx,%ecx 2449bc3d5698SJohn Baldwin adcl $0,%eax 2450bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2451bc3d5698SJohn Baldwin 2452bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2453bc3d5698SJohn Baldwin movl 12(%edi),%edx 2454bc3d5698SJohn Baldwin subl %eax,%ecx 2455bc3d5698SJohn Baldwin movl $0,%eax 2456bc3d5698SJohn Baldwin adcl %eax,%eax 2457bc3d5698SJohn Baldwin subl %edx,%ecx 2458bc3d5698SJohn Baldwin adcl $0,%eax 2459bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2460bc3d5698SJohn Baldwin 2461bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2462bc3d5698SJohn Baldwin movl 16(%edi),%edx 2463bc3d5698SJohn Baldwin subl %eax,%ecx 2464bc3d5698SJohn Baldwin movl $0,%eax 2465bc3d5698SJohn Baldwin adcl %eax,%eax 2466bc3d5698SJohn Baldwin subl %edx,%ecx 2467bc3d5698SJohn Baldwin adcl $0,%eax 2468bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2469bc3d5698SJohn Baldwin 2470bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2471bc3d5698SJohn Baldwin movl 20(%edi),%edx 2472bc3d5698SJohn Baldwin subl %eax,%ecx 2473bc3d5698SJohn Baldwin movl $0,%eax 2474bc3d5698SJohn Baldwin adcl %eax,%eax 2475bc3d5698SJohn Baldwin subl %edx,%ecx 2476bc3d5698SJohn Baldwin adcl $0,%eax 2477bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2478bc3d5698SJohn Baldwin 2479bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2480bc3d5698SJohn Baldwin movl 24(%edi),%edx 2481bc3d5698SJohn Baldwin subl %eax,%ecx 2482bc3d5698SJohn Baldwin movl $0,%eax 2483bc3d5698SJohn Baldwin adcl %eax,%eax 2484bc3d5698SJohn Baldwin subl %edx,%ecx 2485bc3d5698SJohn Baldwin adcl $0,%eax 2486bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2487bc3d5698SJohn Baldwin 2488bc3d5698SJohn Baldwin movl 28(%esi),%ecx 2489bc3d5698SJohn Baldwin movl 28(%edi),%edx 2490bc3d5698SJohn Baldwin subl %eax,%ecx 2491bc3d5698SJohn Baldwin movl $0,%eax 2492bc3d5698SJohn Baldwin adcl %eax,%eax 2493bc3d5698SJohn Baldwin subl %edx,%ecx 2494bc3d5698SJohn Baldwin adcl $0,%eax 2495bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 2496bc3d5698SJohn Baldwin 2497bc3d5698SJohn Baldwin addl $32,%esi 2498bc3d5698SJohn Baldwin addl $32,%edi 2499bc3d5698SJohn Baldwin addl $32,%ebx 2500bc3d5698SJohn Baldwin subl $8,%ebp 2501bc3d5698SJohn Baldwin jnz .L024aw_loop 2502bc3d5698SJohn Baldwin.L023aw_finish: 2503bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2504bc3d5698SJohn Baldwin andl $7,%ebp 2505bc3d5698SJohn Baldwin jz .L025aw_end 2506bc3d5698SJohn Baldwin 2507bc3d5698SJohn Baldwin movl (%esi),%ecx 2508bc3d5698SJohn Baldwin movl (%edi),%edx 2509bc3d5698SJohn Baldwin subl %eax,%ecx 2510bc3d5698SJohn Baldwin movl $0,%eax 2511bc3d5698SJohn Baldwin adcl %eax,%eax 2512bc3d5698SJohn Baldwin subl %edx,%ecx 2513bc3d5698SJohn Baldwin adcl $0,%eax 2514bc3d5698SJohn Baldwin decl %ebp 2515bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2516bc3d5698SJohn Baldwin jz .L025aw_end 2517bc3d5698SJohn Baldwin 2518bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2519bc3d5698SJohn Baldwin movl 4(%edi),%edx 2520bc3d5698SJohn Baldwin subl %eax,%ecx 2521bc3d5698SJohn Baldwin movl $0,%eax 2522bc3d5698SJohn Baldwin adcl %eax,%eax 2523bc3d5698SJohn Baldwin subl %edx,%ecx 2524bc3d5698SJohn Baldwin adcl $0,%eax 2525bc3d5698SJohn Baldwin decl %ebp 2526bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2527bc3d5698SJohn Baldwin jz .L025aw_end 2528bc3d5698SJohn Baldwin 2529bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2530bc3d5698SJohn Baldwin movl 8(%edi),%edx 2531bc3d5698SJohn Baldwin subl %eax,%ecx 2532bc3d5698SJohn Baldwin movl $0,%eax 2533bc3d5698SJohn Baldwin adcl %eax,%eax 2534bc3d5698SJohn Baldwin subl %edx,%ecx 2535bc3d5698SJohn Baldwin adcl $0,%eax 2536bc3d5698SJohn Baldwin decl %ebp 2537bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2538bc3d5698SJohn Baldwin jz .L025aw_end 2539bc3d5698SJohn Baldwin 2540bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2541bc3d5698SJohn Baldwin movl 12(%edi),%edx 2542bc3d5698SJohn Baldwin subl %eax,%ecx 2543bc3d5698SJohn Baldwin movl $0,%eax 2544bc3d5698SJohn Baldwin adcl %eax,%eax 2545bc3d5698SJohn Baldwin subl %edx,%ecx 2546bc3d5698SJohn Baldwin adcl $0,%eax 2547bc3d5698SJohn Baldwin decl %ebp 2548bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2549bc3d5698SJohn Baldwin jz .L025aw_end 2550bc3d5698SJohn Baldwin 2551bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2552bc3d5698SJohn Baldwin movl 16(%edi),%edx 2553bc3d5698SJohn Baldwin subl %eax,%ecx 2554bc3d5698SJohn Baldwin movl $0,%eax 2555bc3d5698SJohn Baldwin adcl %eax,%eax 2556bc3d5698SJohn Baldwin subl %edx,%ecx 2557bc3d5698SJohn Baldwin adcl $0,%eax 2558bc3d5698SJohn Baldwin decl %ebp 2559bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2560bc3d5698SJohn Baldwin jz .L025aw_end 2561bc3d5698SJohn Baldwin 2562bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2563bc3d5698SJohn Baldwin movl 20(%edi),%edx 2564bc3d5698SJohn Baldwin subl %eax,%ecx 2565bc3d5698SJohn Baldwin movl $0,%eax 2566bc3d5698SJohn Baldwin adcl %eax,%eax 2567bc3d5698SJohn Baldwin subl %edx,%ecx 2568bc3d5698SJohn Baldwin adcl $0,%eax 2569bc3d5698SJohn Baldwin decl %ebp 2570bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2571bc3d5698SJohn Baldwin jz .L025aw_end 2572bc3d5698SJohn Baldwin 2573bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2574bc3d5698SJohn Baldwin movl 24(%edi),%edx 2575bc3d5698SJohn Baldwin subl %eax,%ecx 2576bc3d5698SJohn Baldwin movl $0,%eax 2577bc3d5698SJohn Baldwin adcl %eax,%eax 2578bc3d5698SJohn Baldwin subl %edx,%ecx 2579bc3d5698SJohn Baldwin adcl $0,%eax 2580bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2581bc3d5698SJohn Baldwin.L025aw_end: 2582bc3d5698SJohn Baldwin popl %edi 2583bc3d5698SJohn Baldwin popl %esi 2584bc3d5698SJohn Baldwin popl %ebx 2585bc3d5698SJohn Baldwin popl %ebp 2586bc3d5698SJohn Baldwin ret 2587bc3d5698SJohn Baldwin.size bn_sub_words,.-.L_bn_sub_words_begin 2588bc3d5698SJohn Baldwin.globl bn_sub_part_words 2589bc3d5698SJohn Baldwin.type bn_sub_part_words,@function 2590bc3d5698SJohn Baldwin.align 16 2591bc3d5698SJohn Baldwinbn_sub_part_words: 2592bc3d5698SJohn Baldwin.L_bn_sub_part_words_begin: 2593*c0855eaaSJohn Baldwin #ifdef __CET__ 2594*c0855eaaSJohn Baldwin 2595*c0855eaaSJohn Baldwin.byte 243,15,30,251 2596*c0855eaaSJohn Baldwin #endif 2597*c0855eaaSJohn Baldwin 2598bc3d5698SJohn Baldwin pushl %ebp 2599bc3d5698SJohn Baldwin pushl %ebx 2600bc3d5698SJohn Baldwin pushl %esi 2601bc3d5698SJohn Baldwin pushl %edi 2602bc3d5698SJohn Baldwin 2603bc3d5698SJohn Baldwin movl 20(%esp),%ebx 2604bc3d5698SJohn Baldwin movl 24(%esp),%esi 2605bc3d5698SJohn Baldwin movl 28(%esp),%edi 2606bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2607bc3d5698SJohn Baldwin xorl %eax,%eax 2608bc3d5698SJohn Baldwin andl $4294967288,%ebp 2609bc3d5698SJohn Baldwin jz .L026aw_finish 2610bc3d5698SJohn Baldwin.L027aw_loop: 2611bc3d5698SJohn Baldwin 2612bc3d5698SJohn Baldwin movl (%esi),%ecx 2613bc3d5698SJohn Baldwin movl (%edi),%edx 2614bc3d5698SJohn Baldwin subl %eax,%ecx 2615bc3d5698SJohn Baldwin movl $0,%eax 2616bc3d5698SJohn Baldwin adcl %eax,%eax 2617bc3d5698SJohn Baldwin subl %edx,%ecx 2618bc3d5698SJohn Baldwin adcl $0,%eax 2619bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2620bc3d5698SJohn Baldwin 2621bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2622bc3d5698SJohn Baldwin movl 4(%edi),%edx 2623bc3d5698SJohn Baldwin subl %eax,%ecx 2624bc3d5698SJohn Baldwin movl $0,%eax 2625bc3d5698SJohn Baldwin adcl %eax,%eax 2626bc3d5698SJohn Baldwin subl %edx,%ecx 2627bc3d5698SJohn Baldwin adcl $0,%eax 2628bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2629bc3d5698SJohn Baldwin 2630bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2631bc3d5698SJohn Baldwin movl 8(%edi),%edx 2632bc3d5698SJohn Baldwin subl %eax,%ecx 2633bc3d5698SJohn Baldwin movl $0,%eax 2634bc3d5698SJohn Baldwin adcl %eax,%eax 2635bc3d5698SJohn Baldwin subl %edx,%ecx 2636bc3d5698SJohn Baldwin adcl $0,%eax 2637bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2638bc3d5698SJohn Baldwin 2639bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2640bc3d5698SJohn Baldwin movl 12(%edi),%edx 2641bc3d5698SJohn Baldwin subl %eax,%ecx 2642bc3d5698SJohn Baldwin movl $0,%eax 2643bc3d5698SJohn Baldwin adcl %eax,%eax 2644bc3d5698SJohn Baldwin subl %edx,%ecx 2645bc3d5698SJohn Baldwin adcl $0,%eax 2646bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2647bc3d5698SJohn Baldwin 2648bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2649bc3d5698SJohn Baldwin movl 16(%edi),%edx 2650bc3d5698SJohn Baldwin subl %eax,%ecx 2651bc3d5698SJohn Baldwin movl $0,%eax 2652bc3d5698SJohn Baldwin adcl %eax,%eax 2653bc3d5698SJohn Baldwin subl %edx,%ecx 2654bc3d5698SJohn Baldwin adcl $0,%eax 2655bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2656bc3d5698SJohn Baldwin 2657bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2658bc3d5698SJohn Baldwin movl 20(%edi),%edx 2659bc3d5698SJohn Baldwin subl %eax,%ecx 2660bc3d5698SJohn Baldwin movl $0,%eax 2661bc3d5698SJohn Baldwin adcl %eax,%eax 2662bc3d5698SJohn Baldwin subl %edx,%ecx 2663bc3d5698SJohn Baldwin adcl $0,%eax 2664bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2665bc3d5698SJohn Baldwin 2666bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2667bc3d5698SJohn Baldwin movl 24(%edi),%edx 2668bc3d5698SJohn Baldwin subl %eax,%ecx 2669bc3d5698SJohn Baldwin movl $0,%eax 2670bc3d5698SJohn Baldwin adcl %eax,%eax 2671bc3d5698SJohn Baldwin subl %edx,%ecx 2672bc3d5698SJohn Baldwin adcl $0,%eax 2673bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2674bc3d5698SJohn Baldwin 2675bc3d5698SJohn Baldwin movl 28(%esi),%ecx 2676bc3d5698SJohn Baldwin movl 28(%edi),%edx 2677bc3d5698SJohn Baldwin subl %eax,%ecx 2678bc3d5698SJohn Baldwin movl $0,%eax 2679bc3d5698SJohn Baldwin adcl %eax,%eax 2680bc3d5698SJohn Baldwin subl %edx,%ecx 2681bc3d5698SJohn Baldwin adcl $0,%eax 2682bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 2683bc3d5698SJohn Baldwin 2684bc3d5698SJohn Baldwin addl $32,%esi 2685bc3d5698SJohn Baldwin addl $32,%edi 2686bc3d5698SJohn Baldwin addl $32,%ebx 2687bc3d5698SJohn Baldwin subl $8,%ebp 2688bc3d5698SJohn Baldwin jnz .L027aw_loop 2689bc3d5698SJohn Baldwin.L026aw_finish: 2690bc3d5698SJohn Baldwin movl 32(%esp),%ebp 2691bc3d5698SJohn Baldwin andl $7,%ebp 2692bc3d5698SJohn Baldwin jz .L028aw_end 2693bc3d5698SJohn Baldwin 2694bc3d5698SJohn Baldwin movl (%esi),%ecx 2695bc3d5698SJohn Baldwin movl (%edi),%edx 2696bc3d5698SJohn Baldwin subl %eax,%ecx 2697bc3d5698SJohn Baldwin movl $0,%eax 2698bc3d5698SJohn Baldwin adcl %eax,%eax 2699bc3d5698SJohn Baldwin subl %edx,%ecx 2700bc3d5698SJohn Baldwin adcl $0,%eax 2701bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2702bc3d5698SJohn Baldwin addl $4,%esi 2703bc3d5698SJohn Baldwin addl $4,%edi 2704bc3d5698SJohn Baldwin addl $4,%ebx 2705bc3d5698SJohn Baldwin decl %ebp 2706bc3d5698SJohn Baldwin jz .L028aw_end 2707bc3d5698SJohn Baldwin 2708bc3d5698SJohn Baldwin movl (%esi),%ecx 2709bc3d5698SJohn Baldwin movl (%edi),%edx 2710bc3d5698SJohn Baldwin subl %eax,%ecx 2711bc3d5698SJohn Baldwin movl $0,%eax 2712bc3d5698SJohn Baldwin adcl %eax,%eax 2713bc3d5698SJohn Baldwin subl %edx,%ecx 2714bc3d5698SJohn Baldwin adcl $0,%eax 2715bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2716bc3d5698SJohn Baldwin addl $4,%esi 2717bc3d5698SJohn Baldwin addl $4,%edi 2718bc3d5698SJohn Baldwin addl $4,%ebx 2719bc3d5698SJohn Baldwin decl %ebp 2720bc3d5698SJohn Baldwin jz .L028aw_end 2721bc3d5698SJohn Baldwin 2722bc3d5698SJohn Baldwin movl (%esi),%ecx 2723bc3d5698SJohn Baldwin movl (%edi),%edx 2724bc3d5698SJohn Baldwin subl %eax,%ecx 2725bc3d5698SJohn Baldwin movl $0,%eax 2726bc3d5698SJohn Baldwin adcl %eax,%eax 2727bc3d5698SJohn Baldwin subl %edx,%ecx 2728bc3d5698SJohn Baldwin adcl $0,%eax 2729bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2730bc3d5698SJohn Baldwin addl $4,%esi 2731bc3d5698SJohn Baldwin addl $4,%edi 2732bc3d5698SJohn Baldwin addl $4,%ebx 2733bc3d5698SJohn Baldwin decl %ebp 2734bc3d5698SJohn Baldwin jz .L028aw_end 2735bc3d5698SJohn Baldwin 2736bc3d5698SJohn Baldwin movl (%esi),%ecx 2737bc3d5698SJohn Baldwin movl (%edi),%edx 2738bc3d5698SJohn Baldwin subl %eax,%ecx 2739bc3d5698SJohn Baldwin movl $0,%eax 2740bc3d5698SJohn Baldwin adcl %eax,%eax 2741bc3d5698SJohn Baldwin subl %edx,%ecx 2742bc3d5698SJohn Baldwin adcl $0,%eax 2743bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2744bc3d5698SJohn Baldwin addl $4,%esi 2745bc3d5698SJohn Baldwin addl $4,%edi 2746bc3d5698SJohn Baldwin addl $4,%ebx 2747bc3d5698SJohn Baldwin decl %ebp 2748bc3d5698SJohn Baldwin jz .L028aw_end 2749bc3d5698SJohn Baldwin 2750bc3d5698SJohn Baldwin movl (%esi),%ecx 2751bc3d5698SJohn Baldwin movl (%edi),%edx 2752bc3d5698SJohn Baldwin subl %eax,%ecx 2753bc3d5698SJohn Baldwin movl $0,%eax 2754bc3d5698SJohn Baldwin adcl %eax,%eax 2755bc3d5698SJohn Baldwin subl %edx,%ecx 2756bc3d5698SJohn Baldwin adcl $0,%eax 2757bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2758bc3d5698SJohn Baldwin addl $4,%esi 2759bc3d5698SJohn Baldwin addl $4,%edi 2760bc3d5698SJohn Baldwin addl $4,%ebx 2761bc3d5698SJohn Baldwin decl %ebp 2762bc3d5698SJohn Baldwin jz .L028aw_end 2763bc3d5698SJohn Baldwin 2764bc3d5698SJohn Baldwin movl (%esi),%ecx 2765bc3d5698SJohn Baldwin movl (%edi),%edx 2766bc3d5698SJohn Baldwin subl %eax,%ecx 2767bc3d5698SJohn Baldwin movl $0,%eax 2768bc3d5698SJohn Baldwin adcl %eax,%eax 2769bc3d5698SJohn Baldwin subl %edx,%ecx 2770bc3d5698SJohn Baldwin adcl $0,%eax 2771bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2772bc3d5698SJohn Baldwin addl $4,%esi 2773bc3d5698SJohn Baldwin addl $4,%edi 2774bc3d5698SJohn Baldwin addl $4,%ebx 2775bc3d5698SJohn Baldwin decl %ebp 2776bc3d5698SJohn Baldwin jz .L028aw_end 2777bc3d5698SJohn Baldwin 2778bc3d5698SJohn Baldwin movl (%esi),%ecx 2779bc3d5698SJohn Baldwin movl (%edi),%edx 2780bc3d5698SJohn Baldwin subl %eax,%ecx 2781bc3d5698SJohn Baldwin movl $0,%eax 2782bc3d5698SJohn Baldwin adcl %eax,%eax 2783bc3d5698SJohn Baldwin subl %edx,%ecx 2784bc3d5698SJohn Baldwin adcl $0,%eax 2785bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2786bc3d5698SJohn Baldwin addl $4,%esi 2787bc3d5698SJohn Baldwin addl $4,%edi 2788bc3d5698SJohn Baldwin addl $4,%ebx 2789bc3d5698SJohn Baldwin.L028aw_end: 2790bc3d5698SJohn Baldwin cmpl $0,36(%esp) 2791bc3d5698SJohn Baldwin je .L029pw_end 2792bc3d5698SJohn Baldwin movl 36(%esp),%ebp 2793bc3d5698SJohn Baldwin cmpl $0,%ebp 2794bc3d5698SJohn Baldwin je .L029pw_end 2795bc3d5698SJohn Baldwin jge .L030pw_pos 2796bc3d5698SJohn Baldwin 2797bc3d5698SJohn Baldwin movl $0,%edx 2798bc3d5698SJohn Baldwin subl %ebp,%edx 2799bc3d5698SJohn Baldwin movl %edx,%ebp 2800bc3d5698SJohn Baldwin andl $4294967288,%ebp 2801bc3d5698SJohn Baldwin jz .L031pw_neg_finish 2802bc3d5698SJohn Baldwin.L032pw_neg_loop: 2803bc3d5698SJohn Baldwin 2804bc3d5698SJohn Baldwin movl $0,%ecx 2805bc3d5698SJohn Baldwin movl (%edi),%edx 2806bc3d5698SJohn Baldwin subl %eax,%ecx 2807bc3d5698SJohn Baldwin movl $0,%eax 2808bc3d5698SJohn Baldwin adcl %eax,%eax 2809bc3d5698SJohn Baldwin subl %edx,%ecx 2810bc3d5698SJohn Baldwin adcl $0,%eax 2811bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2812bc3d5698SJohn Baldwin 2813bc3d5698SJohn Baldwin movl $0,%ecx 2814bc3d5698SJohn Baldwin movl 4(%edi),%edx 2815bc3d5698SJohn Baldwin subl %eax,%ecx 2816bc3d5698SJohn Baldwin movl $0,%eax 2817bc3d5698SJohn Baldwin adcl %eax,%eax 2818bc3d5698SJohn Baldwin subl %edx,%ecx 2819bc3d5698SJohn Baldwin adcl $0,%eax 2820bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2821bc3d5698SJohn Baldwin 2822bc3d5698SJohn Baldwin movl $0,%ecx 2823bc3d5698SJohn Baldwin movl 8(%edi),%edx 2824bc3d5698SJohn Baldwin subl %eax,%ecx 2825bc3d5698SJohn Baldwin movl $0,%eax 2826bc3d5698SJohn Baldwin adcl %eax,%eax 2827bc3d5698SJohn Baldwin subl %edx,%ecx 2828bc3d5698SJohn Baldwin adcl $0,%eax 2829bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2830bc3d5698SJohn Baldwin 2831bc3d5698SJohn Baldwin movl $0,%ecx 2832bc3d5698SJohn Baldwin movl 12(%edi),%edx 2833bc3d5698SJohn Baldwin subl %eax,%ecx 2834bc3d5698SJohn Baldwin movl $0,%eax 2835bc3d5698SJohn Baldwin adcl %eax,%eax 2836bc3d5698SJohn Baldwin subl %edx,%ecx 2837bc3d5698SJohn Baldwin adcl $0,%eax 2838bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2839bc3d5698SJohn Baldwin 2840bc3d5698SJohn Baldwin movl $0,%ecx 2841bc3d5698SJohn Baldwin movl 16(%edi),%edx 2842bc3d5698SJohn Baldwin subl %eax,%ecx 2843bc3d5698SJohn Baldwin movl $0,%eax 2844bc3d5698SJohn Baldwin adcl %eax,%eax 2845bc3d5698SJohn Baldwin subl %edx,%ecx 2846bc3d5698SJohn Baldwin adcl $0,%eax 2847bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2848bc3d5698SJohn Baldwin 2849bc3d5698SJohn Baldwin movl $0,%ecx 2850bc3d5698SJohn Baldwin movl 20(%edi),%edx 2851bc3d5698SJohn Baldwin subl %eax,%ecx 2852bc3d5698SJohn Baldwin movl $0,%eax 2853bc3d5698SJohn Baldwin adcl %eax,%eax 2854bc3d5698SJohn Baldwin subl %edx,%ecx 2855bc3d5698SJohn Baldwin adcl $0,%eax 2856bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2857bc3d5698SJohn Baldwin 2858bc3d5698SJohn Baldwin movl $0,%ecx 2859bc3d5698SJohn Baldwin movl 24(%edi),%edx 2860bc3d5698SJohn Baldwin subl %eax,%ecx 2861bc3d5698SJohn Baldwin movl $0,%eax 2862bc3d5698SJohn Baldwin adcl %eax,%eax 2863bc3d5698SJohn Baldwin subl %edx,%ecx 2864bc3d5698SJohn Baldwin adcl $0,%eax 2865bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2866bc3d5698SJohn Baldwin 2867bc3d5698SJohn Baldwin movl $0,%ecx 2868bc3d5698SJohn Baldwin movl 28(%edi),%edx 2869bc3d5698SJohn Baldwin subl %eax,%ecx 2870bc3d5698SJohn Baldwin movl $0,%eax 2871bc3d5698SJohn Baldwin adcl %eax,%eax 2872bc3d5698SJohn Baldwin subl %edx,%ecx 2873bc3d5698SJohn Baldwin adcl $0,%eax 2874bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 2875bc3d5698SJohn Baldwin 2876bc3d5698SJohn Baldwin addl $32,%edi 2877bc3d5698SJohn Baldwin addl $32,%ebx 2878bc3d5698SJohn Baldwin subl $8,%ebp 2879bc3d5698SJohn Baldwin jnz .L032pw_neg_loop 2880bc3d5698SJohn Baldwin.L031pw_neg_finish: 2881bc3d5698SJohn Baldwin movl 36(%esp),%edx 2882bc3d5698SJohn Baldwin movl $0,%ebp 2883bc3d5698SJohn Baldwin subl %edx,%ebp 2884bc3d5698SJohn Baldwin andl $7,%ebp 2885bc3d5698SJohn Baldwin jz .L029pw_end 2886bc3d5698SJohn Baldwin 2887bc3d5698SJohn Baldwin movl $0,%ecx 2888bc3d5698SJohn Baldwin movl (%edi),%edx 2889bc3d5698SJohn Baldwin subl %eax,%ecx 2890bc3d5698SJohn Baldwin movl $0,%eax 2891bc3d5698SJohn Baldwin adcl %eax,%eax 2892bc3d5698SJohn Baldwin subl %edx,%ecx 2893bc3d5698SJohn Baldwin adcl $0,%eax 2894bc3d5698SJohn Baldwin decl %ebp 2895bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2896bc3d5698SJohn Baldwin jz .L029pw_end 2897bc3d5698SJohn Baldwin 2898bc3d5698SJohn Baldwin movl $0,%ecx 2899bc3d5698SJohn Baldwin movl 4(%edi),%edx 2900bc3d5698SJohn Baldwin subl %eax,%ecx 2901bc3d5698SJohn Baldwin movl $0,%eax 2902bc3d5698SJohn Baldwin adcl %eax,%eax 2903bc3d5698SJohn Baldwin subl %edx,%ecx 2904bc3d5698SJohn Baldwin adcl $0,%eax 2905bc3d5698SJohn Baldwin decl %ebp 2906bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2907bc3d5698SJohn Baldwin jz .L029pw_end 2908bc3d5698SJohn Baldwin 2909bc3d5698SJohn Baldwin movl $0,%ecx 2910bc3d5698SJohn Baldwin movl 8(%edi),%edx 2911bc3d5698SJohn Baldwin subl %eax,%ecx 2912bc3d5698SJohn Baldwin movl $0,%eax 2913bc3d5698SJohn Baldwin adcl %eax,%eax 2914bc3d5698SJohn Baldwin subl %edx,%ecx 2915bc3d5698SJohn Baldwin adcl $0,%eax 2916bc3d5698SJohn Baldwin decl %ebp 2917bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2918bc3d5698SJohn Baldwin jz .L029pw_end 2919bc3d5698SJohn Baldwin 2920bc3d5698SJohn Baldwin movl $0,%ecx 2921bc3d5698SJohn Baldwin movl 12(%edi),%edx 2922bc3d5698SJohn Baldwin subl %eax,%ecx 2923bc3d5698SJohn Baldwin movl $0,%eax 2924bc3d5698SJohn Baldwin adcl %eax,%eax 2925bc3d5698SJohn Baldwin subl %edx,%ecx 2926bc3d5698SJohn Baldwin adcl $0,%eax 2927bc3d5698SJohn Baldwin decl %ebp 2928bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2929bc3d5698SJohn Baldwin jz .L029pw_end 2930bc3d5698SJohn Baldwin 2931bc3d5698SJohn Baldwin movl $0,%ecx 2932bc3d5698SJohn Baldwin movl 16(%edi),%edx 2933bc3d5698SJohn Baldwin subl %eax,%ecx 2934bc3d5698SJohn Baldwin movl $0,%eax 2935bc3d5698SJohn Baldwin adcl %eax,%eax 2936bc3d5698SJohn Baldwin subl %edx,%ecx 2937bc3d5698SJohn Baldwin adcl $0,%eax 2938bc3d5698SJohn Baldwin decl %ebp 2939bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2940bc3d5698SJohn Baldwin jz .L029pw_end 2941bc3d5698SJohn Baldwin 2942bc3d5698SJohn Baldwin movl $0,%ecx 2943bc3d5698SJohn Baldwin movl 20(%edi),%edx 2944bc3d5698SJohn Baldwin subl %eax,%ecx 2945bc3d5698SJohn Baldwin movl $0,%eax 2946bc3d5698SJohn Baldwin adcl %eax,%eax 2947bc3d5698SJohn Baldwin subl %edx,%ecx 2948bc3d5698SJohn Baldwin adcl $0,%eax 2949bc3d5698SJohn Baldwin decl %ebp 2950bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2951bc3d5698SJohn Baldwin jz .L029pw_end 2952bc3d5698SJohn Baldwin 2953bc3d5698SJohn Baldwin movl $0,%ecx 2954bc3d5698SJohn Baldwin movl 24(%edi),%edx 2955bc3d5698SJohn Baldwin subl %eax,%ecx 2956bc3d5698SJohn Baldwin movl $0,%eax 2957bc3d5698SJohn Baldwin adcl %eax,%eax 2958bc3d5698SJohn Baldwin subl %edx,%ecx 2959bc3d5698SJohn Baldwin adcl $0,%eax 2960bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 2961bc3d5698SJohn Baldwin jmp .L029pw_end 2962bc3d5698SJohn Baldwin.L030pw_pos: 2963bc3d5698SJohn Baldwin andl $4294967288,%ebp 2964bc3d5698SJohn Baldwin jz .L033pw_pos_finish 2965bc3d5698SJohn Baldwin.L034pw_pos_loop: 2966bc3d5698SJohn Baldwin 2967bc3d5698SJohn Baldwin movl (%esi),%ecx 2968bc3d5698SJohn Baldwin subl %eax,%ecx 2969bc3d5698SJohn Baldwin movl %ecx,(%ebx) 2970bc3d5698SJohn Baldwin jnc .L035pw_nc0 2971bc3d5698SJohn Baldwin 2972bc3d5698SJohn Baldwin movl 4(%esi),%ecx 2973bc3d5698SJohn Baldwin subl %eax,%ecx 2974bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 2975bc3d5698SJohn Baldwin jnc .L036pw_nc1 2976bc3d5698SJohn Baldwin 2977bc3d5698SJohn Baldwin movl 8(%esi),%ecx 2978bc3d5698SJohn Baldwin subl %eax,%ecx 2979bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 2980bc3d5698SJohn Baldwin jnc .L037pw_nc2 2981bc3d5698SJohn Baldwin 2982bc3d5698SJohn Baldwin movl 12(%esi),%ecx 2983bc3d5698SJohn Baldwin subl %eax,%ecx 2984bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 2985bc3d5698SJohn Baldwin jnc .L038pw_nc3 2986bc3d5698SJohn Baldwin 2987bc3d5698SJohn Baldwin movl 16(%esi),%ecx 2988bc3d5698SJohn Baldwin subl %eax,%ecx 2989bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 2990bc3d5698SJohn Baldwin jnc .L039pw_nc4 2991bc3d5698SJohn Baldwin 2992bc3d5698SJohn Baldwin movl 20(%esi),%ecx 2993bc3d5698SJohn Baldwin subl %eax,%ecx 2994bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 2995bc3d5698SJohn Baldwin jnc .L040pw_nc5 2996bc3d5698SJohn Baldwin 2997bc3d5698SJohn Baldwin movl 24(%esi),%ecx 2998bc3d5698SJohn Baldwin subl %eax,%ecx 2999bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 3000bc3d5698SJohn Baldwin jnc .L041pw_nc6 3001bc3d5698SJohn Baldwin 3002bc3d5698SJohn Baldwin movl 28(%esi),%ecx 3003bc3d5698SJohn Baldwin subl %eax,%ecx 3004bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 3005bc3d5698SJohn Baldwin jnc .L042pw_nc7 3006bc3d5698SJohn Baldwin 3007bc3d5698SJohn Baldwin addl $32,%esi 3008bc3d5698SJohn Baldwin addl $32,%ebx 3009bc3d5698SJohn Baldwin subl $8,%ebp 3010bc3d5698SJohn Baldwin jnz .L034pw_pos_loop 3011bc3d5698SJohn Baldwin.L033pw_pos_finish: 3012bc3d5698SJohn Baldwin movl 36(%esp),%ebp 3013bc3d5698SJohn Baldwin andl $7,%ebp 3014bc3d5698SJohn Baldwin jz .L029pw_end 3015bc3d5698SJohn Baldwin 3016bc3d5698SJohn Baldwin movl (%esi),%ecx 3017bc3d5698SJohn Baldwin subl %eax,%ecx 3018bc3d5698SJohn Baldwin movl %ecx,(%ebx) 3019bc3d5698SJohn Baldwin jnc .L043pw_tail_nc0 3020bc3d5698SJohn Baldwin decl %ebp 3021bc3d5698SJohn Baldwin jz .L029pw_end 3022bc3d5698SJohn Baldwin 3023bc3d5698SJohn Baldwin movl 4(%esi),%ecx 3024bc3d5698SJohn Baldwin subl %eax,%ecx 3025bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 3026bc3d5698SJohn Baldwin jnc .L044pw_tail_nc1 3027bc3d5698SJohn Baldwin decl %ebp 3028bc3d5698SJohn Baldwin jz .L029pw_end 3029bc3d5698SJohn Baldwin 3030bc3d5698SJohn Baldwin movl 8(%esi),%ecx 3031bc3d5698SJohn Baldwin subl %eax,%ecx 3032bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 3033bc3d5698SJohn Baldwin jnc .L045pw_tail_nc2 3034bc3d5698SJohn Baldwin decl %ebp 3035bc3d5698SJohn Baldwin jz .L029pw_end 3036bc3d5698SJohn Baldwin 3037bc3d5698SJohn Baldwin movl 12(%esi),%ecx 3038bc3d5698SJohn Baldwin subl %eax,%ecx 3039bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 3040bc3d5698SJohn Baldwin jnc .L046pw_tail_nc3 3041bc3d5698SJohn Baldwin decl %ebp 3042bc3d5698SJohn Baldwin jz .L029pw_end 3043bc3d5698SJohn Baldwin 3044bc3d5698SJohn Baldwin movl 16(%esi),%ecx 3045bc3d5698SJohn Baldwin subl %eax,%ecx 3046bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 3047bc3d5698SJohn Baldwin jnc .L047pw_tail_nc4 3048bc3d5698SJohn Baldwin decl %ebp 3049bc3d5698SJohn Baldwin jz .L029pw_end 3050bc3d5698SJohn Baldwin 3051bc3d5698SJohn Baldwin movl 20(%esi),%ecx 3052bc3d5698SJohn Baldwin subl %eax,%ecx 3053bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 3054bc3d5698SJohn Baldwin jnc .L048pw_tail_nc5 3055bc3d5698SJohn Baldwin decl %ebp 3056bc3d5698SJohn Baldwin jz .L029pw_end 3057bc3d5698SJohn Baldwin 3058bc3d5698SJohn Baldwin movl 24(%esi),%ecx 3059bc3d5698SJohn Baldwin subl %eax,%ecx 3060bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 3061bc3d5698SJohn Baldwin jnc .L049pw_tail_nc6 3062bc3d5698SJohn Baldwin movl $1,%eax 3063bc3d5698SJohn Baldwin jmp .L029pw_end 3064bc3d5698SJohn Baldwin.L050pw_nc_loop: 3065bc3d5698SJohn Baldwin movl (%esi),%ecx 3066bc3d5698SJohn Baldwin movl %ecx,(%ebx) 3067bc3d5698SJohn Baldwin.L035pw_nc0: 3068bc3d5698SJohn Baldwin movl 4(%esi),%ecx 3069bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 3070bc3d5698SJohn Baldwin.L036pw_nc1: 3071bc3d5698SJohn Baldwin movl 8(%esi),%ecx 3072bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 3073bc3d5698SJohn Baldwin.L037pw_nc2: 3074bc3d5698SJohn Baldwin movl 12(%esi),%ecx 3075bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 3076bc3d5698SJohn Baldwin.L038pw_nc3: 3077bc3d5698SJohn Baldwin movl 16(%esi),%ecx 3078bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 3079bc3d5698SJohn Baldwin.L039pw_nc4: 3080bc3d5698SJohn Baldwin movl 20(%esi),%ecx 3081bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 3082bc3d5698SJohn Baldwin.L040pw_nc5: 3083bc3d5698SJohn Baldwin movl 24(%esi),%ecx 3084bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 3085bc3d5698SJohn Baldwin.L041pw_nc6: 3086bc3d5698SJohn Baldwin movl 28(%esi),%ecx 3087bc3d5698SJohn Baldwin movl %ecx,28(%ebx) 3088bc3d5698SJohn Baldwin.L042pw_nc7: 3089bc3d5698SJohn Baldwin 3090bc3d5698SJohn Baldwin addl $32,%esi 3091bc3d5698SJohn Baldwin addl $32,%ebx 3092bc3d5698SJohn Baldwin subl $8,%ebp 3093bc3d5698SJohn Baldwin jnz .L050pw_nc_loop 3094bc3d5698SJohn Baldwin movl 36(%esp),%ebp 3095bc3d5698SJohn Baldwin andl $7,%ebp 3096bc3d5698SJohn Baldwin jz .L051pw_nc_end 3097bc3d5698SJohn Baldwin movl (%esi),%ecx 3098bc3d5698SJohn Baldwin movl %ecx,(%ebx) 3099bc3d5698SJohn Baldwin.L043pw_tail_nc0: 3100bc3d5698SJohn Baldwin decl %ebp 3101bc3d5698SJohn Baldwin jz .L051pw_nc_end 3102bc3d5698SJohn Baldwin movl 4(%esi),%ecx 3103bc3d5698SJohn Baldwin movl %ecx,4(%ebx) 3104bc3d5698SJohn Baldwin.L044pw_tail_nc1: 3105bc3d5698SJohn Baldwin decl %ebp 3106bc3d5698SJohn Baldwin jz .L051pw_nc_end 3107bc3d5698SJohn Baldwin movl 8(%esi),%ecx 3108bc3d5698SJohn Baldwin movl %ecx,8(%ebx) 3109bc3d5698SJohn Baldwin.L045pw_tail_nc2: 3110bc3d5698SJohn Baldwin decl %ebp 3111bc3d5698SJohn Baldwin jz .L051pw_nc_end 3112bc3d5698SJohn Baldwin movl 12(%esi),%ecx 3113bc3d5698SJohn Baldwin movl %ecx,12(%ebx) 3114bc3d5698SJohn Baldwin.L046pw_tail_nc3: 3115bc3d5698SJohn Baldwin decl %ebp 3116bc3d5698SJohn Baldwin jz .L051pw_nc_end 3117bc3d5698SJohn Baldwin movl 16(%esi),%ecx 3118bc3d5698SJohn Baldwin movl %ecx,16(%ebx) 3119bc3d5698SJohn Baldwin.L047pw_tail_nc4: 3120bc3d5698SJohn Baldwin decl %ebp 3121bc3d5698SJohn Baldwin jz .L051pw_nc_end 3122bc3d5698SJohn Baldwin movl 20(%esi),%ecx 3123bc3d5698SJohn Baldwin movl %ecx,20(%ebx) 3124bc3d5698SJohn Baldwin.L048pw_tail_nc5: 3125bc3d5698SJohn Baldwin decl %ebp 3126bc3d5698SJohn Baldwin jz .L051pw_nc_end 3127bc3d5698SJohn Baldwin movl 24(%esi),%ecx 3128bc3d5698SJohn Baldwin movl %ecx,24(%ebx) 3129bc3d5698SJohn Baldwin.L049pw_tail_nc6: 3130bc3d5698SJohn Baldwin.L051pw_nc_end: 3131bc3d5698SJohn Baldwin movl $0,%eax 3132bc3d5698SJohn Baldwin.L029pw_end: 3133bc3d5698SJohn Baldwin popl %edi 3134bc3d5698SJohn Baldwin popl %esi 3135bc3d5698SJohn Baldwin popl %ebx 3136bc3d5698SJohn Baldwin popl %ebp 3137bc3d5698SJohn Baldwin ret 3138bc3d5698SJohn Baldwin.size bn_sub_part_words,.-.L_bn_sub_part_words_begin 3139bc3d5698SJohn Baldwin.comm OPENSSL_ia32cap_P,16,4 3140*c0855eaaSJohn Baldwin 3141*c0855eaaSJohn Baldwin .section ".note.gnu.property", "a" 3142*c0855eaaSJohn Baldwin .p2align 2 3143*c0855eaaSJohn Baldwin .long 1f - 0f 3144*c0855eaaSJohn Baldwin .long 4f - 1f 3145*c0855eaaSJohn Baldwin .long 5 3146*c0855eaaSJohn Baldwin0: 3147*c0855eaaSJohn Baldwin .asciz "GNU" 3148*c0855eaaSJohn Baldwin1: 3149*c0855eaaSJohn Baldwin .p2align 2 3150*c0855eaaSJohn Baldwin .long 0xc0000002 3151*c0855eaaSJohn Baldwin .long 3f - 2f 3152*c0855eaaSJohn Baldwin2: 3153*c0855eaaSJohn Baldwin .long 3 3154*c0855eaaSJohn Baldwin3: 3155*c0855eaaSJohn Baldwin .p2align 2 3156*c0855eaaSJohn Baldwin4: 3157bc3d5698SJohn Baldwin#endif 3158