1*89869e26Schristos#include <machine/asm.h> 2*89869e26Schristos.text 3*89869e26Schristos.globl bn_mul_add_words 4*89869e26Schristos.type bn_mul_add_words,@function 5*89869e26Schristos.align 16 6*89869e26Schristosbn_mul_add_words: 7*89869e26Schristos.L_bn_mul_add_words_begin: 8*89869e26Schristos pushl %ebp 9*89869e26Schristos pushl %ebx 10*89869e26Schristos pushl %esi 11*89869e26Schristos pushl %edi 12*89869e26Schristos 13*89869e26Schristos xorl %esi,%esi 14*89869e26Schristos movl 20(%esp),%edi 15*89869e26Schristos movl 28(%esp),%ecx 16*89869e26Schristos movl 24(%esp),%ebx 17*89869e26Schristos andl $4294967288,%ecx 18*89869e26Schristos movl 32(%esp),%ebp 19*89869e26Schristos pushl %ecx 20*89869e26Schristos jz .L000maw_finish 21*89869e26Schristos.L001maw_loop: 22*89869e26Schristos movl %ecx,(%esp) 23*89869e26Schristos 24*89869e26Schristos movl (%ebx),%eax 25*89869e26Schristos mull %ebp 26*89869e26Schristos addl %esi,%eax 27*89869e26Schristos movl (%edi),%esi 28*89869e26Schristos adcl $0,%edx 29*89869e26Schristos addl %esi,%eax 30*89869e26Schristos adcl $0,%edx 31*89869e26Schristos movl %eax,(%edi) 32*89869e26Schristos movl %edx,%esi 33*89869e26Schristos 34*89869e26Schristos movl 4(%ebx),%eax 35*89869e26Schristos mull %ebp 36*89869e26Schristos addl %esi,%eax 37*89869e26Schristos movl 4(%edi),%esi 38*89869e26Schristos adcl $0,%edx 39*89869e26Schristos addl %esi,%eax 40*89869e26Schristos adcl $0,%edx 41*89869e26Schristos movl %eax,4(%edi) 42*89869e26Schristos movl %edx,%esi 43*89869e26Schristos 44*89869e26Schristos movl 8(%ebx),%eax 45*89869e26Schristos mull %ebp 46*89869e26Schristos addl %esi,%eax 47*89869e26Schristos movl 8(%edi),%esi 48*89869e26Schristos adcl $0,%edx 49*89869e26Schristos addl %esi,%eax 50*89869e26Schristos adcl $0,%edx 51*89869e26Schristos movl %eax,8(%edi) 52*89869e26Schristos movl %edx,%esi 53*89869e26Schristos 54*89869e26Schristos movl 12(%ebx),%eax 55*89869e26Schristos mull %ebp 56*89869e26Schristos addl %esi,%eax 57*89869e26Schristos movl 12(%edi),%esi 58*89869e26Schristos adcl $0,%edx 59*89869e26Schristos addl %esi,%eax 60*89869e26Schristos adcl $0,%edx 61*89869e26Schristos movl %eax,12(%edi) 62*89869e26Schristos movl %edx,%esi 63*89869e26Schristos 64*89869e26Schristos movl 16(%ebx),%eax 65*89869e26Schristos mull %ebp 66*89869e26Schristos addl %esi,%eax 67*89869e26Schristos movl 16(%edi),%esi 68*89869e26Schristos adcl $0,%edx 69*89869e26Schristos addl %esi,%eax 70*89869e26Schristos adcl $0,%edx 71*89869e26Schristos movl %eax,16(%edi) 72*89869e26Schristos movl %edx,%esi 73*89869e26Schristos 74*89869e26Schristos movl 20(%ebx),%eax 75*89869e26Schristos mull %ebp 76*89869e26Schristos addl %esi,%eax 77*89869e26Schristos movl 20(%edi),%esi 78*89869e26Schristos adcl $0,%edx 79*89869e26Schristos addl %esi,%eax 80*89869e26Schristos adcl $0,%edx 81*89869e26Schristos movl %eax,20(%edi) 82*89869e26Schristos movl %edx,%esi 83*89869e26Schristos 84*89869e26Schristos movl 24(%ebx),%eax 85*89869e26Schristos mull %ebp 86*89869e26Schristos addl %esi,%eax 87*89869e26Schristos movl 24(%edi),%esi 88*89869e26Schristos adcl $0,%edx 89*89869e26Schristos addl %esi,%eax 90*89869e26Schristos adcl $0,%edx 91*89869e26Schristos movl %eax,24(%edi) 92*89869e26Schristos movl %edx,%esi 93*89869e26Schristos 94*89869e26Schristos movl 28(%ebx),%eax 95*89869e26Schristos mull %ebp 96*89869e26Schristos addl %esi,%eax 97*89869e26Schristos movl 28(%edi),%esi 98*89869e26Schristos adcl $0,%edx 99*89869e26Schristos addl %esi,%eax 100*89869e26Schristos adcl $0,%edx 101*89869e26Schristos movl %eax,28(%edi) 102*89869e26Schristos movl %edx,%esi 103*89869e26Schristos 104*89869e26Schristos movl (%esp),%ecx 105*89869e26Schristos addl $32,%ebx 106*89869e26Schristos addl $32,%edi 107*89869e26Schristos subl $8,%ecx 108*89869e26Schristos jnz .L001maw_loop 109*89869e26Schristos.L000maw_finish: 110*89869e26Schristos movl 32(%esp),%ecx 111*89869e26Schristos andl $7,%ecx 112*89869e26Schristos jnz .L002maw_finish2 113*89869e26Schristos jmp .L003maw_end 114*89869e26Schristos.L002maw_finish2: 115*89869e26Schristos 116*89869e26Schristos movl (%ebx),%eax 117*89869e26Schristos mull %ebp 118*89869e26Schristos addl %esi,%eax 119*89869e26Schristos movl (%edi),%esi 120*89869e26Schristos adcl $0,%edx 121*89869e26Schristos addl %esi,%eax 122*89869e26Schristos adcl $0,%edx 123*89869e26Schristos decl %ecx 124*89869e26Schristos movl %eax,(%edi) 125*89869e26Schristos movl %edx,%esi 126*89869e26Schristos jz .L003maw_end 127*89869e26Schristos 128*89869e26Schristos movl 4(%ebx),%eax 129*89869e26Schristos mull %ebp 130*89869e26Schristos addl %esi,%eax 131*89869e26Schristos movl 4(%edi),%esi 132*89869e26Schristos adcl $0,%edx 133*89869e26Schristos addl %esi,%eax 134*89869e26Schristos adcl $0,%edx 135*89869e26Schristos decl %ecx 136*89869e26Schristos movl %eax,4(%edi) 137*89869e26Schristos movl %edx,%esi 138*89869e26Schristos jz .L003maw_end 139*89869e26Schristos 140*89869e26Schristos movl 8(%ebx),%eax 141*89869e26Schristos mull %ebp 142*89869e26Schristos addl %esi,%eax 143*89869e26Schristos movl 8(%edi),%esi 144*89869e26Schristos adcl $0,%edx 145*89869e26Schristos addl %esi,%eax 146*89869e26Schristos adcl $0,%edx 147*89869e26Schristos decl %ecx 148*89869e26Schristos movl %eax,8(%edi) 149*89869e26Schristos movl %edx,%esi 150*89869e26Schristos jz .L003maw_end 151*89869e26Schristos 152*89869e26Schristos movl 12(%ebx),%eax 153*89869e26Schristos mull %ebp 154*89869e26Schristos addl %esi,%eax 155*89869e26Schristos movl 12(%edi),%esi 156*89869e26Schristos adcl $0,%edx 157*89869e26Schristos addl %esi,%eax 158*89869e26Schristos adcl $0,%edx 159*89869e26Schristos decl %ecx 160*89869e26Schristos movl %eax,12(%edi) 161*89869e26Schristos movl %edx,%esi 162*89869e26Schristos jz .L003maw_end 163*89869e26Schristos 164*89869e26Schristos movl 16(%ebx),%eax 165*89869e26Schristos mull %ebp 166*89869e26Schristos addl %esi,%eax 167*89869e26Schristos movl 16(%edi),%esi 168*89869e26Schristos adcl $0,%edx 169*89869e26Schristos addl %esi,%eax 170*89869e26Schristos adcl $0,%edx 171*89869e26Schristos decl %ecx 172*89869e26Schristos movl %eax,16(%edi) 173*89869e26Schristos movl %edx,%esi 174*89869e26Schristos jz .L003maw_end 175*89869e26Schristos 176*89869e26Schristos movl 20(%ebx),%eax 177*89869e26Schristos mull %ebp 178*89869e26Schristos addl %esi,%eax 179*89869e26Schristos movl 20(%edi),%esi 180*89869e26Schristos adcl $0,%edx 181*89869e26Schristos addl %esi,%eax 182*89869e26Schristos adcl $0,%edx 183*89869e26Schristos decl %ecx 184*89869e26Schristos movl %eax,20(%edi) 185*89869e26Schristos movl %edx,%esi 186*89869e26Schristos jz .L003maw_end 187*89869e26Schristos 188*89869e26Schristos movl 24(%ebx),%eax 189*89869e26Schristos mull %ebp 190*89869e26Schristos addl %esi,%eax 191*89869e26Schristos movl 24(%edi),%esi 192*89869e26Schristos adcl $0,%edx 193*89869e26Schristos addl %esi,%eax 194*89869e26Schristos adcl $0,%edx 195*89869e26Schristos movl %eax,24(%edi) 196*89869e26Schristos movl %edx,%esi 197*89869e26Schristos.L003maw_end: 198*89869e26Schristos movl %esi,%eax 199*89869e26Schristos popl %ecx 200*89869e26Schristos popl %edi 201*89869e26Schristos popl %esi 202*89869e26Schristos popl %ebx 203*89869e26Schristos popl %ebp 204*89869e26Schristos ret 205*89869e26Schristos.size bn_mul_add_words,.-.L_bn_mul_add_words_begin 206*89869e26Schristos.globl bn_mul_words 207*89869e26Schristos.type bn_mul_words,@function 208*89869e26Schristos.align 16 209*89869e26Schristosbn_mul_words: 210*89869e26Schristos.L_bn_mul_words_begin: 211*89869e26Schristos pushl %ebp 212*89869e26Schristos pushl %ebx 213*89869e26Schristos pushl %esi 214*89869e26Schristos pushl %edi 215*89869e26Schristos 216*89869e26Schristos xorl %esi,%esi 217*89869e26Schristos movl 20(%esp),%edi 218*89869e26Schristos movl 24(%esp),%ebx 219*89869e26Schristos movl 28(%esp),%ebp 220*89869e26Schristos movl 32(%esp),%ecx 221*89869e26Schristos andl $4294967288,%ebp 222*89869e26Schristos jz .L004mw_finish 223*89869e26Schristos.L005mw_loop: 224*89869e26Schristos 225*89869e26Schristos movl (%ebx),%eax 226*89869e26Schristos mull %ecx 227*89869e26Schristos addl %esi,%eax 228*89869e26Schristos adcl $0,%edx 229*89869e26Schristos movl %eax,(%edi) 230*89869e26Schristos movl %edx,%esi 231*89869e26Schristos 232*89869e26Schristos movl 4(%ebx),%eax 233*89869e26Schristos mull %ecx 234*89869e26Schristos addl %esi,%eax 235*89869e26Schristos adcl $0,%edx 236*89869e26Schristos movl %eax,4(%edi) 237*89869e26Schristos movl %edx,%esi 238*89869e26Schristos 239*89869e26Schristos movl 8(%ebx),%eax 240*89869e26Schristos mull %ecx 241*89869e26Schristos addl %esi,%eax 242*89869e26Schristos adcl $0,%edx 243*89869e26Schristos movl %eax,8(%edi) 244*89869e26Schristos movl %edx,%esi 245*89869e26Schristos 246*89869e26Schristos movl 12(%ebx),%eax 247*89869e26Schristos mull %ecx 248*89869e26Schristos addl %esi,%eax 249*89869e26Schristos adcl $0,%edx 250*89869e26Schristos movl %eax,12(%edi) 251*89869e26Schristos movl %edx,%esi 252*89869e26Schristos 253*89869e26Schristos movl 16(%ebx),%eax 254*89869e26Schristos mull %ecx 255*89869e26Schristos addl %esi,%eax 256*89869e26Schristos adcl $0,%edx 257*89869e26Schristos movl %eax,16(%edi) 258*89869e26Schristos movl %edx,%esi 259*89869e26Schristos 260*89869e26Schristos movl 20(%ebx),%eax 261*89869e26Schristos mull %ecx 262*89869e26Schristos addl %esi,%eax 263*89869e26Schristos adcl $0,%edx 264*89869e26Schristos movl %eax,20(%edi) 265*89869e26Schristos movl %edx,%esi 266*89869e26Schristos 267*89869e26Schristos movl 24(%ebx),%eax 268*89869e26Schristos mull %ecx 269*89869e26Schristos addl %esi,%eax 270*89869e26Schristos adcl $0,%edx 271*89869e26Schristos movl %eax,24(%edi) 272*89869e26Schristos movl %edx,%esi 273*89869e26Schristos 274*89869e26Schristos movl 28(%ebx),%eax 275*89869e26Schristos mull %ecx 276*89869e26Schristos addl %esi,%eax 277*89869e26Schristos adcl $0,%edx 278*89869e26Schristos movl %eax,28(%edi) 279*89869e26Schristos movl %edx,%esi 280*89869e26Schristos 281*89869e26Schristos addl $32,%ebx 282*89869e26Schristos addl $32,%edi 283*89869e26Schristos subl $8,%ebp 284*89869e26Schristos jz .L004mw_finish 285*89869e26Schristos jmp .L005mw_loop 286*89869e26Schristos.L004mw_finish: 287*89869e26Schristos movl 28(%esp),%ebp 288*89869e26Schristos andl $7,%ebp 289*89869e26Schristos jnz .L006mw_finish2 290*89869e26Schristos jmp .L007mw_end 291*89869e26Schristos.L006mw_finish2: 292*89869e26Schristos 293*89869e26Schristos movl (%ebx),%eax 294*89869e26Schristos mull %ecx 295*89869e26Schristos addl %esi,%eax 296*89869e26Schristos adcl $0,%edx 297*89869e26Schristos movl %eax,(%edi) 298*89869e26Schristos movl %edx,%esi 299*89869e26Schristos decl %ebp 300*89869e26Schristos jz .L007mw_end 301*89869e26Schristos 302*89869e26Schristos movl 4(%ebx),%eax 303*89869e26Schristos mull %ecx 304*89869e26Schristos addl %esi,%eax 305*89869e26Schristos adcl $0,%edx 306*89869e26Schristos movl %eax,4(%edi) 307*89869e26Schristos movl %edx,%esi 308*89869e26Schristos decl %ebp 309*89869e26Schristos jz .L007mw_end 310*89869e26Schristos 311*89869e26Schristos movl 8(%ebx),%eax 312*89869e26Schristos mull %ecx 313*89869e26Schristos addl %esi,%eax 314*89869e26Schristos adcl $0,%edx 315*89869e26Schristos movl %eax,8(%edi) 316*89869e26Schristos movl %edx,%esi 317*89869e26Schristos decl %ebp 318*89869e26Schristos jz .L007mw_end 319*89869e26Schristos 320*89869e26Schristos movl 12(%ebx),%eax 321*89869e26Schristos mull %ecx 322*89869e26Schristos addl %esi,%eax 323*89869e26Schristos adcl $0,%edx 324*89869e26Schristos movl %eax,12(%edi) 325*89869e26Schristos movl %edx,%esi 326*89869e26Schristos decl %ebp 327*89869e26Schristos jz .L007mw_end 328*89869e26Schristos 329*89869e26Schristos movl 16(%ebx),%eax 330*89869e26Schristos mull %ecx 331*89869e26Schristos addl %esi,%eax 332*89869e26Schristos adcl $0,%edx 333*89869e26Schristos movl %eax,16(%edi) 334*89869e26Schristos movl %edx,%esi 335*89869e26Schristos decl %ebp 336*89869e26Schristos jz .L007mw_end 337*89869e26Schristos 338*89869e26Schristos movl 20(%ebx),%eax 339*89869e26Schristos mull %ecx 340*89869e26Schristos addl %esi,%eax 341*89869e26Schristos adcl $0,%edx 342*89869e26Schristos movl %eax,20(%edi) 343*89869e26Schristos movl %edx,%esi 344*89869e26Schristos decl %ebp 345*89869e26Schristos jz .L007mw_end 346*89869e26Schristos 347*89869e26Schristos movl 24(%ebx),%eax 348*89869e26Schristos mull %ecx 349*89869e26Schristos addl %esi,%eax 350*89869e26Schristos adcl $0,%edx 351*89869e26Schristos movl %eax,24(%edi) 352*89869e26Schristos movl %edx,%esi 353*89869e26Schristos.L007mw_end: 354*89869e26Schristos movl %esi,%eax 355*89869e26Schristos popl %edi 356*89869e26Schristos popl %esi 357*89869e26Schristos popl %ebx 358*89869e26Schristos popl %ebp 359*89869e26Schristos ret 360*89869e26Schristos.size bn_mul_words,.-.L_bn_mul_words_begin 361*89869e26Schristos.globl bn_sqr_words 362*89869e26Schristos.type bn_sqr_words,@function 363*89869e26Schristos.align 16 364*89869e26Schristosbn_sqr_words: 365*89869e26Schristos.L_bn_sqr_words_begin: 366*89869e26Schristos pushl %ebp 367*89869e26Schristos pushl %ebx 368*89869e26Schristos pushl %esi 369*89869e26Schristos pushl %edi 370*89869e26Schristos 371*89869e26Schristos movl 20(%esp),%esi 372*89869e26Schristos movl 24(%esp),%edi 373*89869e26Schristos movl 28(%esp),%ebx 374*89869e26Schristos andl $4294967288,%ebx 375*89869e26Schristos jz .L008sw_finish 376*89869e26Schristos.L009sw_loop: 377*89869e26Schristos 378*89869e26Schristos movl (%edi),%eax 379*89869e26Schristos mull %eax 380*89869e26Schristos movl %eax,(%esi) 381*89869e26Schristos movl %edx,4(%esi) 382*89869e26Schristos 383*89869e26Schristos movl 4(%edi),%eax 384*89869e26Schristos mull %eax 385*89869e26Schristos movl %eax,8(%esi) 386*89869e26Schristos movl %edx,12(%esi) 387*89869e26Schristos 388*89869e26Schristos movl 8(%edi),%eax 389*89869e26Schristos mull %eax 390*89869e26Schristos movl %eax,16(%esi) 391*89869e26Schristos movl %edx,20(%esi) 392*89869e26Schristos 393*89869e26Schristos movl 12(%edi),%eax 394*89869e26Schristos mull %eax 395*89869e26Schristos movl %eax,24(%esi) 396*89869e26Schristos movl %edx,28(%esi) 397*89869e26Schristos 398*89869e26Schristos movl 16(%edi),%eax 399*89869e26Schristos mull %eax 400*89869e26Schristos movl %eax,32(%esi) 401*89869e26Schristos movl %edx,36(%esi) 402*89869e26Schristos 403*89869e26Schristos movl 20(%edi),%eax 404*89869e26Schristos mull %eax 405*89869e26Schristos movl %eax,40(%esi) 406*89869e26Schristos movl %edx,44(%esi) 407*89869e26Schristos 408*89869e26Schristos movl 24(%edi),%eax 409*89869e26Schristos mull %eax 410*89869e26Schristos movl %eax,48(%esi) 411*89869e26Schristos movl %edx,52(%esi) 412*89869e26Schristos 413*89869e26Schristos movl 28(%edi),%eax 414*89869e26Schristos mull %eax 415*89869e26Schristos movl %eax,56(%esi) 416*89869e26Schristos movl %edx,60(%esi) 417*89869e26Schristos 418*89869e26Schristos addl $32,%edi 419*89869e26Schristos addl $64,%esi 420*89869e26Schristos subl $8,%ebx 421*89869e26Schristos jnz .L009sw_loop 422*89869e26Schristos.L008sw_finish: 423*89869e26Schristos movl 28(%esp),%ebx 424*89869e26Schristos andl $7,%ebx 425*89869e26Schristos jz .L010sw_end 426*89869e26Schristos 427*89869e26Schristos movl (%edi),%eax 428*89869e26Schristos mull %eax 429*89869e26Schristos movl %eax,(%esi) 430*89869e26Schristos decl %ebx 431*89869e26Schristos movl %edx,4(%esi) 432*89869e26Schristos jz .L010sw_end 433*89869e26Schristos 434*89869e26Schristos movl 4(%edi),%eax 435*89869e26Schristos mull %eax 436*89869e26Schristos movl %eax,8(%esi) 437*89869e26Schristos decl %ebx 438*89869e26Schristos movl %edx,12(%esi) 439*89869e26Schristos jz .L010sw_end 440*89869e26Schristos 441*89869e26Schristos movl 8(%edi),%eax 442*89869e26Schristos mull %eax 443*89869e26Schristos movl %eax,16(%esi) 444*89869e26Schristos decl %ebx 445*89869e26Schristos movl %edx,20(%esi) 446*89869e26Schristos jz .L010sw_end 447*89869e26Schristos 448*89869e26Schristos movl 12(%edi),%eax 449*89869e26Schristos mull %eax 450*89869e26Schristos movl %eax,24(%esi) 451*89869e26Schristos decl %ebx 452*89869e26Schristos movl %edx,28(%esi) 453*89869e26Schristos jz .L010sw_end 454*89869e26Schristos 455*89869e26Schristos movl 16(%edi),%eax 456*89869e26Schristos mull %eax 457*89869e26Schristos movl %eax,32(%esi) 458*89869e26Schristos decl %ebx 459*89869e26Schristos movl %edx,36(%esi) 460*89869e26Schristos jz .L010sw_end 461*89869e26Schristos 462*89869e26Schristos movl 20(%edi),%eax 463*89869e26Schristos mull %eax 464*89869e26Schristos movl %eax,40(%esi) 465*89869e26Schristos decl %ebx 466*89869e26Schristos movl %edx,44(%esi) 467*89869e26Schristos jz .L010sw_end 468*89869e26Schristos 469*89869e26Schristos movl 24(%edi),%eax 470*89869e26Schristos mull %eax 471*89869e26Schristos movl %eax,48(%esi) 472*89869e26Schristos movl %edx,52(%esi) 473*89869e26Schristos.L010sw_end: 474*89869e26Schristos popl %edi 475*89869e26Schristos popl %esi 476*89869e26Schristos popl %ebx 477*89869e26Schristos popl %ebp 478*89869e26Schristos ret 479*89869e26Schristos.size bn_sqr_words,.-.L_bn_sqr_words_begin 480*89869e26Schristos.globl bn_div_words 481*89869e26Schristos.type bn_div_words,@function 482*89869e26Schristos.align 16 483*89869e26Schristosbn_div_words: 484*89869e26Schristos.L_bn_div_words_begin: 485*89869e26Schristos pushl %ebp 486*89869e26Schristos pushl %ebx 487*89869e26Schristos pushl %esi 488*89869e26Schristos pushl %edi 489*89869e26Schristos movl 20(%esp),%edx 490*89869e26Schristos movl 24(%esp),%eax 491*89869e26Schristos movl 28(%esp),%ebx 492*89869e26Schristos divl %ebx 493*89869e26Schristos popl %edi 494*89869e26Schristos popl %esi 495*89869e26Schristos popl %ebx 496*89869e26Schristos popl %ebp 497*89869e26Schristos ret 498*89869e26Schristos.size bn_div_words,.-.L_bn_div_words_begin 499*89869e26Schristos.globl bn_add_words 500*89869e26Schristos.type bn_add_words,@function 501*89869e26Schristos.align 16 502*89869e26Schristosbn_add_words: 503*89869e26Schristos.L_bn_add_words_begin: 504*89869e26Schristos pushl %ebp 505*89869e26Schristos pushl %ebx 506*89869e26Schristos pushl %esi 507*89869e26Schristos pushl %edi 508*89869e26Schristos 509*89869e26Schristos movl 20(%esp),%ebx 510*89869e26Schristos movl 24(%esp),%esi 511*89869e26Schristos movl 28(%esp),%edi 512*89869e26Schristos movl 32(%esp),%ebp 513*89869e26Schristos xorl %eax,%eax 514*89869e26Schristos andl $4294967288,%ebp 515*89869e26Schristos jz .L011aw_finish 516*89869e26Schristos.L012aw_loop: 517*89869e26Schristos 518*89869e26Schristos movl (%esi),%ecx 519*89869e26Schristos movl (%edi),%edx 520*89869e26Schristos addl %eax,%ecx 521*89869e26Schristos movl $0,%eax 522*89869e26Schristos adcl %eax,%eax 523*89869e26Schristos addl %edx,%ecx 524*89869e26Schristos adcl $0,%eax 525*89869e26Schristos movl %ecx,(%ebx) 526*89869e26Schristos 527*89869e26Schristos movl 4(%esi),%ecx 528*89869e26Schristos movl 4(%edi),%edx 529*89869e26Schristos addl %eax,%ecx 530*89869e26Schristos movl $0,%eax 531*89869e26Schristos adcl %eax,%eax 532*89869e26Schristos addl %edx,%ecx 533*89869e26Schristos adcl $0,%eax 534*89869e26Schristos movl %ecx,4(%ebx) 535*89869e26Schristos 536*89869e26Schristos movl 8(%esi),%ecx 537*89869e26Schristos movl 8(%edi),%edx 538*89869e26Schristos addl %eax,%ecx 539*89869e26Schristos movl $0,%eax 540*89869e26Schristos adcl %eax,%eax 541*89869e26Schristos addl %edx,%ecx 542*89869e26Schristos adcl $0,%eax 543*89869e26Schristos movl %ecx,8(%ebx) 544*89869e26Schristos 545*89869e26Schristos movl 12(%esi),%ecx 546*89869e26Schristos movl 12(%edi),%edx 547*89869e26Schristos addl %eax,%ecx 548*89869e26Schristos movl $0,%eax 549*89869e26Schristos adcl %eax,%eax 550*89869e26Schristos addl %edx,%ecx 551*89869e26Schristos adcl $0,%eax 552*89869e26Schristos movl %ecx,12(%ebx) 553*89869e26Schristos 554*89869e26Schristos movl 16(%esi),%ecx 555*89869e26Schristos movl 16(%edi),%edx 556*89869e26Schristos addl %eax,%ecx 557*89869e26Schristos movl $0,%eax 558*89869e26Schristos adcl %eax,%eax 559*89869e26Schristos addl %edx,%ecx 560*89869e26Schristos adcl $0,%eax 561*89869e26Schristos movl %ecx,16(%ebx) 562*89869e26Schristos 563*89869e26Schristos movl 20(%esi),%ecx 564*89869e26Schristos movl 20(%edi),%edx 565*89869e26Schristos addl %eax,%ecx 566*89869e26Schristos movl $0,%eax 567*89869e26Schristos adcl %eax,%eax 568*89869e26Schristos addl %edx,%ecx 569*89869e26Schristos adcl $0,%eax 570*89869e26Schristos movl %ecx,20(%ebx) 571*89869e26Schristos 572*89869e26Schristos movl 24(%esi),%ecx 573*89869e26Schristos movl 24(%edi),%edx 574*89869e26Schristos addl %eax,%ecx 575*89869e26Schristos movl $0,%eax 576*89869e26Schristos adcl %eax,%eax 577*89869e26Schristos addl %edx,%ecx 578*89869e26Schristos adcl $0,%eax 579*89869e26Schristos movl %ecx,24(%ebx) 580*89869e26Schristos 581*89869e26Schristos movl 28(%esi),%ecx 582*89869e26Schristos movl 28(%edi),%edx 583*89869e26Schristos addl %eax,%ecx 584*89869e26Schristos movl $0,%eax 585*89869e26Schristos adcl %eax,%eax 586*89869e26Schristos addl %edx,%ecx 587*89869e26Schristos adcl $0,%eax 588*89869e26Schristos movl %ecx,28(%ebx) 589*89869e26Schristos 590*89869e26Schristos addl $32,%esi 591*89869e26Schristos addl $32,%edi 592*89869e26Schristos addl $32,%ebx 593*89869e26Schristos subl $8,%ebp 594*89869e26Schristos jnz .L012aw_loop 595*89869e26Schristos.L011aw_finish: 596*89869e26Schristos movl 32(%esp),%ebp 597*89869e26Schristos andl $7,%ebp 598*89869e26Schristos jz .L013aw_end 599*89869e26Schristos 600*89869e26Schristos movl (%esi),%ecx 601*89869e26Schristos movl (%edi),%edx 602*89869e26Schristos addl %eax,%ecx 603*89869e26Schristos movl $0,%eax 604*89869e26Schristos adcl %eax,%eax 605*89869e26Schristos addl %edx,%ecx 606*89869e26Schristos adcl $0,%eax 607*89869e26Schristos decl %ebp 608*89869e26Schristos movl %ecx,(%ebx) 609*89869e26Schristos jz .L013aw_end 610*89869e26Schristos 611*89869e26Schristos movl 4(%esi),%ecx 612*89869e26Schristos movl 4(%edi),%edx 613*89869e26Schristos addl %eax,%ecx 614*89869e26Schristos movl $0,%eax 615*89869e26Schristos adcl %eax,%eax 616*89869e26Schristos addl %edx,%ecx 617*89869e26Schristos adcl $0,%eax 618*89869e26Schristos decl %ebp 619*89869e26Schristos movl %ecx,4(%ebx) 620*89869e26Schristos jz .L013aw_end 621*89869e26Schristos 622*89869e26Schristos movl 8(%esi),%ecx 623*89869e26Schristos movl 8(%edi),%edx 624*89869e26Schristos addl %eax,%ecx 625*89869e26Schristos movl $0,%eax 626*89869e26Schristos adcl %eax,%eax 627*89869e26Schristos addl %edx,%ecx 628*89869e26Schristos adcl $0,%eax 629*89869e26Schristos decl %ebp 630*89869e26Schristos movl %ecx,8(%ebx) 631*89869e26Schristos jz .L013aw_end 632*89869e26Schristos 633*89869e26Schristos movl 12(%esi),%ecx 634*89869e26Schristos movl 12(%edi),%edx 635*89869e26Schristos addl %eax,%ecx 636*89869e26Schristos movl $0,%eax 637*89869e26Schristos adcl %eax,%eax 638*89869e26Schristos addl %edx,%ecx 639*89869e26Schristos adcl $0,%eax 640*89869e26Schristos decl %ebp 641*89869e26Schristos movl %ecx,12(%ebx) 642*89869e26Schristos jz .L013aw_end 643*89869e26Schristos 644*89869e26Schristos movl 16(%esi),%ecx 645*89869e26Schristos movl 16(%edi),%edx 646*89869e26Schristos addl %eax,%ecx 647*89869e26Schristos movl $0,%eax 648*89869e26Schristos adcl %eax,%eax 649*89869e26Schristos addl %edx,%ecx 650*89869e26Schristos adcl $0,%eax 651*89869e26Schristos decl %ebp 652*89869e26Schristos movl %ecx,16(%ebx) 653*89869e26Schristos jz .L013aw_end 654*89869e26Schristos 655*89869e26Schristos movl 20(%esi),%ecx 656*89869e26Schristos movl 20(%edi),%edx 657*89869e26Schristos addl %eax,%ecx 658*89869e26Schristos movl $0,%eax 659*89869e26Schristos adcl %eax,%eax 660*89869e26Schristos addl %edx,%ecx 661*89869e26Schristos adcl $0,%eax 662*89869e26Schristos decl %ebp 663*89869e26Schristos movl %ecx,20(%ebx) 664*89869e26Schristos jz .L013aw_end 665*89869e26Schristos 666*89869e26Schristos movl 24(%esi),%ecx 667*89869e26Schristos movl 24(%edi),%edx 668*89869e26Schristos addl %eax,%ecx 669*89869e26Schristos movl $0,%eax 670*89869e26Schristos adcl %eax,%eax 671*89869e26Schristos addl %edx,%ecx 672*89869e26Schristos adcl $0,%eax 673*89869e26Schristos movl %ecx,24(%ebx) 674*89869e26Schristos.L013aw_end: 675*89869e26Schristos popl %edi 676*89869e26Schristos popl %esi 677*89869e26Schristos popl %ebx 678*89869e26Schristos popl %ebp 679*89869e26Schristos ret 680*89869e26Schristos.size bn_add_words,.-.L_bn_add_words_begin 681*89869e26Schristos.globl bn_sub_words 682*89869e26Schristos.type bn_sub_words,@function 683*89869e26Schristos.align 16 684*89869e26Schristosbn_sub_words: 685*89869e26Schristos.L_bn_sub_words_begin: 686*89869e26Schristos pushl %ebp 687*89869e26Schristos pushl %ebx 688*89869e26Schristos pushl %esi 689*89869e26Schristos pushl %edi 690*89869e26Schristos 691*89869e26Schristos movl 20(%esp),%ebx 692*89869e26Schristos movl 24(%esp),%esi 693*89869e26Schristos movl 28(%esp),%edi 694*89869e26Schristos movl 32(%esp),%ebp 695*89869e26Schristos xorl %eax,%eax 696*89869e26Schristos andl $4294967288,%ebp 697*89869e26Schristos jz .L014aw_finish 698*89869e26Schristos.L015aw_loop: 699*89869e26Schristos 700*89869e26Schristos movl (%esi),%ecx 701*89869e26Schristos movl (%edi),%edx 702*89869e26Schristos subl %eax,%ecx 703*89869e26Schristos movl $0,%eax 704*89869e26Schristos adcl %eax,%eax 705*89869e26Schristos subl %edx,%ecx 706*89869e26Schristos adcl $0,%eax 707*89869e26Schristos movl %ecx,(%ebx) 708*89869e26Schristos 709*89869e26Schristos movl 4(%esi),%ecx 710*89869e26Schristos movl 4(%edi),%edx 711*89869e26Schristos subl %eax,%ecx 712*89869e26Schristos movl $0,%eax 713*89869e26Schristos adcl %eax,%eax 714*89869e26Schristos subl %edx,%ecx 715*89869e26Schristos adcl $0,%eax 716*89869e26Schristos movl %ecx,4(%ebx) 717*89869e26Schristos 718*89869e26Schristos movl 8(%esi),%ecx 719*89869e26Schristos movl 8(%edi),%edx 720*89869e26Schristos subl %eax,%ecx 721*89869e26Schristos movl $0,%eax 722*89869e26Schristos adcl %eax,%eax 723*89869e26Schristos subl %edx,%ecx 724*89869e26Schristos adcl $0,%eax 725*89869e26Schristos movl %ecx,8(%ebx) 726*89869e26Schristos 727*89869e26Schristos movl 12(%esi),%ecx 728*89869e26Schristos movl 12(%edi),%edx 729*89869e26Schristos subl %eax,%ecx 730*89869e26Schristos movl $0,%eax 731*89869e26Schristos adcl %eax,%eax 732*89869e26Schristos subl %edx,%ecx 733*89869e26Schristos adcl $0,%eax 734*89869e26Schristos movl %ecx,12(%ebx) 735*89869e26Schristos 736*89869e26Schristos movl 16(%esi),%ecx 737*89869e26Schristos movl 16(%edi),%edx 738*89869e26Schristos subl %eax,%ecx 739*89869e26Schristos movl $0,%eax 740*89869e26Schristos adcl %eax,%eax 741*89869e26Schristos subl %edx,%ecx 742*89869e26Schristos adcl $0,%eax 743*89869e26Schristos movl %ecx,16(%ebx) 744*89869e26Schristos 745*89869e26Schristos movl 20(%esi),%ecx 746*89869e26Schristos movl 20(%edi),%edx 747*89869e26Schristos subl %eax,%ecx 748*89869e26Schristos movl $0,%eax 749*89869e26Schristos adcl %eax,%eax 750*89869e26Schristos subl %edx,%ecx 751*89869e26Schristos adcl $0,%eax 752*89869e26Schristos movl %ecx,20(%ebx) 753*89869e26Schristos 754*89869e26Schristos movl 24(%esi),%ecx 755*89869e26Schristos movl 24(%edi),%edx 756*89869e26Schristos subl %eax,%ecx 757*89869e26Schristos movl $0,%eax 758*89869e26Schristos adcl %eax,%eax 759*89869e26Schristos subl %edx,%ecx 760*89869e26Schristos adcl $0,%eax 761*89869e26Schristos movl %ecx,24(%ebx) 762*89869e26Schristos 763*89869e26Schristos movl 28(%esi),%ecx 764*89869e26Schristos movl 28(%edi),%edx 765*89869e26Schristos subl %eax,%ecx 766*89869e26Schristos movl $0,%eax 767*89869e26Schristos adcl %eax,%eax 768*89869e26Schristos subl %edx,%ecx 769*89869e26Schristos adcl $0,%eax 770*89869e26Schristos movl %ecx,28(%ebx) 771*89869e26Schristos 772*89869e26Schristos addl $32,%esi 773*89869e26Schristos addl $32,%edi 774*89869e26Schristos addl $32,%ebx 775*89869e26Schristos subl $8,%ebp 776*89869e26Schristos jnz .L015aw_loop 777*89869e26Schristos.L014aw_finish: 778*89869e26Schristos movl 32(%esp),%ebp 779*89869e26Schristos andl $7,%ebp 780*89869e26Schristos jz .L016aw_end 781*89869e26Schristos 782*89869e26Schristos movl (%esi),%ecx 783*89869e26Schristos movl (%edi),%edx 784*89869e26Schristos subl %eax,%ecx 785*89869e26Schristos movl $0,%eax 786*89869e26Schristos adcl %eax,%eax 787*89869e26Schristos subl %edx,%ecx 788*89869e26Schristos adcl $0,%eax 789*89869e26Schristos decl %ebp 790*89869e26Schristos movl %ecx,(%ebx) 791*89869e26Schristos jz .L016aw_end 792*89869e26Schristos 793*89869e26Schristos movl 4(%esi),%ecx 794*89869e26Schristos movl 4(%edi),%edx 795*89869e26Schristos subl %eax,%ecx 796*89869e26Schristos movl $0,%eax 797*89869e26Schristos adcl %eax,%eax 798*89869e26Schristos subl %edx,%ecx 799*89869e26Schristos adcl $0,%eax 800*89869e26Schristos decl %ebp 801*89869e26Schristos movl %ecx,4(%ebx) 802*89869e26Schristos jz .L016aw_end 803*89869e26Schristos 804*89869e26Schristos movl 8(%esi),%ecx 805*89869e26Schristos movl 8(%edi),%edx 806*89869e26Schristos subl %eax,%ecx 807*89869e26Schristos movl $0,%eax 808*89869e26Schristos adcl %eax,%eax 809*89869e26Schristos subl %edx,%ecx 810*89869e26Schristos adcl $0,%eax 811*89869e26Schristos decl %ebp 812*89869e26Schristos movl %ecx,8(%ebx) 813*89869e26Schristos jz .L016aw_end 814*89869e26Schristos 815*89869e26Schristos movl 12(%esi),%ecx 816*89869e26Schristos movl 12(%edi),%edx 817*89869e26Schristos subl %eax,%ecx 818*89869e26Schristos movl $0,%eax 819*89869e26Schristos adcl %eax,%eax 820*89869e26Schristos subl %edx,%ecx 821*89869e26Schristos adcl $0,%eax 822*89869e26Schristos decl %ebp 823*89869e26Schristos movl %ecx,12(%ebx) 824*89869e26Schristos jz .L016aw_end 825*89869e26Schristos 826*89869e26Schristos movl 16(%esi),%ecx 827*89869e26Schristos movl 16(%edi),%edx 828*89869e26Schristos subl %eax,%ecx 829*89869e26Schristos movl $0,%eax 830*89869e26Schristos adcl %eax,%eax 831*89869e26Schristos subl %edx,%ecx 832*89869e26Schristos adcl $0,%eax 833*89869e26Schristos decl %ebp 834*89869e26Schristos movl %ecx,16(%ebx) 835*89869e26Schristos jz .L016aw_end 836*89869e26Schristos 837*89869e26Schristos movl 20(%esi),%ecx 838*89869e26Schristos movl 20(%edi),%edx 839*89869e26Schristos subl %eax,%ecx 840*89869e26Schristos movl $0,%eax 841*89869e26Schristos adcl %eax,%eax 842*89869e26Schristos subl %edx,%ecx 843*89869e26Schristos adcl $0,%eax 844*89869e26Schristos decl %ebp 845*89869e26Schristos movl %ecx,20(%ebx) 846*89869e26Schristos jz .L016aw_end 847*89869e26Schristos 848*89869e26Schristos movl 24(%esi),%ecx 849*89869e26Schristos movl 24(%edi),%edx 850*89869e26Schristos subl %eax,%ecx 851*89869e26Schristos movl $0,%eax 852*89869e26Schristos adcl %eax,%eax 853*89869e26Schristos subl %edx,%ecx 854*89869e26Schristos adcl $0,%eax 855*89869e26Schristos movl %ecx,24(%ebx) 856*89869e26Schristos.L016aw_end: 857*89869e26Schristos popl %edi 858*89869e26Schristos popl %esi 859*89869e26Schristos popl %ebx 860*89869e26Schristos popl %ebp 861*89869e26Schristos ret 862*89869e26Schristos.size bn_sub_words,.-.L_bn_sub_words_begin 863*89869e26Schristos.globl bn_mul_comba8 864*89869e26Schristos.type bn_mul_comba8,@function 865*89869e26Schristos.align 16 866*89869e26Schristosbn_mul_comba8: 867*89869e26Schristos.L_bn_mul_comba8_begin: 868*89869e26Schristos pushl %esi 869*89869e26Schristos movl 12(%esp),%esi 870*89869e26Schristos pushl %edi 871*89869e26Schristos movl 20(%esp),%edi 872*89869e26Schristos pushl %ebp 873*89869e26Schristos pushl %ebx 874*89869e26Schristos xorl %ebx,%ebx 875*89869e26Schristos movl (%esi),%eax 876*89869e26Schristos xorl %ecx,%ecx 877*89869e26Schristos movl (%edi),%edx 878*89869e26Schristos 879*89869e26Schristos xorl %ebp,%ebp 880*89869e26Schristos 881*89869e26Schristos mull %edx 882*89869e26Schristos addl %eax,%ebx 883*89869e26Schristos movl 20(%esp),%eax 884*89869e26Schristos adcl %edx,%ecx 885*89869e26Schristos movl (%edi),%edx 886*89869e26Schristos adcl $0,%ebp 887*89869e26Schristos movl %ebx,(%eax) 888*89869e26Schristos movl 4(%esi),%eax 889*89869e26Schristos 890*89869e26Schristos 891*89869e26Schristos xorl %ebx,%ebx 892*89869e26Schristos 893*89869e26Schristos mull %edx 894*89869e26Schristos addl %eax,%ecx 895*89869e26Schristos movl (%esi),%eax 896*89869e26Schristos adcl %edx,%ebp 897*89869e26Schristos movl 4(%edi),%edx 898*89869e26Schristos adcl $0,%ebx 899*89869e26Schristos 900*89869e26Schristos mull %edx 901*89869e26Schristos addl %eax,%ecx 902*89869e26Schristos movl 20(%esp),%eax 903*89869e26Schristos adcl %edx,%ebp 904*89869e26Schristos movl (%edi),%edx 905*89869e26Schristos adcl $0,%ebx 906*89869e26Schristos movl %ecx,4(%eax) 907*89869e26Schristos movl 8(%esi),%eax 908*89869e26Schristos 909*89869e26Schristos 910*89869e26Schristos xorl %ecx,%ecx 911*89869e26Schristos 912*89869e26Schristos mull %edx 913*89869e26Schristos addl %eax,%ebp 914*89869e26Schristos movl 4(%esi),%eax 915*89869e26Schristos adcl %edx,%ebx 916*89869e26Schristos movl 4(%edi),%edx 917*89869e26Schristos adcl $0,%ecx 918*89869e26Schristos 919*89869e26Schristos mull %edx 920*89869e26Schristos addl %eax,%ebp 921*89869e26Schristos movl (%esi),%eax 922*89869e26Schristos adcl %edx,%ebx 923*89869e26Schristos movl 8(%edi),%edx 924*89869e26Schristos adcl $0,%ecx 925*89869e26Schristos 926*89869e26Schristos mull %edx 927*89869e26Schristos addl %eax,%ebp 928*89869e26Schristos movl 20(%esp),%eax 929*89869e26Schristos adcl %edx,%ebx 930*89869e26Schristos movl (%edi),%edx 931*89869e26Schristos adcl $0,%ecx 932*89869e26Schristos movl %ebp,8(%eax) 933*89869e26Schristos movl 12(%esi),%eax 934*89869e26Schristos 935*89869e26Schristos 936*89869e26Schristos xorl %ebp,%ebp 937*89869e26Schristos 938*89869e26Schristos mull %edx 939*89869e26Schristos addl %eax,%ebx 940*89869e26Schristos movl 8(%esi),%eax 941*89869e26Schristos adcl %edx,%ecx 942*89869e26Schristos movl 4(%edi),%edx 943*89869e26Schristos adcl $0,%ebp 944*89869e26Schristos 945*89869e26Schristos mull %edx 946*89869e26Schristos addl %eax,%ebx 947*89869e26Schristos movl 4(%esi),%eax 948*89869e26Schristos adcl %edx,%ecx 949*89869e26Schristos movl 8(%edi),%edx 950*89869e26Schristos adcl $0,%ebp 951*89869e26Schristos 952*89869e26Schristos mull %edx 953*89869e26Schristos addl %eax,%ebx 954*89869e26Schristos movl (%esi),%eax 955*89869e26Schristos adcl %edx,%ecx 956*89869e26Schristos movl 12(%edi),%edx 957*89869e26Schristos adcl $0,%ebp 958*89869e26Schristos 959*89869e26Schristos mull %edx 960*89869e26Schristos addl %eax,%ebx 961*89869e26Schristos movl 20(%esp),%eax 962*89869e26Schristos adcl %edx,%ecx 963*89869e26Schristos movl (%edi),%edx 964*89869e26Schristos adcl $0,%ebp 965*89869e26Schristos movl %ebx,12(%eax) 966*89869e26Schristos movl 16(%esi),%eax 967*89869e26Schristos 968*89869e26Schristos 969*89869e26Schristos xorl %ebx,%ebx 970*89869e26Schristos 971*89869e26Schristos mull %edx 972*89869e26Schristos addl %eax,%ecx 973*89869e26Schristos movl 12(%esi),%eax 974*89869e26Schristos adcl %edx,%ebp 975*89869e26Schristos movl 4(%edi),%edx 976*89869e26Schristos adcl $0,%ebx 977*89869e26Schristos 978*89869e26Schristos mull %edx 979*89869e26Schristos addl %eax,%ecx 980*89869e26Schristos movl 8(%esi),%eax 981*89869e26Schristos adcl %edx,%ebp 982*89869e26Schristos movl 8(%edi),%edx 983*89869e26Schristos adcl $0,%ebx 984*89869e26Schristos 985*89869e26Schristos mull %edx 986*89869e26Schristos addl %eax,%ecx 987*89869e26Schristos movl 4(%esi),%eax 988*89869e26Schristos adcl %edx,%ebp 989*89869e26Schristos movl 12(%edi),%edx 990*89869e26Schristos adcl $0,%ebx 991*89869e26Schristos 992*89869e26Schristos mull %edx 993*89869e26Schristos addl %eax,%ecx 994*89869e26Schristos movl (%esi),%eax 995*89869e26Schristos adcl %edx,%ebp 996*89869e26Schristos movl 16(%edi),%edx 997*89869e26Schristos adcl $0,%ebx 998*89869e26Schristos 999*89869e26Schristos mull %edx 1000*89869e26Schristos addl %eax,%ecx 1001*89869e26Schristos movl 20(%esp),%eax 1002*89869e26Schristos adcl %edx,%ebp 1003*89869e26Schristos movl (%edi),%edx 1004*89869e26Schristos adcl $0,%ebx 1005*89869e26Schristos movl %ecx,16(%eax) 1006*89869e26Schristos movl 20(%esi),%eax 1007*89869e26Schristos 1008*89869e26Schristos 1009*89869e26Schristos xorl %ecx,%ecx 1010*89869e26Schristos 1011*89869e26Schristos mull %edx 1012*89869e26Schristos addl %eax,%ebp 1013*89869e26Schristos movl 16(%esi),%eax 1014*89869e26Schristos adcl %edx,%ebx 1015*89869e26Schristos movl 4(%edi),%edx 1016*89869e26Schristos adcl $0,%ecx 1017*89869e26Schristos 1018*89869e26Schristos mull %edx 1019*89869e26Schristos addl %eax,%ebp 1020*89869e26Schristos movl 12(%esi),%eax 1021*89869e26Schristos adcl %edx,%ebx 1022*89869e26Schristos movl 8(%edi),%edx 1023*89869e26Schristos adcl $0,%ecx 1024*89869e26Schristos 1025*89869e26Schristos mull %edx 1026*89869e26Schristos addl %eax,%ebp 1027*89869e26Schristos movl 8(%esi),%eax 1028*89869e26Schristos adcl %edx,%ebx 1029*89869e26Schristos movl 12(%edi),%edx 1030*89869e26Schristos adcl $0,%ecx 1031*89869e26Schristos 1032*89869e26Schristos mull %edx 1033*89869e26Schristos addl %eax,%ebp 1034*89869e26Schristos movl 4(%esi),%eax 1035*89869e26Schristos adcl %edx,%ebx 1036*89869e26Schristos movl 16(%edi),%edx 1037*89869e26Schristos adcl $0,%ecx 1038*89869e26Schristos 1039*89869e26Schristos mull %edx 1040*89869e26Schristos addl %eax,%ebp 1041*89869e26Schristos movl (%esi),%eax 1042*89869e26Schristos adcl %edx,%ebx 1043*89869e26Schristos movl 20(%edi),%edx 1044*89869e26Schristos adcl $0,%ecx 1045*89869e26Schristos 1046*89869e26Schristos mull %edx 1047*89869e26Schristos addl %eax,%ebp 1048*89869e26Schristos movl 20(%esp),%eax 1049*89869e26Schristos adcl %edx,%ebx 1050*89869e26Schristos movl (%edi),%edx 1051*89869e26Schristos adcl $0,%ecx 1052*89869e26Schristos movl %ebp,20(%eax) 1053*89869e26Schristos movl 24(%esi),%eax 1054*89869e26Schristos 1055*89869e26Schristos 1056*89869e26Schristos xorl %ebp,%ebp 1057*89869e26Schristos 1058*89869e26Schristos mull %edx 1059*89869e26Schristos addl %eax,%ebx 1060*89869e26Schristos movl 20(%esi),%eax 1061*89869e26Schristos adcl %edx,%ecx 1062*89869e26Schristos movl 4(%edi),%edx 1063*89869e26Schristos adcl $0,%ebp 1064*89869e26Schristos 1065*89869e26Schristos mull %edx 1066*89869e26Schristos addl %eax,%ebx 1067*89869e26Schristos movl 16(%esi),%eax 1068*89869e26Schristos adcl %edx,%ecx 1069*89869e26Schristos movl 8(%edi),%edx 1070*89869e26Schristos adcl $0,%ebp 1071*89869e26Schristos 1072*89869e26Schristos mull %edx 1073*89869e26Schristos addl %eax,%ebx 1074*89869e26Schristos movl 12(%esi),%eax 1075*89869e26Schristos adcl %edx,%ecx 1076*89869e26Schristos movl 12(%edi),%edx 1077*89869e26Schristos adcl $0,%ebp 1078*89869e26Schristos 1079*89869e26Schristos mull %edx 1080*89869e26Schristos addl %eax,%ebx 1081*89869e26Schristos movl 8(%esi),%eax 1082*89869e26Schristos adcl %edx,%ecx 1083*89869e26Schristos movl 16(%edi),%edx 1084*89869e26Schristos adcl $0,%ebp 1085*89869e26Schristos 1086*89869e26Schristos mull %edx 1087*89869e26Schristos addl %eax,%ebx 1088*89869e26Schristos movl 4(%esi),%eax 1089*89869e26Schristos adcl %edx,%ecx 1090*89869e26Schristos movl 20(%edi),%edx 1091*89869e26Schristos adcl $0,%ebp 1092*89869e26Schristos 1093*89869e26Schristos mull %edx 1094*89869e26Schristos addl %eax,%ebx 1095*89869e26Schristos movl (%esi),%eax 1096*89869e26Schristos adcl %edx,%ecx 1097*89869e26Schristos movl 24(%edi),%edx 1098*89869e26Schristos adcl $0,%ebp 1099*89869e26Schristos 1100*89869e26Schristos mull %edx 1101*89869e26Schristos addl %eax,%ebx 1102*89869e26Schristos movl 20(%esp),%eax 1103*89869e26Schristos adcl %edx,%ecx 1104*89869e26Schristos movl (%edi),%edx 1105*89869e26Schristos adcl $0,%ebp 1106*89869e26Schristos movl %ebx,24(%eax) 1107*89869e26Schristos movl 28(%esi),%eax 1108*89869e26Schristos 1109*89869e26Schristos 1110*89869e26Schristos xorl %ebx,%ebx 1111*89869e26Schristos 1112*89869e26Schristos mull %edx 1113*89869e26Schristos addl %eax,%ecx 1114*89869e26Schristos movl 24(%esi),%eax 1115*89869e26Schristos adcl %edx,%ebp 1116*89869e26Schristos movl 4(%edi),%edx 1117*89869e26Schristos adcl $0,%ebx 1118*89869e26Schristos 1119*89869e26Schristos mull %edx 1120*89869e26Schristos addl %eax,%ecx 1121*89869e26Schristos movl 20(%esi),%eax 1122*89869e26Schristos adcl %edx,%ebp 1123*89869e26Schristos movl 8(%edi),%edx 1124*89869e26Schristos adcl $0,%ebx 1125*89869e26Schristos 1126*89869e26Schristos mull %edx 1127*89869e26Schristos addl %eax,%ecx 1128*89869e26Schristos movl 16(%esi),%eax 1129*89869e26Schristos adcl %edx,%ebp 1130*89869e26Schristos movl 12(%edi),%edx 1131*89869e26Schristos adcl $0,%ebx 1132*89869e26Schristos 1133*89869e26Schristos mull %edx 1134*89869e26Schristos addl %eax,%ecx 1135*89869e26Schristos movl 12(%esi),%eax 1136*89869e26Schristos adcl %edx,%ebp 1137*89869e26Schristos movl 16(%edi),%edx 1138*89869e26Schristos adcl $0,%ebx 1139*89869e26Schristos 1140*89869e26Schristos mull %edx 1141*89869e26Schristos addl %eax,%ecx 1142*89869e26Schristos movl 8(%esi),%eax 1143*89869e26Schristos adcl %edx,%ebp 1144*89869e26Schristos movl 20(%edi),%edx 1145*89869e26Schristos adcl $0,%ebx 1146*89869e26Schristos 1147*89869e26Schristos mull %edx 1148*89869e26Schristos addl %eax,%ecx 1149*89869e26Schristos movl 4(%esi),%eax 1150*89869e26Schristos adcl %edx,%ebp 1151*89869e26Schristos movl 24(%edi),%edx 1152*89869e26Schristos adcl $0,%ebx 1153*89869e26Schristos 1154*89869e26Schristos mull %edx 1155*89869e26Schristos addl %eax,%ecx 1156*89869e26Schristos movl (%esi),%eax 1157*89869e26Schristos adcl %edx,%ebp 1158*89869e26Schristos movl 28(%edi),%edx 1159*89869e26Schristos adcl $0,%ebx 1160*89869e26Schristos 1161*89869e26Schristos mull %edx 1162*89869e26Schristos addl %eax,%ecx 1163*89869e26Schristos movl 20(%esp),%eax 1164*89869e26Schristos adcl %edx,%ebp 1165*89869e26Schristos movl 4(%edi),%edx 1166*89869e26Schristos adcl $0,%ebx 1167*89869e26Schristos movl %ecx,28(%eax) 1168*89869e26Schristos movl 28(%esi),%eax 1169*89869e26Schristos 1170*89869e26Schristos 1171*89869e26Schristos xorl %ecx,%ecx 1172*89869e26Schristos 1173*89869e26Schristos mull %edx 1174*89869e26Schristos addl %eax,%ebp 1175*89869e26Schristos movl 24(%esi),%eax 1176*89869e26Schristos adcl %edx,%ebx 1177*89869e26Schristos movl 8(%edi),%edx 1178*89869e26Schristos adcl $0,%ecx 1179*89869e26Schristos 1180*89869e26Schristos mull %edx 1181*89869e26Schristos addl %eax,%ebp 1182*89869e26Schristos movl 20(%esi),%eax 1183*89869e26Schristos adcl %edx,%ebx 1184*89869e26Schristos movl 12(%edi),%edx 1185*89869e26Schristos adcl $0,%ecx 1186*89869e26Schristos 1187*89869e26Schristos mull %edx 1188*89869e26Schristos addl %eax,%ebp 1189*89869e26Schristos movl 16(%esi),%eax 1190*89869e26Schristos adcl %edx,%ebx 1191*89869e26Schristos movl 16(%edi),%edx 1192*89869e26Schristos adcl $0,%ecx 1193*89869e26Schristos 1194*89869e26Schristos mull %edx 1195*89869e26Schristos addl %eax,%ebp 1196*89869e26Schristos movl 12(%esi),%eax 1197*89869e26Schristos adcl %edx,%ebx 1198*89869e26Schristos movl 20(%edi),%edx 1199*89869e26Schristos adcl $0,%ecx 1200*89869e26Schristos 1201*89869e26Schristos mull %edx 1202*89869e26Schristos addl %eax,%ebp 1203*89869e26Schristos movl 8(%esi),%eax 1204*89869e26Schristos adcl %edx,%ebx 1205*89869e26Schristos movl 24(%edi),%edx 1206*89869e26Schristos adcl $0,%ecx 1207*89869e26Schristos 1208*89869e26Schristos mull %edx 1209*89869e26Schristos addl %eax,%ebp 1210*89869e26Schristos movl 4(%esi),%eax 1211*89869e26Schristos adcl %edx,%ebx 1212*89869e26Schristos movl 28(%edi),%edx 1213*89869e26Schristos adcl $0,%ecx 1214*89869e26Schristos 1215*89869e26Schristos mull %edx 1216*89869e26Schristos addl %eax,%ebp 1217*89869e26Schristos movl 20(%esp),%eax 1218*89869e26Schristos adcl %edx,%ebx 1219*89869e26Schristos movl 8(%edi),%edx 1220*89869e26Schristos adcl $0,%ecx 1221*89869e26Schristos movl %ebp,32(%eax) 1222*89869e26Schristos movl 28(%esi),%eax 1223*89869e26Schristos 1224*89869e26Schristos 1225*89869e26Schristos xorl %ebp,%ebp 1226*89869e26Schristos 1227*89869e26Schristos mull %edx 1228*89869e26Schristos addl %eax,%ebx 1229*89869e26Schristos movl 24(%esi),%eax 1230*89869e26Schristos adcl %edx,%ecx 1231*89869e26Schristos movl 12(%edi),%edx 1232*89869e26Schristos adcl $0,%ebp 1233*89869e26Schristos 1234*89869e26Schristos mull %edx 1235*89869e26Schristos addl %eax,%ebx 1236*89869e26Schristos movl 20(%esi),%eax 1237*89869e26Schristos adcl %edx,%ecx 1238*89869e26Schristos movl 16(%edi),%edx 1239*89869e26Schristos adcl $0,%ebp 1240*89869e26Schristos 1241*89869e26Schristos mull %edx 1242*89869e26Schristos addl %eax,%ebx 1243*89869e26Schristos movl 16(%esi),%eax 1244*89869e26Schristos adcl %edx,%ecx 1245*89869e26Schristos movl 20(%edi),%edx 1246*89869e26Schristos adcl $0,%ebp 1247*89869e26Schristos 1248*89869e26Schristos mull %edx 1249*89869e26Schristos addl %eax,%ebx 1250*89869e26Schristos movl 12(%esi),%eax 1251*89869e26Schristos adcl %edx,%ecx 1252*89869e26Schristos movl 24(%edi),%edx 1253*89869e26Schristos adcl $0,%ebp 1254*89869e26Schristos 1255*89869e26Schristos mull %edx 1256*89869e26Schristos addl %eax,%ebx 1257*89869e26Schristos movl 8(%esi),%eax 1258*89869e26Schristos adcl %edx,%ecx 1259*89869e26Schristos movl 28(%edi),%edx 1260*89869e26Schristos adcl $0,%ebp 1261*89869e26Schristos 1262*89869e26Schristos mull %edx 1263*89869e26Schristos addl %eax,%ebx 1264*89869e26Schristos movl 20(%esp),%eax 1265*89869e26Schristos adcl %edx,%ecx 1266*89869e26Schristos movl 12(%edi),%edx 1267*89869e26Schristos adcl $0,%ebp 1268*89869e26Schristos movl %ebx,36(%eax) 1269*89869e26Schristos movl 28(%esi),%eax 1270*89869e26Schristos 1271*89869e26Schristos 1272*89869e26Schristos xorl %ebx,%ebx 1273*89869e26Schristos 1274*89869e26Schristos mull %edx 1275*89869e26Schristos addl %eax,%ecx 1276*89869e26Schristos movl 24(%esi),%eax 1277*89869e26Schristos adcl %edx,%ebp 1278*89869e26Schristos movl 16(%edi),%edx 1279*89869e26Schristos adcl $0,%ebx 1280*89869e26Schristos 1281*89869e26Schristos mull %edx 1282*89869e26Schristos addl %eax,%ecx 1283*89869e26Schristos movl 20(%esi),%eax 1284*89869e26Schristos adcl %edx,%ebp 1285*89869e26Schristos movl 20(%edi),%edx 1286*89869e26Schristos adcl $0,%ebx 1287*89869e26Schristos 1288*89869e26Schristos mull %edx 1289*89869e26Schristos addl %eax,%ecx 1290*89869e26Schristos movl 16(%esi),%eax 1291*89869e26Schristos adcl %edx,%ebp 1292*89869e26Schristos movl 24(%edi),%edx 1293*89869e26Schristos adcl $0,%ebx 1294*89869e26Schristos 1295*89869e26Schristos mull %edx 1296*89869e26Schristos addl %eax,%ecx 1297*89869e26Schristos movl 12(%esi),%eax 1298*89869e26Schristos adcl %edx,%ebp 1299*89869e26Schristos movl 28(%edi),%edx 1300*89869e26Schristos adcl $0,%ebx 1301*89869e26Schristos 1302*89869e26Schristos mull %edx 1303*89869e26Schristos addl %eax,%ecx 1304*89869e26Schristos movl 20(%esp),%eax 1305*89869e26Schristos adcl %edx,%ebp 1306*89869e26Schristos movl 16(%edi),%edx 1307*89869e26Schristos adcl $0,%ebx 1308*89869e26Schristos movl %ecx,40(%eax) 1309*89869e26Schristos movl 28(%esi),%eax 1310*89869e26Schristos 1311*89869e26Schristos 1312*89869e26Schristos xorl %ecx,%ecx 1313*89869e26Schristos 1314*89869e26Schristos mull %edx 1315*89869e26Schristos addl %eax,%ebp 1316*89869e26Schristos movl 24(%esi),%eax 1317*89869e26Schristos adcl %edx,%ebx 1318*89869e26Schristos movl 20(%edi),%edx 1319*89869e26Schristos adcl $0,%ecx 1320*89869e26Schristos 1321*89869e26Schristos mull %edx 1322*89869e26Schristos addl %eax,%ebp 1323*89869e26Schristos movl 20(%esi),%eax 1324*89869e26Schristos adcl %edx,%ebx 1325*89869e26Schristos movl 24(%edi),%edx 1326*89869e26Schristos adcl $0,%ecx 1327*89869e26Schristos 1328*89869e26Schristos mull %edx 1329*89869e26Schristos addl %eax,%ebp 1330*89869e26Schristos movl 16(%esi),%eax 1331*89869e26Schristos adcl %edx,%ebx 1332*89869e26Schristos movl 28(%edi),%edx 1333*89869e26Schristos adcl $0,%ecx 1334*89869e26Schristos 1335*89869e26Schristos mull %edx 1336*89869e26Schristos addl %eax,%ebp 1337*89869e26Schristos movl 20(%esp),%eax 1338*89869e26Schristos adcl %edx,%ebx 1339*89869e26Schristos movl 20(%edi),%edx 1340*89869e26Schristos adcl $0,%ecx 1341*89869e26Schristos movl %ebp,44(%eax) 1342*89869e26Schristos movl 28(%esi),%eax 1343*89869e26Schristos 1344*89869e26Schristos 1345*89869e26Schristos xorl %ebp,%ebp 1346*89869e26Schristos 1347*89869e26Schristos mull %edx 1348*89869e26Schristos addl %eax,%ebx 1349*89869e26Schristos movl 24(%esi),%eax 1350*89869e26Schristos adcl %edx,%ecx 1351*89869e26Schristos movl 24(%edi),%edx 1352*89869e26Schristos adcl $0,%ebp 1353*89869e26Schristos 1354*89869e26Schristos mull %edx 1355*89869e26Schristos addl %eax,%ebx 1356*89869e26Schristos movl 20(%esi),%eax 1357*89869e26Schristos adcl %edx,%ecx 1358*89869e26Schristos movl 28(%edi),%edx 1359*89869e26Schristos adcl $0,%ebp 1360*89869e26Schristos 1361*89869e26Schristos mull %edx 1362*89869e26Schristos addl %eax,%ebx 1363*89869e26Schristos movl 20(%esp),%eax 1364*89869e26Schristos adcl %edx,%ecx 1365*89869e26Schristos movl 24(%edi),%edx 1366*89869e26Schristos adcl $0,%ebp 1367*89869e26Schristos movl %ebx,48(%eax) 1368*89869e26Schristos movl 28(%esi),%eax 1369*89869e26Schristos 1370*89869e26Schristos 1371*89869e26Schristos xorl %ebx,%ebx 1372*89869e26Schristos 1373*89869e26Schristos mull %edx 1374*89869e26Schristos addl %eax,%ecx 1375*89869e26Schristos movl 24(%esi),%eax 1376*89869e26Schristos adcl %edx,%ebp 1377*89869e26Schristos movl 28(%edi),%edx 1378*89869e26Schristos adcl $0,%ebx 1379*89869e26Schristos 1380*89869e26Schristos mull %edx 1381*89869e26Schristos addl %eax,%ecx 1382*89869e26Schristos movl 20(%esp),%eax 1383*89869e26Schristos adcl %edx,%ebp 1384*89869e26Schristos movl 28(%edi),%edx 1385*89869e26Schristos adcl $0,%ebx 1386*89869e26Schristos movl %ecx,52(%eax) 1387*89869e26Schristos movl 28(%esi),%eax 1388*89869e26Schristos 1389*89869e26Schristos 1390*89869e26Schristos xorl %ecx,%ecx 1391*89869e26Schristos 1392*89869e26Schristos mull %edx 1393*89869e26Schristos addl %eax,%ebp 1394*89869e26Schristos movl 20(%esp),%eax 1395*89869e26Schristos adcl %edx,%ebx 1396*89869e26Schristos adcl $0,%ecx 1397*89869e26Schristos movl %ebp,56(%eax) 1398*89869e26Schristos 1399*89869e26Schristos 1400*89869e26Schristos movl %ebx,60(%eax) 1401*89869e26Schristos popl %ebx 1402*89869e26Schristos popl %ebp 1403*89869e26Schristos popl %edi 1404*89869e26Schristos popl %esi 1405*89869e26Schristos ret 1406*89869e26Schristos.size bn_mul_comba8,.-.L_bn_mul_comba8_begin 1407*89869e26Schristos.globl bn_mul_comba4 1408*89869e26Schristos.type bn_mul_comba4,@function 1409*89869e26Schristos.align 16 1410*89869e26Schristosbn_mul_comba4: 1411*89869e26Schristos.L_bn_mul_comba4_begin: 1412*89869e26Schristos pushl %esi 1413*89869e26Schristos movl 12(%esp),%esi 1414*89869e26Schristos pushl %edi 1415*89869e26Schristos movl 20(%esp),%edi 1416*89869e26Schristos pushl %ebp 1417*89869e26Schristos pushl %ebx 1418*89869e26Schristos xorl %ebx,%ebx 1419*89869e26Schristos movl (%esi),%eax 1420*89869e26Schristos xorl %ecx,%ecx 1421*89869e26Schristos movl (%edi),%edx 1422*89869e26Schristos 1423*89869e26Schristos xorl %ebp,%ebp 1424*89869e26Schristos 1425*89869e26Schristos mull %edx 1426*89869e26Schristos addl %eax,%ebx 1427*89869e26Schristos movl 20(%esp),%eax 1428*89869e26Schristos adcl %edx,%ecx 1429*89869e26Schristos movl (%edi),%edx 1430*89869e26Schristos adcl $0,%ebp 1431*89869e26Schristos movl %ebx,(%eax) 1432*89869e26Schristos movl 4(%esi),%eax 1433*89869e26Schristos 1434*89869e26Schristos 1435*89869e26Schristos xorl %ebx,%ebx 1436*89869e26Schristos 1437*89869e26Schristos mull %edx 1438*89869e26Schristos addl %eax,%ecx 1439*89869e26Schristos movl (%esi),%eax 1440*89869e26Schristos adcl %edx,%ebp 1441*89869e26Schristos movl 4(%edi),%edx 1442*89869e26Schristos adcl $0,%ebx 1443*89869e26Schristos 1444*89869e26Schristos mull %edx 1445*89869e26Schristos addl %eax,%ecx 1446*89869e26Schristos movl 20(%esp),%eax 1447*89869e26Schristos adcl %edx,%ebp 1448*89869e26Schristos movl (%edi),%edx 1449*89869e26Schristos adcl $0,%ebx 1450*89869e26Schristos movl %ecx,4(%eax) 1451*89869e26Schristos movl 8(%esi),%eax 1452*89869e26Schristos 1453*89869e26Schristos 1454*89869e26Schristos xorl %ecx,%ecx 1455*89869e26Schristos 1456*89869e26Schristos mull %edx 1457*89869e26Schristos addl %eax,%ebp 1458*89869e26Schristos movl 4(%esi),%eax 1459*89869e26Schristos adcl %edx,%ebx 1460*89869e26Schristos movl 4(%edi),%edx 1461*89869e26Schristos adcl $0,%ecx 1462*89869e26Schristos 1463*89869e26Schristos mull %edx 1464*89869e26Schristos addl %eax,%ebp 1465*89869e26Schristos movl (%esi),%eax 1466*89869e26Schristos adcl %edx,%ebx 1467*89869e26Schristos movl 8(%edi),%edx 1468*89869e26Schristos adcl $0,%ecx 1469*89869e26Schristos 1470*89869e26Schristos mull %edx 1471*89869e26Schristos addl %eax,%ebp 1472*89869e26Schristos movl 20(%esp),%eax 1473*89869e26Schristos adcl %edx,%ebx 1474*89869e26Schristos movl (%edi),%edx 1475*89869e26Schristos adcl $0,%ecx 1476*89869e26Schristos movl %ebp,8(%eax) 1477*89869e26Schristos movl 12(%esi),%eax 1478*89869e26Schristos 1479*89869e26Schristos 1480*89869e26Schristos xorl %ebp,%ebp 1481*89869e26Schristos 1482*89869e26Schristos mull %edx 1483*89869e26Schristos addl %eax,%ebx 1484*89869e26Schristos movl 8(%esi),%eax 1485*89869e26Schristos adcl %edx,%ecx 1486*89869e26Schristos movl 4(%edi),%edx 1487*89869e26Schristos adcl $0,%ebp 1488*89869e26Schristos 1489*89869e26Schristos mull %edx 1490*89869e26Schristos addl %eax,%ebx 1491*89869e26Schristos movl 4(%esi),%eax 1492*89869e26Schristos adcl %edx,%ecx 1493*89869e26Schristos movl 8(%edi),%edx 1494*89869e26Schristos adcl $0,%ebp 1495*89869e26Schristos 1496*89869e26Schristos mull %edx 1497*89869e26Schristos addl %eax,%ebx 1498*89869e26Schristos movl (%esi),%eax 1499*89869e26Schristos adcl %edx,%ecx 1500*89869e26Schristos movl 12(%edi),%edx 1501*89869e26Schristos adcl $0,%ebp 1502*89869e26Schristos 1503*89869e26Schristos mull %edx 1504*89869e26Schristos addl %eax,%ebx 1505*89869e26Schristos movl 20(%esp),%eax 1506*89869e26Schristos adcl %edx,%ecx 1507*89869e26Schristos movl 4(%edi),%edx 1508*89869e26Schristos adcl $0,%ebp 1509*89869e26Schristos movl %ebx,12(%eax) 1510*89869e26Schristos movl 12(%esi),%eax 1511*89869e26Schristos 1512*89869e26Schristos 1513*89869e26Schristos xorl %ebx,%ebx 1514*89869e26Schristos 1515*89869e26Schristos mull %edx 1516*89869e26Schristos addl %eax,%ecx 1517*89869e26Schristos movl 8(%esi),%eax 1518*89869e26Schristos adcl %edx,%ebp 1519*89869e26Schristos movl 8(%edi),%edx 1520*89869e26Schristos adcl $0,%ebx 1521*89869e26Schristos 1522*89869e26Schristos mull %edx 1523*89869e26Schristos addl %eax,%ecx 1524*89869e26Schristos movl 4(%esi),%eax 1525*89869e26Schristos adcl %edx,%ebp 1526*89869e26Schristos movl 12(%edi),%edx 1527*89869e26Schristos adcl $0,%ebx 1528*89869e26Schristos 1529*89869e26Schristos mull %edx 1530*89869e26Schristos addl %eax,%ecx 1531*89869e26Schristos movl 20(%esp),%eax 1532*89869e26Schristos adcl %edx,%ebp 1533*89869e26Schristos movl 8(%edi),%edx 1534*89869e26Schristos adcl $0,%ebx 1535*89869e26Schristos movl %ecx,16(%eax) 1536*89869e26Schristos movl 12(%esi),%eax 1537*89869e26Schristos 1538*89869e26Schristos 1539*89869e26Schristos xorl %ecx,%ecx 1540*89869e26Schristos 1541*89869e26Schristos mull %edx 1542*89869e26Schristos addl %eax,%ebp 1543*89869e26Schristos movl 8(%esi),%eax 1544*89869e26Schristos adcl %edx,%ebx 1545*89869e26Schristos movl 12(%edi),%edx 1546*89869e26Schristos adcl $0,%ecx 1547*89869e26Schristos 1548*89869e26Schristos mull %edx 1549*89869e26Schristos addl %eax,%ebp 1550*89869e26Schristos movl 20(%esp),%eax 1551*89869e26Schristos adcl %edx,%ebx 1552*89869e26Schristos movl 12(%edi),%edx 1553*89869e26Schristos adcl $0,%ecx 1554*89869e26Schristos movl %ebp,20(%eax) 1555*89869e26Schristos movl 12(%esi),%eax 1556*89869e26Schristos 1557*89869e26Schristos 1558*89869e26Schristos xorl %ebp,%ebp 1559*89869e26Schristos 1560*89869e26Schristos mull %edx 1561*89869e26Schristos addl %eax,%ebx 1562*89869e26Schristos movl 20(%esp),%eax 1563*89869e26Schristos adcl %edx,%ecx 1564*89869e26Schristos adcl $0,%ebp 1565*89869e26Schristos movl %ebx,24(%eax) 1566*89869e26Schristos 1567*89869e26Schristos 1568*89869e26Schristos movl %ecx,28(%eax) 1569*89869e26Schristos popl %ebx 1570*89869e26Schristos popl %ebp 1571*89869e26Schristos popl %edi 1572*89869e26Schristos popl %esi 1573*89869e26Schristos ret 1574*89869e26Schristos.size bn_mul_comba4,.-.L_bn_mul_comba4_begin 1575*89869e26Schristos.globl bn_sqr_comba8 1576*89869e26Schristos.type bn_sqr_comba8,@function 1577*89869e26Schristos.align 16 1578*89869e26Schristosbn_sqr_comba8: 1579*89869e26Schristos.L_bn_sqr_comba8_begin: 1580*89869e26Schristos pushl %esi 1581*89869e26Schristos pushl %edi 1582*89869e26Schristos pushl %ebp 1583*89869e26Schristos pushl %ebx 1584*89869e26Schristos movl 20(%esp),%edi 1585*89869e26Schristos movl 24(%esp),%esi 1586*89869e26Schristos xorl %ebx,%ebx 1587*89869e26Schristos xorl %ecx,%ecx 1588*89869e26Schristos movl (%esi),%eax 1589*89869e26Schristos 1590*89869e26Schristos xorl %ebp,%ebp 1591*89869e26Schristos 1592*89869e26Schristos mull %eax 1593*89869e26Schristos addl %eax,%ebx 1594*89869e26Schristos adcl %edx,%ecx 1595*89869e26Schristos movl (%esi),%edx 1596*89869e26Schristos adcl $0,%ebp 1597*89869e26Schristos movl %ebx,(%edi) 1598*89869e26Schristos movl 4(%esi),%eax 1599*89869e26Schristos 1600*89869e26Schristos 1601*89869e26Schristos xorl %ebx,%ebx 1602*89869e26Schristos 1603*89869e26Schristos mull %edx 1604*89869e26Schristos addl %eax,%eax 1605*89869e26Schristos adcl %edx,%edx 1606*89869e26Schristos adcl $0,%ebx 1607*89869e26Schristos addl %eax,%ecx 1608*89869e26Schristos adcl %edx,%ebp 1609*89869e26Schristos movl 8(%esi),%eax 1610*89869e26Schristos adcl $0,%ebx 1611*89869e26Schristos movl %ecx,4(%edi) 1612*89869e26Schristos movl (%esi),%edx 1613*89869e26Schristos 1614*89869e26Schristos 1615*89869e26Schristos xorl %ecx,%ecx 1616*89869e26Schristos 1617*89869e26Schristos mull %edx 1618*89869e26Schristos addl %eax,%eax 1619*89869e26Schristos adcl %edx,%edx 1620*89869e26Schristos adcl $0,%ecx 1621*89869e26Schristos addl %eax,%ebp 1622*89869e26Schristos adcl %edx,%ebx 1623*89869e26Schristos movl 4(%esi),%eax 1624*89869e26Schristos adcl $0,%ecx 1625*89869e26Schristos 1626*89869e26Schristos mull %eax 1627*89869e26Schristos addl %eax,%ebp 1628*89869e26Schristos adcl %edx,%ebx 1629*89869e26Schristos movl (%esi),%edx 1630*89869e26Schristos adcl $0,%ecx 1631*89869e26Schristos movl %ebp,8(%edi) 1632*89869e26Schristos movl 12(%esi),%eax 1633*89869e26Schristos 1634*89869e26Schristos 1635*89869e26Schristos xorl %ebp,%ebp 1636*89869e26Schristos 1637*89869e26Schristos mull %edx 1638*89869e26Schristos addl %eax,%eax 1639*89869e26Schristos adcl %edx,%edx 1640*89869e26Schristos adcl $0,%ebp 1641*89869e26Schristos addl %eax,%ebx 1642*89869e26Schristos adcl %edx,%ecx 1643*89869e26Schristos movl 8(%esi),%eax 1644*89869e26Schristos adcl $0,%ebp 1645*89869e26Schristos movl 4(%esi),%edx 1646*89869e26Schristos 1647*89869e26Schristos mull %edx 1648*89869e26Schristos addl %eax,%eax 1649*89869e26Schristos adcl %edx,%edx 1650*89869e26Schristos adcl $0,%ebp 1651*89869e26Schristos addl %eax,%ebx 1652*89869e26Schristos adcl %edx,%ecx 1653*89869e26Schristos movl 16(%esi),%eax 1654*89869e26Schristos adcl $0,%ebp 1655*89869e26Schristos movl %ebx,12(%edi) 1656*89869e26Schristos movl (%esi),%edx 1657*89869e26Schristos 1658*89869e26Schristos 1659*89869e26Schristos xorl %ebx,%ebx 1660*89869e26Schristos 1661*89869e26Schristos mull %edx 1662*89869e26Schristos addl %eax,%eax 1663*89869e26Schristos adcl %edx,%edx 1664*89869e26Schristos adcl $0,%ebx 1665*89869e26Schristos addl %eax,%ecx 1666*89869e26Schristos adcl %edx,%ebp 1667*89869e26Schristos movl 12(%esi),%eax 1668*89869e26Schristos adcl $0,%ebx 1669*89869e26Schristos movl 4(%esi),%edx 1670*89869e26Schristos 1671*89869e26Schristos mull %edx 1672*89869e26Schristos addl %eax,%eax 1673*89869e26Schristos adcl %edx,%edx 1674*89869e26Schristos adcl $0,%ebx 1675*89869e26Schristos addl %eax,%ecx 1676*89869e26Schristos adcl %edx,%ebp 1677*89869e26Schristos movl 8(%esi),%eax 1678*89869e26Schristos adcl $0,%ebx 1679*89869e26Schristos 1680*89869e26Schristos mull %eax 1681*89869e26Schristos addl %eax,%ecx 1682*89869e26Schristos adcl %edx,%ebp 1683*89869e26Schristos movl (%esi),%edx 1684*89869e26Schristos adcl $0,%ebx 1685*89869e26Schristos movl %ecx,16(%edi) 1686*89869e26Schristos movl 20(%esi),%eax 1687*89869e26Schristos 1688*89869e26Schristos 1689*89869e26Schristos xorl %ecx,%ecx 1690*89869e26Schristos 1691*89869e26Schristos mull %edx 1692*89869e26Schristos addl %eax,%eax 1693*89869e26Schristos adcl %edx,%edx 1694*89869e26Schristos adcl $0,%ecx 1695*89869e26Schristos addl %eax,%ebp 1696*89869e26Schristos adcl %edx,%ebx 1697*89869e26Schristos movl 16(%esi),%eax 1698*89869e26Schristos adcl $0,%ecx 1699*89869e26Schristos movl 4(%esi),%edx 1700*89869e26Schristos 1701*89869e26Schristos mull %edx 1702*89869e26Schristos addl %eax,%eax 1703*89869e26Schristos adcl %edx,%edx 1704*89869e26Schristos adcl $0,%ecx 1705*89869e26Schristos addl %eax,%ebp 1706*89869e26Schristos adcl %edx,%ebx 1707*89869e26Schristos movl 12(%esi),%eax 1708*89869e26Schristos adcl $0,%ecx 1709*89869e26Schristos movl 8(%esi),%edx 1710*89869e26Schristos 1711*89869e26Schristos mull %edx 1712*89869e26Schristos addl %eax,%eax 1713*89869e26Schristos adcl %edx,%edx 1714*89869e26Schristos adcl $0,%ecx 1715*89869e26Schristos addl %eax,%ebp 1716*89869e26Schristos adcl %edx,%ebx 1717*89869e26Schristos movl 24(%esi),%eax 1718*89869e26Schristos adcl $0,%ecx 1719*89869e26Schristos movl %ebp,20(%edi) 1720*89869e26Schristos movl (%esi),%edx 1721*89869e26Schristos 1722*89869e26Schristos 1723*89869e26Schristos xorl %ebp,%ebp 1724*89869e26Schristos 1725*89869e26Schristos mull %edx 1726*89869e26Schristos addl %eax,%eax 1727*89869e26Schristos adcl %edx,%edx 1728*89869e26Schristos adcl $0,%ebp 1729*89869e26Schristos addl %eax,%ebx 1730*89869e26Schristos adcl %edx,%ecx 1731*89869e26Schristos movl 20(%esi),%eax 1732*89869e26Schristos adcl $0,%ebp 1733*89869e26Schristos movl 4(%esi),%edx 1734*89869e26Schristos 1735*89869e26Schristos mull %edx 1736*89869e26Schristos addl %eax,%eax 1737*89869e26Schristos adcl %edx,%edx 1738*89869e26Schristos adcl $0,%ebp 1739*89869e26Schristos addl %eax,%ebx 1740*89869e26Schristos adcl %edx,%ecx 1741*89869e26Schristos movl 16(%esi),%eax 1742*89869e26Schristos adcl $0,%ebp 1743*89869e26Schristos movl 8(%esi),%edx 1744*89869e26Schristos 1745*89869e26Schristos mull %edx 1746*89869e26Schristos addl %eax,%eax 1747*89869e26Schristos adcl %edx,%edx 1748*89869e26Schristos adcl $0,%ebp 1749*89869e26Schristos addl %eax,%ebx 1750*89869e26Schristos adcl %edx,%ecx 1751*89869e26Schristos movl 12(%esi),%eax 1752*89869e26Schristos adcl $0,%ebp 1753*89869e26Schristos 1754*89869e26Schristos mull %eax 1755*89869e26Schristos addl %eax,%ebx 1756*89869e26Schristos adcl %edx,%ecx 1757*89869e26Schristos movl (%esi),%edx 1758*89869e26Schristos adcl $0,%ebp 1759*89869e26Schristos movl %ebx,24(%edi) 1760*89869e26Schristos movl 28(%esi),%eax 1761*89869e26Schristos 1762*89869e26Schristos 1763*89869e26Schristos xorl %ebx,%ebx 1764*89869e26Schristos 1765*89869e26Schristos mull %edx 1766*89869e26Schristos addl %eax,%eax 1767*89869e26Schristos adcl %edx,%edx 1768*89869e26Schristos adcl $0,%ebx 1769*89869e26Schristos addl %eax,%ecx 1770*89869e26Schristos adcl %edx,%ebp 1771*89869e26Schristos movl 24(%esi),%eax 1772*89869e26Schristos adcl $0,%ebx 1773*89869e26Schristos movl 4(%esi),%edx 1774*89869e26Schristos 1775*89869e26Schristos mull %edx 1776*89869e26Schristos addl %eax,%eax 1777*89869e26Schristos adcl %edx,%edx 1778*89869e26Schristos adcl $0,%ebx 1779*89869e26Schristos addl %eax,%ecx 1780*89869e26Schristos adcl %edx,%ebp 1781*89869e26Schristos movl 20(%esi),%eax 1782*89869e26Schristos adcl $0,%ebx 1783*89869e26Schristos movl 8(%esi),%edx 1784*89869e26Schristos 1785*89869e26Schristos mull %edx 1786*89869e26Schristos addl %eax,%eax 1787*89869e26Schristos adcl %edx,%edx 1788*89869e26Schristos adcl $0,%ebx 1789*89869e26Schristos addl %eax,%ecx 1790*89869e26Schristos adcl %edx,%ebp 1791*89869e26Schristos movl 16(%esi),%eax 1792*89869e26Schristos adcl $0,%ebx 1793*89869e26Schristos movl 12(%esi),%edx 1794*89869e26Schristos 1795*89869e26Schristos mull %edx 1796*89869e26Schristos addl %eax,%eax 1797*89869e26Schristos adcl %edx,%edx 1798*89869e26Schristos adcl $0,%ebx 1799*89869e26Schristos addl %eax,%ecx 1800*89869e26Schristos adcl %edx,%ebp 1801*89869e26Schristos movl 28(%esi),%eax 1802*89869e26Schristos adcl $0,%ebx 1803*89869e26Schristos movl %ecx,28(%edi) 1804*89869e26Schristos movl 4(%esi),%edx 1805*89869e26Schristos 1806*89869e26Schristos 1807*89869e26Schristos xorl %ecx,%ecx 1808*89869e26Schristos 1809*89869e26Schristos mull %edx 1810*89869e26Schristos addl %eax,%eax 1811*89869e26Schristos adcl %edx,%edx 1812*89869e26Schristos adcl $0,%ecx 1813*89869e26Schristos addl %eax,%ebp 1814*89869e26Schristos adcl %edx,%ebx 1815*89869e26Schristos movl 24(%esi),%eax 1816*89869e26Schristos adcl $0,%ecx 1817*89869e26Schristos movl 8(%esi),%edx 1818*89869e26Schristos 1819*89869e26Schristos mull %edx 1820*89869e26Schristos addl %eax,%eax 1821*89869e26Schristos adcl %edx,%edx 1822*89869e26Schristos adcl $0,%ecx 1823*89869e26Schristos addl %eax,%ebp 1824*89869e26Schristos adcl %edx,%ebx 1825*89869e26Schristos movl 20(%esi),%eax 1826*89869e26Schristos adcl $0,%ecx 1827*89869e26Schristos movl 12(%esi),%edx 1828*89869e26Schristos 1829*89869e26Schristos mull %edx 1830*89869e26Schristos addl %eax,%eax 1831*89869e26Schristos adcl %edx,%edx 1832*89869e26Schristos adcl $0,%ecx 1833*89869e26Schristos addl %eax,%ebp 1834*89869e26Schristos adcl %edx,%ebx 1835*89869e26Schristos movl 16(%esi),%eax 1836*89869e26Schristos adcl $0,%ecx 1837*89869e26Schristos 1838*89869e26Schristos mull %eax 1839*89869e26Schristos addl %eax,%ebp 1840*89869e26Schristos adcl %edx,%ebx 1841*89869e26Schristos movl 8(%esi),%edx 1842*89869e26Schristos adcl $0,%ecx 1843*89869e26Schristos movl %ebp,32(%edi) 1844*89869e26Schristos movl 28(%esi),%eax 1845*89869e26Schristos 1846*89869e26Schristos 1847*89869e26Schristos xorl %ebp,%ebp 1848*89869e26Schristos 1849*89869e26Schristos mull %edx 1850*89869e26Schristos addl %eax,%eax 1851*89869e26Schristos adcl %edx,%edx 1852*89869e26Schristos adcl $0,%ebp 1853*89869e26Schristos addl %eax,%ebx 1854*89869e26Schristos adcl %edx,%ecx 1855*89869e26Schristos movl 24(%esi),%eax 1856*89869e26Schristos adcl $0,%ebp 1857*89869e26Schristos movl 12(%esi),%edx 1858*89869e26Schristos 1859*89869e26Schristos mull %edx 1860*89869e26Schristos addl %eax,%eax 1861*89869e26Schristos adcl %edx,%edx 1862*89869e26Schristos adcl $0,%ebp 1863*89869e26Schristos addl %eax,%ebx 1864*89869e26Schristos adcl %edx,%ecx 1865*89869e26Schristos movl 20(%esi),%eax 1866*89869e26Schristos adcl $0,%ebp 1867*89869e26Schristos movl 16(%esi),%edx 1868*89869e26Schristos 1869*89869e26Schristos mull %edx 1870*89869e26Schristos addl %eax,%eax 1871*89869e26Schristos adcl %edx,%edx 1872*89869e26Schristos adcl $0,%ebp 1873*89869e26Schristos addl %eax,%ebx 1874*89869e26Schristos adcl %edx,%ecx 1875*89869e26Schristos movl 28(%esi),%eax 1876*89869e26Schristos adcl $0,%ebp 1877*89869e26Schristos movl %ebx,36(%edi) 1878*89869e26Schristos movl 12(%esi),%edx 1879*89869e26Schristos 1880*89869e26Schristos 1881*89869e26Schristos xorl %ebx,%ebx 1882*89869e26Schristos 1883*89869e26Schristos mull %edx 1884*89869e26Schristos addl %eax,%eax 1885*89869e26Schristos adcl %edx,%edx 1886*89869e26Schristos adcl $0,%ebx 1887*89869e26Schristos addl %eax,%ecx 1888*89869e26Schristos adcl %edx,%ebp 1889*89869e26Schristos movl 24(%esi),%eax 1890*89869e26Schristos adcl $0,%ebx 1891*89869e26Schristos movl 16(%esi),%edx 1892*89869e26Schristos 1893*89869e26Schristos mull %edx 1894*89869e26Schristos addl %eax,%eax 1895*89869e26Schristos adcl %edx,%edx 1896*89869e26Schristos adcl $0,%ebx 1897*89869e26Schristos addl %eax,%ecx 1898*89869e26Schristos adcl %edx,%ebp 1899*89869e26Schristos movl 20(%esi),%eax 1900*89869e26Schristos adcl $0,%ebx 1901*89869e26Schristos 1902*89869e26Schristos mull %eax 1903*89869e26Schristos addl %eax,%ecx 1904*89869e26Schristos adcl %edx,%ebp 1905*89869e26Schristos movl 16(%esi),%edx 1906*89869e26Schristos adcl $0,%ebx 1907*89869e26Schristos movl %ecx,40(%edi) 1908*89869e26Schristos movl 28(%esi),%eax 1909*89869e26Schristos 1910*89869e26Schristos 1911*89869e26Schristos xorl %ecx,%ecx 1912*89869e26Schristos 1913*89869e26Schristos mull %edx 1914*89869e26Schristos addl %eax,%eax 1915*89869e26Schristos adcl %edx,%edx 1916*89869e26Schristos adcl $0,%ecx 1917*89869e26Schristos addl %eax,%ebp 1918*89869e26Schristos adcl %edx,%ebx 1919*89869e26Schristos movl 24(%esi),%eax 1920*89869e26Schristos adcl $0,%ecx 1921*89869e26Schristos movl 20(%esi),%edx 1922*89869e26Schristos 1923*89869e26Schristos mull %edx 1924*89869e26Schristos addl %eax,%eax 1925*89869e26Schristos adcl %edx,%edx 1926*89869e26Schristos adcl $0,%ecx 1927*89869e26Schristos addl %eax,%ebp 1928*89869e26Schristos adcl %edx,%ebx 1929*89869e26Schristos movl 28(%esi),%eax 1930*89869e26Schristos adcl $0,%ecx 1931*89869e26Schristos movl %ebp,44(%edi) 1932*89869e26Schristos movl 20(%esi),%edx 1933*89869e26Schristos 1934*89869e26Schristos 1935*89869e26Schristos xorl %ebp,%ebp 1936*89869e26Schristos 1937*89869e26Schristos mull %edx 1938*89869e26Schristos addl %eax,%eax 1939*89869e26Schristos adcl %edx,%edx 1940*89869e26Schristos adcl $0,%ebp 1941*89869e26Schristos addl %eax,%ebx 1942*89869e26Schristos adcl %edx,%ecx 1943*89869e26Schristos movl 24(%esi),%eax 1944*89869e26Schristos adcl $0,%ebp 1945*89869e26Schristos 1946*89869e26Schristos mull %eax 1947*89869e26Schristos addl %eax,%ebx 1948*89869e26Schristos adcl %edx,%ecx 1949*89869e26Schristos movl 24(%esi),%edx 1950*89869e26Schristos adcl $0,%ebp 1951*89869e26Schristos movl %ebx,48(%edi) 1952*89869e26Schristos movl 28(%esi),%eax 1953*89869e26Schristos 1954*89869e26Schristos 1955*89869e26Schristos xorl %ebx,%ebx 1956*89869e26Schristos 1957*89869e26Schristos mull %edx 1958*89869e26Schristos addl %eax,%eax 1959*89869e26Schristos adcl %edx,%edx 1960*89869e26Schristos adcl $0,%ebx 1961*89869e26Schristos addl %eax,%ecx 1962*89869e26Schristos adcl %edx,%ebp 1963*89869e26Schristos movl 28(%esi),%eax 1964*89869e26Schristos adcl $0,%ebx 1965*89869e26Schristos movl %ecx,52(%edi) 1966*89869e26Schristos 1967*89869e26Schristos 1968*89869e26Schristos xorl %ecx,%ecx 1969*89869e26Schristos 1970*89869e26Schristos mull %eax 1971*89869e26Schristos addl %eax,%ebp 1972*89869e26Schristos adcl %edx,%ebx 1973*89869e26Schristos adcl $0,%ecx 1974*89869e26Schristos movl %ebp,56(%edi) 1975*89869e26Schristos 1976*89869e26Schristos movl %ebx,60(%edi) 1977*89869e26Schristos popl %ebx 1978*89869e26Schristos popl %ebp 1979*89869e26Schristos popl %edi 1980*89869e26Schristos popl %esi 1981*89869e26Schristos ret 1982*89869e26Schristos.size bn_sqr_comba8,.-.L_bn_sqr_comba8_begin 1983*89869e26Schristos.globl bn_sqr_comba4 1984*89869e26Schristos.type bn_sqr_comba4,@function 1985*89869e26Schristos.align 16 1986*89869e26Schristosbn_sqr_comba4: 1987*89869e26Schristos.L_bn_sqr_comba4_begin: 1988*89869e26Schristos pushl %esi 1989*89869e26Schristos pushl %edi 1990*89869e26Schristos pushl %ebp 1991*89869e26Schristos pushl %ebx 1992*89869e26Schristos movl 20(%esp),%edi 1993*89869e26Schristos movl 24(%esp),%esi 1994*89869e26Schristos xorl %ebx,%ebx 1995*89869e26Schristos xorl %ecx,%ecx 1996*89869e26Schristos movl (%esi),%eax 1997*89869e26Schristos 1998*89869e26Schristos xorl %ebp,%ebp 1999*89869e26Schristos 2000*89869e26Schristos mull %eax 2001*89869e26Schristos addl %eax,%ebx 2002*89869e26Schristos adcl %edx,%ecx 2003*89869e26Schristos movl (%esi),%edx 2004*89869e26Schristos adcl $0,%ebp 2005*89869e26Schristos movl %ebx,(%edi) 2006*89869e26Schristos movl 4(%esi),%eax 2007*89869e26Schristos 2008*89869e26Schristos 2009*89869e26Schristos xorl %ebx,%ebx 2010*89869e26Schristos 2011*89869e26Schristos mull %edx 2012*89869e26Schristos addl %eax,%eax 2013*89869e26Schristos adcl %edx,%edx 2014*89869e26Schristos adcl $0,%ebx 2015*89869e26Schristos addl %eax,%ecx 2016*89869e26Schristos adcl %edx,%ebp 2017*89869e26Schristos movl 8(%esi),%eax 2018*89869e26Schristos adcl $0,%ebx 2019*89869e26Schristos movl %ecx,4(%edi) 2020*89869e26Schristos movl (%esi),%edx 2021*89869e26Schristos 2022*89869e26Schristos 2023*89869e26Schristos xorl %ecx,%ecx 2024*89869e26Schristos 2025*89869e26Schristos mull %edx 2026*89869e26Schristos addl %eax,%eax 2027*89869e26Schristos adcl %edx,%edx 2028*89869e26Schristos adcl $0,%ecx 2029*89869e26Schristos addl %eax,%ebp 2030*89869e26Schristos adcl %edx,%ebx 2031*89869e26Schristos movl 4(%esi),%eax 2032*89869e26Schristos adcl $0,%ecx 2033*89869e26Schristos 2034*89869e26Schristos mull %eax 2035*89869e26Schristos addl %eax,%ebp 2036*89869e26Schristos adcl %edx,%ebx 2037*89869e26Schristos movl (%esi),%edx 2038*89869e26Schristos adcl $0,%ecx 2039*89869e26Schristos movl %ebp,8(%edi) 2040*89869e26Schristos movl 12(%esi),%eax 2041*89869e26Schristos 2042*89869e26Schristos 2043*89869e26Schristos xorl %ebp,%ebp 2044*89869e26Schristos 2045*89869e26Schristos mull %edx 2046*89869e26Schristos addl %eax,%eax 2047*89869e26Schristos adcl %edx,%edx 2048*89869e26Schristos adcl $0,%ebp 2049*89869e26Schristos addl %eax,%ebx 2050*89869e26Schristos adcl %edx,%ecx 2051*89869e26Schristos movl 8(%esi),%eax 2052*89869e26Schristos adcl $0,%ebp 2053*89869e26Schristos movl 4(%esi),%edx 2054*89869e26Schristos 2055*89869e26Schristos mull %edx 2056*89869e26Schristos addl %eax,%eax 2057*89869e26Schristos adcl %edx,%edx 2058*89869e26Schristos adcl $0,%ebp 2059*89869e26Schristos addl %eax,%ebx 2060*89869e26Schristos adcl %edx,%ecx 2061*89869e26Schristos movl 12(%esi),%eax 2062*89869e26Schristos adcl $0,%ebp 2063*89869e26Schristos movl %ebx,12(%edi) 2064*89869e26Schristos movl 4(%esi),%edx 2065*89869e26Schristos 2066*89869e26Schristos 2067*89869e26Schristos xorl %ebx,%ebx 2068*89869e26Schristos 2069*89869e26Schristos mull %edx 2070*89869e26Schristos addl %eax,%eax 2071*89869e26Schristos adcl %edx,%edx 2072*89869e26Schristos adcl $0,%ebx 2073*89869e26Schristos addl %eax,%ecx 2074*89869e26Schristos adcl %edx,%ebp 2075*89869e26Schristos movl 8(%esi),%eax 2076*89869e26Schristos adcl $0,%ebx 2077*89869e26Schristos 2078*89869e26Schristos mull %eax 2079*89869e26Schristos addl %eax,%ecx 2080*89869e26Schristos adcl %edx,%ebp 2081*89869e26Schristos movl 8(%esi),%edx 2082*89869e26Schristos adcl $0,%ebx 2083*89869e26Schristos movl %ecx,16(%edi) 2084*89869e26Schristos movl 12(%esi),%eax 2085*89869e26Schristos 2086*89869e26Schristos 2087*89869e26Schristos xorl %ecx,%ecx 2088*89869e26Schristos 2089*89869e26Schristos mull %edx 2090*89869e26Schristos addl %eax,%eax 2091*89869e26Schristos adcl %edx,%edx 2092*89869e26Schristos adcl $0,%ecx 2093*89869e26Schristos addl %eax,%ebp 2094*89869e26Schristos adcl %edx,%ebx 2095*89869e26Schristos movl 12(%esi),%eax 2096*89869e26Schristos adcl $0,%ecx 2097*89869e26Schristos movl %ebp,20(%edi) 2098*89869e26Schristos 2099*89869e26Schristos 2100*89869e26Schristos xorl %ebp,%ebp 2101*89869e26Schristos 2102*89869e26Schristos mull %eax 2103*89869e26Schristos addl %eax,%ebx 2104*89869e26Schristos adcl %edx,%ecx 2105*89869e26Schristos adcl $0,%ebp 2106*89869e26Schristos movl %ebx,24(%edi) 2107*89869e26Schristos 2108*89869e26Schristos movl %ecx,28(%edi) 2109*89869e26Schristos popl %ebx 2110*89869e26Schristos popl %ebp 2111*89869e26Schristos popl %edi 2112*89869e26Schristos popl %esi 2113*89869e26Schristos ret 2114*89869e26Schristos.size bn_sqr_comba4,.-.L_bn_sqr_comba4_begin 2115