1/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */ 2.machine "any" 3.text 4.globl poly1305_init_int 5.type poly1305_init_int,@function 6.align 4 7poly1305_init_int: 8 xor 0,0,0 9 stw 0,0(3) 10 stw 0,4(3) 11 stw 0,8(3) 12 stw 0,12(3) 13 stw 0,16(3) 14 15 .long 0x7c040040 16 beq- .Lno_key 17 li 8,4 18 lwbrx 7,0,4 19 li 9,8 20 lwbrx 8,8,4 21 li 10,12 22 lwbrx 9,9,4 23 lwbrx 10,10,4 24 lis 0,0xf000 25 li 12,-4 26 andc 12,12,0 27 28 andc 7,7,0 29 and 8,8,12 30 and 9,9,12 31 and 10,10,12 32 33 stw 7,32(3) 34 stw 8,36(3) 35 stw 9,40(3) 36 stw 10,44(3) 37 38.Lno_key: 39 xor 3,3,3 40 blr 41.long 0 42.byte 0,12,0x14,0,0,0,2,0 43.size poly1305_init_int,.-poly1305_init_int 44 45.globl poly1305_blocks 46.type poly1305_blocks,@function 47.align 4 48poly1305_blocks: 49 srwi. 5,5,4 50 beq- .Labort 51 52 stwu 1,-96(1) 53 mflr 0 54 stw 14,24(1) 55 stw 15,28(1) 56 stw 16,32(1) 57 stw 17,36(1) 58 stw 18,40(1) 59 stw 19,44(1) 60 stw 20,48(1) 61 stw 21,52(1) 62 stw 22,56(1) 63 stw 23,60(1) 64 stw 24,64(1) 65 stw 25,68(1) 66 stw 26,72(1) 67 stw 27,76(1) 68 stw 28,80(1) 69 stw 29,84(1) 70 stw 30,88(1) 71 stw 31,92(1) 72 stw 0,100(1) 73 74 lwz 12,32(3) 75 lwz 14,36(3) 76 lwz 15,40(3) 77 lwz 16,44(3) 78 79 lwz 7,0(3) 80 lwz 8,4(3) 81 lwz 9,8(3) 82 lwz 10,12(3) 83 lwz 11,16(3) 84 85 srwi 17,14,2 86 srwi 18,15,2 87 srwi 19,16,2 88 add 17,17,14 89 add 18,18,15 90 add 19,19,16 91 mtctr 5 92 li 0,3 93 b .Loop 94 95.align 4 96.Loop: 97 li 29,4 98 lwbrx 28,0,4 99 li 30,8 100 lwbrx 29,29,4 101 li 31,12 102 lwbrx 30,30,4 103 lwbrx 31,31,4 104 addi 4,4,16 105 106 addc 7,7,28 107 adde 8,8,29 108 adde 9,9,30 109 110 mullw 28,7,12 111 mulhwu 24,7,12 112 113 mullw 29,7,14 114 mulhwu 25,7,14 115 116 mullw 30,7,15 117 mulhwu 26,7,15 118 119 adde 10,10,31 120 adde 11,11,6 121 122 mullw 31,7,16 123 mulhwu 27,7,16 124 125 mullw 20,8,19 126 mulhwu 21,8,19 127 128 mullw 22,8,12 129 mulhwu 23,8,12 130 addc 28,28,20 131 adde 24,24,21 132 133 mullw 20,8,14 134 mulhwu 21,8,14 135 addc 29,29,22 136 adde 25,25,23 137 138 mullw 22,8,15 139 mulhwu 23,8,15 140 addc 30,30,20 141 adde 26,26,21 142 143 mullw 20,9,18 144 mulhwu 21,9,18 145 addc 31,31,22 146 adde 27,27,23 147 148 mullw 22,9,19 149 mulhwu 23,9,19 150 addc 28,28,20 151 adde 24,24,21 152 153 mullw 20,9,12 154 mulhwu 21,9,12 155 addc 29,29,22 156 adde 25,25,23 157 158 mullw 22,9,14 159 mulhwu 23,9,14 160 addc 30,30,20 161 adde 26,26,21 162 163 mullw 20,10,17 164 mulhwu 21,10,17 165 addc 31,31,22 166 adde 27,27,23 167 168 mullw 22,10,18 169 mulhwu 23,10,18 170 addc 28,28,20 171 adde 24,24,21 172 173 mullw 20,10,19 174 mulhwu 21,10,19 175 addc 29,29,22 176 adde 25,25,23 177 178 mullw 22,10,12 179 mulhwu 23,10,12 180 addc 30,30,20 181 adde 26,26,21 182 183 mullw 20,11,17 184 addc 31,31,22 185 adde 27,27,23 186 addc 29,29,20 187 188 mullw 21,11,18 189 addze 25,25 190 addc 30,30,21 191 addze 26,26 192 193 mullw 22,11,19 194 addc 31,31,22 195 addze 27,27 196 197 mullw 11,11,12 198 199 addc 8,29,24 200 adde 9,30,25 201 adde 10,31,26 202 adde 11,11,27 203 204 andc 24,11,0 205 and 11,11,0 206 srwi 25,24,2 207 add 24,24,25 208 addc 7,28,24 209 addze 8,8 210 addze 9,9 211 addze 10,10 212 addze 11,11 213 214 bdnz .Loop 215 216 stw 7,0(3) 217 stw 8,4(3) 218 stw 9,8(3) 219 stw 10,12(3) 220 stw 11,16(3) 221 222 lwz 14,24(1) 223 lwz 15,28(1) 224 lwz 16,32(1) 225 lwz 17,36(1) 226 lwz 18,40(1) 227 lwz 19,44(1) 228 lwz 20,48(1) 229 lwz 21,52(1) 230 lwz 22,56(1) 231 lwz 23,60(1) 232 lwz 24,64(1) 233 lwz 25,68(1) 234 lwz 26,72(1) 235 lwz 27,76(1) 236 lwz 28,80(1) 237 lwz 29,84(1) 238 lwz 30,88(1) 239 lwz 31,92(1) 240 addi 1,1,96 241.Labort: 242 blr 243.long 0 244.byte 0,12,4,1,0x80,18,4,0 245.size poly1305_blocks,.-poly1305_blocks 246 247.globl poly1305_emit 248.type poly1305_emit,@function 249.align 4 250poly1305_emit: 251 stwu 1,-96(1) 252 mflr 0 253 stw 28,80(1) 254 stw 29,84(1) 255 stw 30,88(1) 256 stw 31,92(1) 257 stw 0,100(1) 258 259 lwz 7,0(3) 260 lwz 8,4(3) 261 lwz 9,8(3) 262 lwz 10,12(3) 263 lwz 11,16(3) 264 265 addic 28,7,5 266 addze 29,8 267 addze 30,9 268 addze 31,10 269 addze 0,11 270 271 srwi 0,0,2 272 neg 0,0 273 274 andc 7,7,0 275 and 28,28,0 276 andc 8,8,0 277 and 29,29,0 278 or 7,7,28 279 lwz 28,0(5) 280 andc 9,9,0 281 and 30,30,0 282 or 8,8,29 283 lwz 29,4(5) 284 andc 10,10,0 285 and 31,31,0 286 or 9,9,30 287 lwz 30,8(5) 288 or 10,10,31 289 lwz 31,12(5) 290 291 addc 7,7,28 292 adde 8,8,29 293 adde 9,9,30 294 adde 10,10,31 295 li 29,4 296 stwbrx 7,0,4 297 li 30,8 298 stwbrx 8,29,4 299 li 31,12 300 stwbrx 9,30,4 301 stwbrx 10,31,4 302 lwz 28,80(1) 303 lwz 29,84(1) 304 lwz 30,88(1) 305 lwz 31,92(1) 306 addi 1,1,96 307 blr 308.long 0 309.byte 0,12,4,1,0x80,4,3,0 310.size poly1305_emit,.-poly1305_emit 311.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,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 312.align 2 313