1.text 2 3.globl x25519_fe51_mul 4.type x25519_fe51_mul,@function 5.section ".opd","aw" 6.align 3 7x25519_fe51_mul: 8.quad .x25519_fe51_mul,.TOC.@tocbase,0 9.previous 10 11.align 5 12.x25519_fe51_mul: 13 stdu 1,-144(1) 14 std 21,56(1) 15 std 22,64(1) 16 std 23,72(1) 17 std 24,80(1) 18 std 25,88(1) 19 std 26,96(1) 20 std 27,104(1) 21 std 28,112(1) 22 std 29,120(1) 23 std 30,128(1) 24 std 31,136(1) 25 26 ld 6,0(5) 27 ld 7,0(4) 28 ld 8,8(4) 29 ld 9,16(4) 30 ld 10,24(4) 31 ld 11,32(4) 32 33 mulld 22,7,6 34 mulhdu 23,7,6 35 36 mulld 24,8,6 37 mulhdu 25,8,6 38 39 mulld 30,11,6 40 mulhdu 31,11,6 41 ld 4,8(5) 42 mulli 11,11,19 43 44 mulld 26,9,6 45 mulhdu 27,9,6 46 47 mulld 28,10,6 48 mulhdu 29,10,6 49 mulld 12,11,4 50 mulhdu 21,11,4 51 addc 22,22,12 52 adde 23,23,21 53 54 mulld 12,7,4 55 mulhdu 21,7,4 56 addc 24,24,12 57 adde 25,25,21 58 59 mulld 12,10,4 60 mulhdu 21,10,4 61 ld 6,16(5) 62 mulli 10,10,19 63 addc 30,30,12 64 adde 31,31,21 65 66 mulld 12,8,4 67 mulhdu 21,8,4 68 addc 26,26,12 69 adde 27,27,21 70 71 mulld 12,9,4 72 mulhdu 21,9,4 73 addc 28,28,12 74 adde 29,29,21 75 mulld 12,10,6 76 mulhdu 21,10,6 77 addc 22,22,12 78 adde 23,23,21 79 80 mulld 12,11,6 81 mulhdu 21,11,6 82 addc 24,24,12 83 adde 25,25,21 84 85 mulld 12,9,6 86 mulhdu 21,9,6 87 ld 4,24(5) 88 mulli 9,9,19 89 addc 30,30,12 90 adde 31,31,21 91 92 mulld 12,7,6 93 mulhdu 21,7,6 94 addc 26,26,12 95 adde 27,27,21 96 97 mulld 12,8,6 98 mulhdu 21,8,6 99 addc 28,28,12 100 adde 29,29,21 101 mulld 12,9,4 102 mulhdu 21,9,4 103 addc 22,22,12 104 adde 23,23,21 105 106 mulld 12,10,4 107 mulhdu 21,10,4 108 addc 24,24,12 109 adde 25,25,21 110 111 mulld 12,8,4 112 mulhdu 21,8,4 113 ld 6,32(5) 114 mulli 8,8,19 115 addc 30,30,12 116 adde 31,31,21 117 118 mulld 12,11,4 119 mulhdu 21,11,4 120 addc 26,26,12 121 adde 27,27,21 122 123 mulld 12,7,4 124 mulhdu 21,7,4 125 addc 28,28,12 126 adde 29,29,21 127 mulld 12,8,6 128 mulhdu 21,8,6 129 addc 22,22,12 130 adde 23,23,21 131 132 mulld 12,9,6 133 mulhdu 21,9,6 134 addc 24,24,12 135 adde 25,25,21 136 137 mulld 12,10,6 138 mulhdu 21,10,6 139 addc 26,26,12 140 adde 27,27,21 141 142 mulld 12,11,6 143 mulhdu 21,11,6 144 addc 28,28,12 145 adde 29,29,21 146 147 mulld 12,7,6 148 mulhdu 21,7,6 149 addc 30,30,12 150 adde 31,31,21 151 152.Lfe51_reduce: 153 li 0,-1 154 srdi 0,0,13 155 156 srdi 12,26,51 157 and 9,26,0 158 insrdi 12,27,51,0 159 srdi 21,22,51 160 and 7,22,0 161 insrdi 21,23,51,0 162 addc 28,28,12 163 addze 29,29 164 addc 24,24,21 165 addze 25,25 166 167 srdi 12,28,51 168 and 10,28,0 169 insrdi 12,29,51,0 170 srdi 21,24,51 171 and 8,24,0 172 insrdi 21,25,51,0 173 addc 30,30,12 174 addze 31,31 175 add 9,9,21 176 177 srdi 12,30,51 178 and 11,30,0 179 insrdi 12,31,51,0 180 mulli 12,12,19 181 182 add 7,7,12 183 184 srdi 21,9,51 185 and 9,9,0 186 add 10,10,21 187 188 srdi 12,7,51 189 and 7,7,0 190 add 8,8,12 191 192 std 9,16(3) 193 std 10,24(3) 194 std 11,32(3) 195 std 7,0(3) 196 std 8,8(3) 197 198 ld 21,56(1) 199 ld 22,64(1) 200 ld 23,72(1) 201 ld 24,80(1) 202 ld 25,88(1) 203 ld 26,96(1) 204 ld 27,104(1) 205 ld 28,112(1) 206 ld 29,120(1) 207 ld 30,128(1) 208 ld 31,136(1) 209 addi 1,1,144 210 blr 211.long 0 212.byte 0,12,4,0,0x80,11,3,0 213.long 0 214 215.globl x25519_fe51_sqr 216.type x25519_fe51_sqr,@function 217.section ".opd","aw" 218.align 3 219x25519_fe51_sqr: 220.quad .x25519_fe51_sqr,.TOC.@tocbase,0 221.previous 222 223.align 5 224.x25519_fe51_sqr: 225 stdu 1,-144(1) 226 std 21,56(1) 227 std 22,64(1) 228 std 23,72(1) 229 std 24,80(1) 230 std 25,88(1) 231 std 26,96(1) 232 std 27,104(1) 233 std 28,112(1) 234 std 29,120(1) 235 std 30,128(1) 236 std 31,136(1) 237 238 ld 7,0(4) 239 ld 8,8(4) 240 ld 9,16(4) 241 ld 10,24(4) 242 ld 11,32(4) 243 244 add 6,7,7 245 mulli 21,11,19 246 247 mulld 22,7,7 248 mulhdu 23,7,7 249 mulld 24,8,6 250 mulhdu 25,8,6 251 mulld 26,9,6 252 mulhdu 27,9,6 253 mulld 28,10,6 254 mulhdu 29,10,6 255 mulld 30,11,6 256 mulhdu 31,11,6 257 add 6,8,8 258 mulld 12,11,21 259 mulhdu 11,11,21 260 addc 28,28,12 261 adde 29,29,11 262 263 mulli 5,10,19 264 265 mulld 12,8,8 266 mulhdu 11,8,8 267 addc 26,26,12 268 adde 27,27,11 269 mulld 12,9,6 270 mulhdu 11,9,6 271 addc 28,28,12 272 adde 29,29,11 273 mulld 12,10,6 274 mulhdu 11,10,6 275 addc 30,30,12 276 adde 31,31,11 277 mulld 12,21,6 278 mulhdu 11,21,6 279 add 6,10,10 280 addc 22,22,12 281 adde 23,23,11 282 mulld 12,10,5 283 mulhdu 10,10,5 284 addc 24,24,12 285 adde 25,25,10 286 mulld 12,6,21 287 mulhdu 10,6,21 288 add 6,9,9 289 addc 26,26,12 290 adde 27,27,10 291 292 mulld 12,9,9 293 mulhdu 10,9,9 294 addc 30,30,12 295 adde 31,31,10 296 mulld 12,5,6 297 mulhdu 10,5,6 298 addc 22,22,12 299 adde 23,23,10 300 mulld 12,21,6 301 mulhdu 10,21,6 302 addc 24,24,12 303 adde 25,25,10 304 305 b .Lfe51_reduce 306.long 0 307.byte 0,12,4,0,0x80,11,2,0 308.long 0 309 310.globl x25519_fe51_mul121666 311.type x25519_fe51_mul121666,@function 312.section ".opd","aw" 313.align 3 314x25519_fe51_mul121666: 315.quad .x25519_fe51_mul121666,.TOC.@tocbase,0 316.previous 317 318.align 5 319.x25519_fe51_mul121666: 320 stdu 1,-144(1) 321 std 21,56(1) 322 std 22,64(1) 323 std 23,72(1) 324 std 24,80(1) 325 std 25,88(1) 326 std 26,96(1) 327 std 27,104(1) 328 std 28,112(1) 329 std 29,120(1) 330 std 30,128(1) 331 std 31,136(1) 332 333 lis 6,1 334 ori 6,6,56130 335 ld 7,0(4) 336 ld 8,8(4) 337 ld 9,16(4) 338 ld 10,24(4) 339 ld 11,32(4) 340 341 mulld 22,7,6 342 mulhdu 23,7,6 343 mulld 24,8,6 344 mulhdu 25,8,6 345 mulld 26,9,6 346 mulhdu 27,9,6 347 mulld 28,10,6 348 mulhdu 29,10,6 349 mulld 30,11,6 350 mulhdu 31,11,6 351 352 b .Lfe51_reduce 353.long 0 354.byte 0,12,4,0,0x80,11,2,0 355.long 0 356 357