1.machine "any" 2.text 3.globl poly1305_init_int 4.type poly1305_init_int,@function 5.section ".opd","aw" 6.align 3 7poly1305_init_int: 8.quad .poly1305_init_int,.TOC.@tocbase,0 9.previous 10 11.align 4 12.poly1305_init_int: 13 xor 0,0,0 14 std 0,0(3) 15 std 0,8(3) 16 std 0,16(3) 17 18 cmpld 4,0 19 beq- .Lno_key 20 li 7,4 21 lwbrx 10,0,4 22 li 11,8 23 lwbrx 7,7,4 24 li 8,12 25 lwbrx 11,11,4 26 lwbrx 8,8,4 27 insrdi 10,7,32,0 28 insrdi 11,8,32,0 29 lis 8,0xfff 30 ori 8,8,0xfffc 31 insrdi 8,8,32,0 32 ori 7,8,3 33 34 and 10,10,7 35 and 11,11,8 36 37 std 10,32(3) 38 std 11,40(3) 39 40.Lno_key: 41 xor 3,3,3 42 blr 43.long 0 44.byte 0,12,0x14,0,0,0,2,0 45 46 47.globl poly1305_blocks 48.type poly1305_blocks,@function 49.section ".opd","aw" 50.align 3 51poly1305_blocks: 52.quad .poly1305_blocks,.TOC.@tocbase,0 53.previous 54 55.align 4 56.poly1305_blocks: 57 srdi. 5,5,4 58 beq- .Labort 59 60 stdu 1,-192(1) 61 mflr 0 62 std 27,152(1) 63 std 28,160(1) 64 std 29,168(1) 65 std 30,176(1) 66 std 31,184(1) 67 std 0,208(1) 68 69 ld 27,32(3) 70 ld 28,40(3) 71 72 ld 7,0(3) 73 ld 8,8(3) 74 ld 9,16(3) 75 76 srdi 29,28,2 77 mtctr 5 78 add 29,29,28 79 li 0,3 80 b .Loop 81 82.align 4 83.Loop: 84 li 10,4 85 lwbrx 30,0,4 86 li 31,8 87 lwbrx 10,10,4 88 li 11,12 89 lwbrx 31,31,4 90 lwbrx 11,11,4 91 insrdi 30,10,32,0 92 insrdi 31,11,32,0 93 addi 4,4,16 94 95 addc 7,7,30 96 adde 8,8,31 97 98 mulld 10,7,27 99 mulhdu 11,7,27 100 adde 9,9,6 101 102 mulld 30,8,29 103 mulhdu 31,8,29 104 addc 10,10,30 105 adde 11,11,31 106 107 mulld 30,7,28 108 mulhdu 12,7,28 109 addc 11,11,30 110 addze 12,12 111 112 mulld 30,8,27 113 mulhdu 31,8,27 114 addc 11,11,30 115 adde 12,12,31 116 117 mulld 30,9,29 118 mulld 31,9,27 119 addc 11,11,30 120 adde 12,12,31 121 122 andc 30,12,0 123 and 9,12,0 124 srdi 31,30,2 125 add 30,30,31 126 addc 7,10,30 127 addze 8,11 128 addze 9,9 129 130 bc 16,0,.Loop 131 132 std 7,0(3) 133 std 8,8(3) 134 std 9,16(3) 135 136 ld 27,152(1) 137 ld 28,160(1) 138 ld 29,168(1) 139 ld 30,176(1) 140 ld 31,184(1) 141 addi 1,1,192 142.Labort: 143 blr 144.long 0 145.byte 0,12,4,1,0x80,5,4,0 146 147 148.globl poly1305_emit 149.type poly1305_emit,@function 150.section ".opd","aw" 151.align 3 152poly1305_emit: 153.quad .poly1305_emit,.TOC.@tocbase,0 154.previous 155 156.align 4 157.poly1305_emit: 158 ld 7,0(3) 159 ld 8,8(3) 160 ld 9,16(3) 161 ld 6,0(5) 162 ld 5,8(5) 163 164 addic 10,7,5 165 addze 11,8 166 addze 12,9 167 168 srdi 0,12,2 169 neg 0,0 170 171 andc 7,7,0 172 and 10,10,0 173 andc 8,8,0 174 and 11,11,0 175 or 7,7,10 176 or 8,8,11 177 rotldi 6,6,32 178 rotldi 5,5,32 179 addc 7,7,6 180 adde 8,8,5 181 rldicl 0,7,32,32 182 li 10,4 183 stwbrx 7,0,4 184 rldicl 7,8,32,32 185 li 11,8 186 stwbrx 0,10,4 187 li 12,12 188 stwbrx 8,11,4 189 stwbrx 7,12,4 190 blr 191.long 0 192.byte 0,12,0x14,0,0,0,3,0 193 194.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,32,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 195.align 2 196