123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590 |
- .machine "any"
- .abiversion 2
- .text
- .globl poly1305_init_fpu
- .type poly1305_init_fpu,@function
- .align 6
- poly1305_init_fpu:
- .localentry poly1305_init_fpu,0
- stdu 1,-48(1)
- mflr 6
- std 6,64(1)
- bl .LPICmeup
- xor 0,0,0
- mtlr 6
- lfd 8,8*0(5)
- lfd 9,8*1(5)
- lfd 10,8*2(5)
- lfd 11,8*3(5)
- lfd 12,8*4(5)
- lfd 13,8*5(5)
- stfd 8,8*0(3)
- stfd 9,8*1(3)
- stfd 10,8*2(3)
- stfd 11,8*3(3)
- cmpld 4,0
- beq- .Lno_key
- lfd 6,8*13(5)
- mffs 7
- stfd 8,8*4(3)
- stfd 9,8*5(3)
- stfd 10,8*6(3)
- stfd 11,8*7(3)
- li 8,4
- li 9,8
- li 10,12
- lwzx 7,0,4
- lwzx 8,8,4
- lwzx 9,9,4
- lwzx 10,10,4
- lis 11,0xf000
- ori 12,11,3
- andc 7,7,11
- andc 8,8,12
- andc 9,9,12
- andc 10,10,12
- stw 7,32(3)
- stw 8,40(3)
- stw 9,48(3)
- stw 10,56(3)
- mtfsf 255,6
- stfd 8,8*18(3)
- stfd 9,8*19(3)
- stfd 10,8*20(3)
- stfd 11,8*21(3)
- stfd 12,8*22(3)
- stfd 13,8*23(3)
- lfd 0,8*4(3)
- lfd 2,8*5(3)
- lfd 4,8*6(3)
- lfd 6,8*7(3)
- fsub 0,0,8
- fsub 2,2,9
- fsub 4,4,10
- fsub 6,6,11
- lfd 8,8*6(5)
- lfd 9,8*7(5)
- lfd 10,8*8(5)
- lfd 11,8*9(5)
- fmul 3,2,13
- fmul 5,4,13
- stfd 7,8*15(3)
- fmul 7,6,13
- fadd 1,0,8
- stfd 3,8*12(3)
- fadd 3,2,9
- stfd 5,8*13(3)
- fadd 5,4,10
- stfd 7,8*14(3)
- fadd 7,6,11
- fsub 1,1,8
- fsub 3,3,9
- fsub 5,5,10
- fsub 7,7,11
- lfd 8,8*10(5)
- lfd 9,8*11(5)
- lfd 10,8*12(5)
- fsub 0,0,1
- fsub 2,2,3
- fsub 4,4,5
- fsub 6,6,7
- stfd 1,8*5(3)
- stfd 3,8*7(3)
- stfd 5,8*9(3)
- stfd 7,8*11(3)
- stfd 0,8*4(3)
- stfd 2,8*6(3)
- stfd 4,8*8(3)
- stfd 6,8*10(3)
- lfd 2,8*12(3)
- lfd 4,8*13(3)
- lfd 6,8*14(3)
- lfd 0,8*15(3)
- fadd 3,2,8
- fadd 5,4,9
- fadd 7,6,10
- fsub 3,3,8
- fsub 5,5,9
- fsub 7,7,10
- fsub 2,2,3
- fsub 4,4,5
- fsub 6,6,7
- stfd 3,8*13(3)
- stfd 5,8*15(3)
- stfd 7,8*17(3)
- stfd 2,8*12(3)
- stfd 4,8*14(3)
- stfd 6,8*16(3)
- mtfsf 255,0
- .Lno_key:
- xor 3,3,3
- addi 1,1,48
- blr
- .long 0
- .byte 0,12,4,1,0x80,0,2,0
- .size poly1305_init_fpu,.-poly1305_init_fpu
- .globl poly1305_blocks_fpu
- .type poly1305_blocks_fpu,@function
- .align 4
- poly1305_blocks_fpu:
- .localentry poly1305_blocks_fpu,0
- srwi. 5,5,4
- beq- .Labort
- stdu 1,-240(1)
- mflr 0
- stfd 14,96(1)
- stfd 15,104(1)
- stfd 16,112(1)
- stfd 17,120(1)
- stfd 18,128(1)
- stfd 19,136(1)
- stfd 20,144(1)
- stfd 21,152(1)
- stfd 22,160(1)
- stfd 23,168(1)
- stfd 24,176(1)
- stfd 25,184(1)
- stfd 26,192(1)
- stfd 27,200(1)
- stfd 28,208(1)
- stfd 29,216(1)
- stfd 30,224(1)
- stfd 31,232(1)
- std 0,256(1)
- xor 0,0,0
- li 10,1
- mtctr 5
- neg 5,5
- stw 0,84(1)
- stw 10,80(1)
- lfd 8,8*18(3)
- lfd 9,8*19(3)
- lfd 10,8*20(3)
- lfd 11,8*21(3)
- lfd 12,8*22(3)
- lfd 13,8*23(3)
- lfd 0,8*0(3)
- lfd 2,8*1(3)
- lfd 4,8*2(3)
- lfd 6,8*3(3)
- stfd 8,48(1)
- oris 10,6,18736
- stfd 9,56(1)
- stfd 10,64(1)
- stw 10,76(1)
- li 11,4
- li 12,8
- li 6,12
- lwzx 7,0,4
- lwzx 8,11,4
- lwzx 9,12,4
- lwzx 10,6,4
- addi 4,4,16
- stw 7,48(1)
- stw 8,56(1)
- stw 9,64(1)
- stw 10,72(1)
- mffs 28
- lfd 29,80(1)
- lfd 14,8*4(3)
- lfd 15,8*5(3)
- lfd 16,8*6(3)
- lfd 17,8*7(3)
- lfd 18,8*8(3)
- lfd 19,8*9(3)
- lfd 24,8*10(3)
- lfd 25,8*11(3)
- lfd 26,8*12(3)
- lfd 27,8*13(3)
- lfd 20,8*14(3)
- lfd 21,8*15(3)
- lfd 22,8*16(3)
- lfd 23,8*17(3)
- stfd 28,80(1)
- mtfsf 255,29
- addic 5,5,1
- addze 0,0
- slwi. 0,0,4
- sub 4,4,0
- lfd 28,48(1)
- lfd 29,56(1)
- lfd 30,64(1)
- lfd 31,72(1)
- fsub 0,0,8
- lwzx 7,0,4
- fsub 2,2,9
- lwzx 8,11,4
- fsub 4,4,10
- lwzx 9,12,4
- fsub 6,6,11
- lwzx 10,6,4
- fsub 28,28,8
- addi 4,4,16
- fsub 29,29,9
- fsub 30,30,10
- fsub 31,31,11
- fadd 28,28,0
- stw 7,48(1)
- fadd 29,29,2
- stw 8,56(1)
- fadd 30,30,4
- stw 9,64(1)
- fadd 31,31,6
- stw 10,72(1)
- b .Lentry
- .align 4
- .Loop:
- fsub 30,30,8
- addic 5,5,1
- fsub 31,31,9
- addze 0,0
- fsub 26,26,10
- slwi. 0,0,4
- fsub 27,27,11
- sub 4,4,0
- fadd 0,0,30
- fadd 1,1,31
- fadd 4,4,26
- fadd 5,5,27
- fadd 26,2,10
- lwzx 7,0,4
- fadd 27,3,10
- lwzx 8,11,4
- fadd 30,6,12
- lwzx 9,12,4
- fadd 31,7,12
- lwzx 10,6,4
- fadd 24,0,9
- addi 4,4,16
- fadd 25,1,9
- fadd 28,4,11
- fadd 29,5,11
- fsub 26,26,10
- stw 7,48(1)
- fsub 27,27,10
- stw 8,56(1)
- fsub 30,30,12
- stw 9,64(1)
- fsub 31,31,12
- stw 10,72(1)
- fsub 24,24,9
- fsub 25,25,9
- fsub 28,28,11
- fsub 29,29,11
- fsub 2,2,26
- fsub 3,3,27
- fsub 6,6,30
- fsub 7,7,31
- fsub 4,4,28
- fsub 5,5,29
- fsub 0,0,24
- fsub 1,1,25
- fadd 2,2,24
- fadd 3,3,25
- fadd 6,6,28
- fadd 7,7,29
- fadd 4,4,26
- fadd 5,5,27
- fmadd 0,30,13,0
- fmadd 1,31,13,1
- fadd 29,2,3
- lfd 26,8*12(3)
- fadd 31,6,7
- lfd 27,8*13(3)
- fadd 30,4,5
- lfd 24,8*10(3)
- fadd 28,0,1
- lfd 25,8*11(3)
- .Lentry:
- fmul 0,22,29
- fmul 1,23,29
- fmul 4,16,29
- fmul 5,17,29
- fmul 2,14,29
- fmul 3,15,29
- fmul 6,18,29
- fmul 7,19,29
- fmadd 0,26,31,0
- fmadd 1,27,31,1
- fmadd 4,22,31,4
- fmadd 5,23,31,5
- fmadd 2,20,31,2
- fmadd 3,21,31,3
- fmadd 6,14,31,6
- fmadd 7,15,31,7
- fmadd 0,20,30,0
- fmadd 1,21,30,1
- fmadd 4,14,30,4
- fmadd 5,15,30,5
- fmadd 2,22,30,2
- fmadd 3,23,30,3
- fmadd 6,16,30,6
- fmadd 7,17,30,7
- fmadd 0,14,28,0
- lfd 30,48(1)
- fmadd 1,15,28,1
- lfd 31,56(1)
- fmadd 4,18,28,4
- lfd 26,64(1)
- fmadd 5,19,28,5
- lfd 27,72(1)
- fmadd 2,16,28,2
- fmadd 3,17,28,3
- fmadd 6,24,28,6
- fmadd 7,25,28,7
- bdnz .Loop
- fadd 24,0,9
- fadd 25,1,9
- fadd 28,4,11
- fadd 29,5,11
- fadd 26,2,10
- fadd 27,3,10
- fadd 30,6,12
- fadd 31,7,12
- fsub 24,24,9
- fsub 25,25,9
- fsub 28,28,11
- fsub 29,29,11
- fsub 26,26,10
- fsub 27,27,10
- fsub 30,30,12
- fsub 31,31,12
- fsub 2,2,26
- fsub 3,3,27
- fsub 6,6,30
- fsub 7,7,31
- fsub 4,4,28
- fsub 5,5,29
- fsub 0,0,24
- fsub 1,1,25
- fadd 2,2,24
- fadd 3,3,25
- fadd 6,6,28
- fadd 7,7,29
- fadd 4,4,26
- fadd 5,5,27
- fmadd 0,30,13,0
- fmadd 1,31,13,1
- fadd 29,2,3
- fadd 31,6,7
- fadd 30,4,5
- fadd 28,0,1
- lfd 0,80(1)
- fadd 29,29,9
- fadd 31,31,11
- fadd 30,30,10
- fadd 28,28,8
- stfd 29,8*1(3)
- stfd 31,8*3(3)
- stfd 30,8*2(3)
- stfd 28,8*0(3)
- mtfsf 255,0
- lfd 14,96(1)
- lfd 15,104(1)
- lfd 16,112(1)
- lfd 17,120(1)
- lfd 18,128(1)
- lfd 19,136(1)
- lfd 20,144(1)
- lfd 21,152(1)
- lfd 22,160(1)
- lfd 23,168(1)
- lfd 24,176(1)
- lfd 25,184(1)
- lfd 26,192(1)
- lfd 27,200(1)
- lfd 28,208(1)
- lfd 29,216(1)
- lfd 30,224(1)
- lfd 31,232(1)
- addi 1,1,240
- .Labort:
- blr
- .long 0
- .byte 0,12,4,1,0x80,0,4,0
- .size poly1305_blocks_fpu,.-poly1305_blocks_fpu
- .globl poly1305_emit_fpu
- .type poly1305_emit_fpu,@function
- .align 4
- poly1305_emit_fpu:
- .localentry poly1305_emit_fpu,0
- stdu 1,-80(1)
- mflr 0
- std 28,48(1)
- std 29,56(1)
- std 30,64(1)
- std 31,72(1)
- std 0,96(1)
- lwz 28,4(3)
- lwz 7,0(3)
- lwz 29,12(3)
- lwz 8,8(3)
- lwz 30,20(3)
- lwz 9,16(3)
- lwz 31,28(3)
- lwz 10,24(3)
- lis 0,0xfff0
- andc 28,28,0
- andc 29,29,0
- andc 30,30,0
- andc 31,31,0
- li 0,3
- srwi 6,31,2
- and 11,31,0
- andc 31,31,0
- add 31,31,6
- add 7,7,31
- add 8,8,28
- add 9,9,29
- add 10,10,30
- srdi 28,7,32
- add 8,8,28
- srdi 29,8,32
- add 9,9,29
- srdi 30,9,32
- add 10,10,30
- srdi 31,10,32
- add 11,11,31
- insrdi 7,8,32,0
- insrdi 9,10,32,0
- addic 28,7,5
- addze 29,9
- addze 30,11
- srdi 0,30,2
- neg 0,0
- sradi 0,0,63
- ld 30,0(5)
- ld 31,8(5)
- andc 7,7,0
- and 28,28,0
- andc 9,9,0
- and 29,29,0
- or 7,7,28
- or 9,9,29
- addc 7,7,30
- adde 9,9,31
- srdi 8,7,32
- srdi 10,9,32
- stw 7,0(4)
- stw 8,4(4)
- stw 9,8(4)
- stw 10,12(4)
- ld 28,48(1)
- ld 29,56(1)
- ld 30,64(1)
- ld 31,72(1)
- addi 1,1,80
- blr
- .long 0
- .byte 0,12,4,1,0x80,4,3,0
- .size poly1305_emit_fpu,.-poly1305_emit_fpu
- .align 6
- .LPICmeup:
- mflr 0
- bcl 20,31,$+4
- mflr 5
- addi 5,5,56
- mtlr 0
- blr
- .long 0
- .byte 0,12,0x14,0,0,0,0,0
- .space 28
- .long 0x00000000,0x43300000
- .long 0x00000000,0x45300000
- .long 0x00000000,0x47300000
- .long 0x00000000,0x49300000
- .long 0x00000000,0x4b500000
- .long 0x00000000,0x37f40000
- .long 0x00000000,0x44300000
- .long 0x00000000,0x46300000
- .long 0x00000000,0x48300000
- .long 0x00000000,0x4a300000
- .long 0x00000000,0x3e300000
- .long 0x00000000,0x40300000
- .long 0x00000000,0x42300000
- .long 0x00000001,0x00000000
- .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
- .align 2
- .align 4
|