1/* $FreeBSD$ */ 2/* Do not modify. This file is auto-generated from poly1305-ppcfp.pl. */ 3.machine "any" 4.abiversion 2 5.text 6 7.globl poly1305_init_fpu 8.type poly1305_init_fpu,@function 9.align 6 10poly1305_init_fpu: 11.localentry poly1305_init_fpu,0 12 13 stdu 1,-48(1) 14 mflr 6 15 std 6,64(1) 16 17 bl .LPICmeup 18 19 xor 0,0,0 20 mtlr 6 21 22 lfd 8,8*0(5) 23 lfd 9,8*1(5) 24 lfd 10,8*2(5) 25 lfd 11,8*3(5) 26 lfd 12,8*4(5) 27 lfd 13,8*5(5) 28 29 stfd 8,8*0(3) 30 stfd 9,8*1(3) 31 stfd 10,8*2(3) 32 stfd 11,8*3(3) 33 34 cmpld 4,0 35 beq- .Lno_key 36 37 lfd 6,8*13(5) 38 mffs 7 39 40 stfd 8,8*4(3) 41 stfd 9,8*5(3) 42 stfd 10,8*6(3) 43 stfd 11,8*7(3) 44 45 li 8,4 46 li 9,8 47 li 10,12 48 lwbrx 7,0,4 49 lwbrx 8,8,4 50 lwbrx 9,9,4 51 lwbrx 10,10,4 52 53 lis 11,0xf000 54 ori 12,11,3 55 andc 7,7,11 56 andc 8,8,12 57 andc 9,9,12 58 andc 10,10,12 59 60 stw 7,36(3) 61 stw 8,44(3) 62 stw 9,52(3) 63 stw 10,60(3) 64 65 mtfsf 255,6 66 stfd 8,8*18(3) 67 stfd 9,8*19(3) 68 stfd 10,8*20(3) 69 stfd 11,8*21(3) 70 stfd 12,8*22(3) 71 stfd 13,8*23(3) 72 73 lfd 0,8*4(3) 74 lfd 2,8*5(3) 75 lfd 4,8*6(3) 76 lfd 6,8*7(3) 77 78 fsub 0,0,8 79 fsub 2,2,9 80 fsub 4,4,10 81 fsub 6,6,11 82 83 lfd 8,8*6(5) 84 lfd 9,8*7(5) 85 lfd 10,8*8(5) 86 lfd 11,8*9(5) 87 88 fmul 3,2,13 89 fmul 5,4,13 90 stfd 7,8*15(3) 91 fmul 7,6,13 92 93 fadd 1,0,8 94 stfd 3,8*12(3) 95 fadd 3,2,9 96 stfd 5,8*13(3) 97 fadd 5,4,10 98 stfd 7,8*14(3) 99 fadd 7,6,11 100 101 fsub 1,1,8 102 fsub 3,3,9 103 fsub 5,5,10 104 fsub 7,7,11 105 106 lfd 8,8*10(5) 107 lfd 9,8*11(5) 108 lfd 10,8*12(5) 109 110 fsub 0,0,1 111 fsub 2,2,3 112 fsub 4,4,5 113 fsub 6,6,7 114 115 stfd 1,8*5(3) 116 stfd 3,8*7(3) 117 stfd 5,8*9(3) 118 stfd 7,8*11(3) 119 120 stfd 0,8*4(3) 121 stfd 2,8*6(3) 122 stfd 4,8*8(3) 123 stfd 6,8*10(3) 124 125 lfd 2,8*12(3) 126 lfd 4,8*13(3) 127 lfd 6,8*14(3) 128 lfd 0,8*15(3) 129 130 fadd 3,2,8 131 fadd 5,4,9 132 fadd 7,6,10 133 134 fsub 3,3,8 135 fsub 5,5,9 136 fsub 7,7,10 137 138 fsub 2,2,3 139 fsub 4,4,5 140 fsub 6,6,7 141 142 stfd 3,8*13(3) 143 stfd 5,8*15(3) 144 stfd 7,8*17(3) 145 146 stfd 2,8*12(3) 147 stfd 4,8*14(3) 148 stfd 6,8*16(3) 149 150 mtfsf 255,0 151.Lno_key: 152 xor 3,3,3 153 addi 1,1,48 154 blr 155.long 0 156.byte 0,12,4,1,0x80,0,2,0 157.size poly1305_init_fpu,.-poly1305_init_fpu 158 159.globl poly1305_blocks_fpu 160.type poly1305_blocks_fpu,@function 161.align 4 162poly1305_blocks_fpu: 163.localentry poly1305_blocks_fpu,0 164 165 srwi. 5,5,4 166 beq- .Labort 167 168 stdu 1,-240(1) 169 mflr 0 170 stfd 14,96(1) 171 stfd 15,104(1) 172 stfd 16,112(1) 173 stfd 17,120(1) 174 stfd 18,128(1) 175 stfd 19,136(1) 176 stfd 20,144(1) 177 stfd 21,152(1) 178 stfd 22,160(1) 179 stfd 23,168(1) 180 stfd 24,176(1) 181 stfd 25,184(1) 182 stfd 26,192(1) 183 stfd 27,200(1) 184 stfd 28,208(1) 185 stfd 29,216(1) 186 stfd 30,224(1) 187 stfd 31,232(1) 188 std 0,256(1) 189 190 xor 0,0,0 191 li 10,1 192 mtctr 5 193 neg 5,5 194 stw 0,80(1) 195 stw 10,84(1) 196 197 lfd 8,8*18(3) 198 lfd 9,8*19(3) 199 lfd 10,8*20(3) 200 lfd 11,8*21(3) 201 lfd 12,8*22(3) 202 lfd 13,8*23(3) 203 204 lfd 0,8*0(3) 205 lfd 2,8*1(3) 206 lfd 4,8*2(3) 207 lfd 6,8*3(3) 208 209 stfd 8,48(1) 210 oris 10,6,18736 211 stfd 9,56(1) 212 stfd 10,64(1) 213 stw 10,72(1) 214 215 li 11,4 216 li 12,8 217 li 6,12 218 lwbrx 7,0,4 219 lwbrx 8,11,4 220 lwbrx 9,12,4 221 lwbrx 10,6,4 222 addi 4,4,16 223 224 stw 7,52(1) 225 stw 8,60(1) 226 stw 9,68(1) 227 stw 10,76(1) 228 229 mffs 28 230 lfd 29,80(1) 231 lfd 14,8*4(3) 232 lfd 15,8*5(3) 233 lfd 16,8*6(3) 234 lfd 17,8*7(3) 235 lfd 18,8*8(3) 236 lfd 19,8*9(3) 237 lfd 24,8*10(3) 238 lfd 25,8*11(3) 239 lfd 26,8*12(3) 240 lfd 27,8*13(3) 241 lfd 20,8*14(3) 242 lfd 21,8*15(3) 243 lfd 22,8*16(3) 244 lfd 23,8*17(3) 245 246 stfd 28,80(1) 247 mtfsf 255,29 248 249 addic 5,5,1 250 addze 0,0 251 slwi. 0,0,4 252 sub 4,4,0 253 254 lfd 28,48(1) 255 lfd 29,56(1) 256 lfd 30,64(1) 257 lfd 31,72(1) 258 259 fsub 0,0,8 260 lwbrx 7,0,4 261 fsub 2,2,9 262 lwbrx 8,11,4 263 fsub 4,4,10 264 lwbrx 9,12,4 265 fsub 6,6,11 266 lwbrx 10,6,4 267 268 fsub 28,28,8 269 addi 4,4,16 270 fsub 29,29,9 271 fsub 30,30,10 272 fsub 31,31,11 273 274 fadd 28,28,0 275 stw 7,52(1) 276 fadd 29,29,2 277 stw 8,60(1) 278 fadd 30,30,4 279 stw 9,68(1) 280 fadd 31,31,6 281 stw 10,76(1) 282 283 b .Lentry 284 285.align 4 286.Loop: 287 fsub 30,30,8 288 addic 5,5,1 289 fsub 31,31,9 290 addze 0,0 291 fsub 26,26,10 292 slwi. 0,0,4 293 fsub 27,27,11 294 sub 4,4,0 295 296 fadd 0,0,30 297 fadd 1,1,31 298 fadd 4,4,26 299 fadd 5,5,27 300 301 302 fadd 26,2,10 303 lwbrx 7,0,4 304 fadd 27,3,10 305 lwbrx 8,11,4 306 fadd 30,6,12 307 lwbrx 9,12,4 308 fadd 31,7,12 309 lwbrx 10,6,4 310 fadd 24,0,9 311 addi 4,4,16 312 fadd 25,1,9 313 fadd 28,4,11 314 fadd 29,5,11 315 316 fsub 26,26,10 317 stw 7,52(1) 318 fsub 27,27,10 319 stw 8,60(1) 320 fsub 30,30,12 321 stw 9,68(1) 322 fsub 31,31,12 323 stw 10,76(1) 324 fsub 24,24,9 325 fsub 25,25,9 326 fsub 28,28,11 327 fsub 29,29,11 328 329 fsub 2,2,26 330 fsub 3,3,27 331 fsub 6,6,30 332 fsub 7,7,31 333 fsub 4,4,28 334 fsub 5,5,29 335 fsub 0,0,24 336 fsub 1,1,25 337 338 fadd 2,2,24 339 fadd 3,3,25 340 fadd 6,6,28 341 fadd 7,7,29 342 fadd 4,4,26 343 fadd 5,5,27 344 fmadd 0,30,13,0 345 fmadd 1,31,13,1 346 347 fadd 29,2,3 348 lfd 26,8*12(3) 349 fadd 31,6,7 350 lfd 27,8*13(3) 351 fadd 30,4,5 352 lfd 24,8*10(3) 353 fadd 28,0,1 354 lfd 25,8*11(3) 355.Lentry: 356 fmul 0,22,29 357 fmul 1,23,29 358 fmul 4,16,29 359 fmul 5,17,29 360 fmul 2,14,29 361 fmul 3,15,29 362 fmul 6,18,29 363 fmul 7,19,29 364 365 fmadd 0,26,31,0 366 fmadd 1,27,31,1 367 fmadd 4,22,31,4 368 fmadd 5,23,31,5 369 fmadd 2,20,31,2 370 fmadd 3,21,31,3 371 fmadd 6,14,31,6 372 fmadd 7,15,31,7 373 374 fmadd 0,20,30,0 375 fmadd 1,21,30,1 376 fmadd 4,14,30,4 377 fmadd 5,15,30,5 378 fmadd 2,22,30,2 379 fmadd 3,23,30,3 380 fmadd 6,16,30,6 381 fmadd 7,17,30,7 382 383 fmadd 0,14,28,0 384 lfd 30,48(1) 385 fmadd 1,15,28,1 386 lfd 31,56(1) 387 fmadd 4,18,28,4 388 lfd 26,64(1) 389 fmadd 5,19,28,5 390 lfd 27,72(1) 391 fmadd 2,16,28,2 392 fmadd 3,17,28,3 393 fmadd 6,24,28,6 394 fmadd 7,25,28,7 395 396 bdnz .Loop 397 398 399 fadd 24,0,9 400 fadd 25,1,9 401 fadd 28,4,11 402 fadd 29,5,11 403 fadd 26,2,10 404 fadd 27,3,10 405 fadd 30,6,12 406 fadd 31,7,12 407 408 fsub 24,24,9 409 fsub 25,25,9 410 fsub 28,28,11 411 fsub 29,29,11 412 fsub 26,26,10 413 fsub 27,27,10 414 fsub 30,30,12 415 fsub 31,31,12 416 417 fsub 2,2,26 418 fsub 3,3,27 419 fsub 6,6,30 420 fsub 7,7,31 421 fsub 4,4,28 422 fsub 5,5,29 423 fsub 0,0,24 424 fsub 1,1,25 425 426 fadd 2,2,24 427 fadd 3,3,25 428 fadd 6,6,28 429 fadd 7,7,29 430 fadd 4,4,26 431 fadd 5,5,27 432 fmadd 0,30,13,0 433 fmadd 1,31,13,1 434 435 fadd 29,2,3 436 fadd 31,6,7 437 fadd 30,4,5 438 fadd 28,0,1 439 440 lfd 0,80(1) 441 fadd 29,29,9 442 fadd 31,31,11 443 fadd 30,30,10 444 fadd 28,28,8 445 446 stfd 29,8*1(3) 447 stfd 31,8*3(3) 448 stfd 30,8*2(3) 449 stfd 28,8*0(3) 450 451 mtfsf 255,0 452 lfd 14,96(1) 453 lfd 15,104(1) 454 lfd 16,112(1) 455 lfd 17,120(1) 456 lfd 18,128(1) 457 lfd 19,136(1) 458 lfd 20,144(1) 459 lfd 21,152(1) 460 lfd 22,160(1) 461 lfd 23,168(1) 462 lfd 24,176(1) 463 lfd 25,184(1) 464 lfd 26,192(1) 465 lfd 27,200(1) 466 lfd 28,208(1) 467 lfd 29,216(1) 468 lfd 30,224(1) 469 lfd 31,232(1) 470 addi 1,1,240 471.Labort: 472 blr 473.long 0 474.byte 0,12,4,1,0x80,0,4,0 475.size poly1305_blocks_fpu,.-poly1305_blocks_fpu 476.globl poly1305_emit_fpu 477.type poly1305_emit_fpu,@function 478.align 4 479poly1305_emit_fpu: 480.localentry poly1305_emit_fpu,0 481 482 stdu 1,-80(1) 483 mflr 0 484 std 28,48(1) 485 std 29,56(1) 486 std 30,64(1) 487 std 31,72(1) 488 std 0,96(1) 489 490 lwz 28,0(3) 491 lwz 7,4(3) 492 lwz 29,8(3) 493 lwz 8,12(3) 494 lwz 30,16(3) 495 lwz 9,20(3) 496 lwz 31,24(3) 497 lwz 10,28(3) 498 499 lis 0,0xfff0 500 andc 28,28,0 501 andc 29,29,0 502 andc 30,30,0 503 andc 31,31,0 504 li 0,3 505 506 srwi 6,31,2 507 and 11,31,0 508 andc 31,31,0 509 add 31,31,6 510 add 7,7,31 511 add 8,8,28 512 add 9,9,29 513 add 10,10,30 514 515 srdi 28,7,32 516 add 8,8,28 517 srdi 29,8,32 518 add 9,9,29 519 srdi 30,9,32 520 add 10,10,30 521 srdi 31,10,32 522 add 11,11,31 523 524 insrdi 7,8,32,0 525 insrdi 9,10,32,0 526 527 addic 28,7,5 528 addze 29,9 529 addze 30,11 530 531 srdi 0,30,2 532 neg 0,0 533 sradi 0,0,63 534 ld 30,0(5) 535 ld 31,8(5) 536 537 andc 7,7,0 538 and 28,28,0 539 andc 9,9,0 540 and 29,29,0 541 or 7,7,28 542 or 9,9,29 543 rotldi 30,30,32 544 rotldi 31,31,32 545 addc 7,7,30 546 adde 9,9,31 547 548 srdi 8,7,32 549 srdi 10,9,32 550 li 29,4 551 stwbrx 7,0,4 552 li 30,8 553 stwbrx 8,29,4 554 li 31,12 555 stwbrx 9,30,4 556 stwbrx 10,31,4 557 ld 28,48(1) 558 ld 29,56(1) 559 ld 30,64(1) 560 ld 31,72(1) 561 addi 1,1,80 562 blr 563.long 0 564.byte 0,12,4,1,0x80,4,3,0 565.size poly1305_emit_fpu,.-poly1305_emit_fpu 566.align 6 567.LPICmeup: 568 mflr 0 569 bcl 20,31,$+4 570 mflr 5 571 addi 5,5,56 572 mtlr 0 573 blr 574.long 0 575.byte 0,12,0x14,0,0,0,0,0 576.space 28 577 578.long 0x43300000,0x00000000 579.long 0x45300000,0x00000000 580.long 0x47300000,0x00000000 581.long 0x49300000,0x00000000 582.long 0x4b500000,0x00000000 583 584.long 0x37f40000,0x00000000 585 586.long 0x44300000,0x00000000 587.long 0x46300000,0x00000000 588.long 0x48300000,0x00000000 589.long 0x4a300000,0x00000000 590.long 0x3e300000,0x00000000 591.long 0x40300000,0x00000000 592.long 0x42300000,0x00000000 593 594.long 0x00000000,0x00000001 595.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 596.align 2 597.align 4 598