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