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