1 .machine "any" 2 .text 3 4 .globl p521_felem_mul 5 .type p521_felem_mul,@function 6 .align 5 7 p521_felem_mul: 8 9 mr 12,1 10 stdu 1,-16*13(1) 11 12 stxv 52,-16*12(12) 13 stxv 53,-16*11(12) 14 stxv 54,-16*10(12) 15 stxv 55,-16*9(12) 16 stxv 56,-16*8(12) 17 stxv 57,-16*7(12) 18 stxv 58,-16*6(12) 19 stxv 59,-16*5(12) 20 stxv 60,-16*4(12) 21 stxv 61,-16*3(12) 22 stxv 62,-16*2(12) 23 stxv 63,-16*1(12) 24 25 vspltisw 0,0 26 27 lxsd 13,0(4) 28 lxsd 14,8(4) 29 lxsd 15,16(4) 30 lxsd 16,24(4) 31 lxsd 17,32(4) 32 lxsd 18,40(4) 33 lxsd 19,48(4) 34 lxsd 20,56(4) 35 lxsd 21,64(4) 36 37 lxsd 3,0(5) 38 lxsd 4,8(5) 39 lxsd 5,16(5) 40 lxsd 6,24(5) 41 lxsd 7,32(5) 42 lxsd 8,40(5) 43 lxsd 9,48(5) 44 lxsd 10,56(5) 45 lxsd 11,64(5) 46 47 .long 0x12ED1823 48 49 xxpermdi 33,45,46,0b00 50 xxpermdi 34,36,35,0b00 51 .long 0x13011023 52 53 xxpermdi 34,37,36,0b00 54 .long 0x13211023 55 .long 0x132F1E63 56 57 xxpermdi 34,38,37,0b00 58 .long 0x13411023 59 xxpermdi 44,47,48,0b00 60 xxpermdi 54,36,35,0b00 61 .long 0x134CB6A3 62 63 xxpermdi 34,39,38,0b00 64 .long 0x13611023 65 xxpermdi 54,37,36,0b00 66 .long 0x136CB6E3 67 .long 0x13711EE3 68 69 xxpermdi 34,40,39,0b00 70 .long 0x13811023 71 xxpermdi 54,38,37,0b00 72 .long 0x138CB723 73 74 xxpermdi 34,41,40,0b00 75 .long 0x13A11023 76 xxpermdi 54,39,38,0b00 77 .long 0x13ACB763 78 79 xxpermdi 34,42,41,0b00 80 .long 0x13C11023 81 xxpermdi 54,40,39,0b00 82 .long 0x13CCB7A3 83 84 xxpermdi 34,43,42,0b00 85 .long 0x13E11023 86 xxpermdi 54,41,40,0b00 87 .long 0x13ECB7E3 88 89 xxpermdi 33,49,50,0b00 90 xxpermdi 34,36,35,0b00 91 .long 0x13811723 92 93 xxpermdi 34,37,36,0b00 94 .long 0x13A11763 95 .long 0x13B31F63 96 97 xxpermdi 34,38,37,0b00 98 .long 0x13C117A3 99 xxpermdi 44,51,52,0b00 100 xxpermdi 54,36,35,0b00 101 .long 0x13CCB7A3 102 103 xxpermdi 34,39,38,0b00 104 .long 0x13E117E3 105 xxpermdi 54,37,36,0b00 106 .long 0x13ECB7E3 107 .long 0x13F51FE3 108 109 li 8,0 110 li 9,1 111 mtvsrdd 33,9,8 112 .long 0x10630DC4 113 .long 0x10840DC4 114 .long 0x10A50DC4 115 .long 0x10C60DC4 116 .long 0x10E70DC4 117 .long 0x11080DC4 118 .long 0x11290DC4 119 .long 0x114A0DC4 120 .long 0x116B0DC4 121 122 .long 0x13D55FA3 123 124 xxpermdi 34,43,42,0b00 125 xxpermdi 33,52,53,0b00 126 .long 0x13A11763 127 128 xxpermdi 33,51,52,0b00 129 .long 0x13811723 130 .long 0x13954F23 131 132 xxpermdi 33,50,51,0b00 133 .long 0x136116E3 134 xxpermdi 54,41,40,0b00 135 xxpermdi 44,52,53,0b00 136 .long 0x136CB6E3 137 138 xxpermdi 33,49,50,0b00 139 .long 0x134116A3 140 xxpermdi 44,51,52,0b00 141 .long 0x134CB6A3 142 .long 0x13553EA3 143 144 xxpermdi 33,48,49,0b00 145 .long 0x13211663 146 xxpermdi 44,50,51,0b00 147 .long 0x132CB663 148 149 xxpermdi 33,47,48,0b00 150 .long 0x13011623 151 xxpermdi 44,49,50,0b00 152 .long 0x130CB623 153 154 xxpermdi 33,46,47,0b00 155 .long 0x12E115E3 156 xxpermdi 44,48,49,0b00 157 .long 0x12ECB5E3 158 159 xxpermdi 34,39,38,0b00 160 xxpermdi 33,52,53,0b00 161 .long 0x13211663 162 163 xxpermdi 33,51,52,0b00 164 .long 0x13011623 165 .long 0x13152E23 166 167 xxpermdi 33,50,51,0b00 168 .long 0x12E115E3 169 xxpermdi 54,37,36,0b00 170 xxpermdi 44,52,53,0b00 171 .long 0x12ECB5E3 172 173 stxv 55,0(3) 174 stxv 56,16(3) 175 stxv 57,32(3) 176 stxv 58,48(3) 177 stxv 59,64(3) 178 stxv 60,80(3) 179 stxv 61,96(3) 180 stxv 62,112(3) 181 stxv 63,128(3) 182 183 ld 12,0(1) 184 lxv 52,-16*12(12) 185 lxv 53,-16*11(12) 186 lxv 54,-16*10(12) 187 lxv 55,-16*9(12) 188 lxv 56,-16*8(12) 189 lxv 57,-16*7(12) 190 lxv 58,-16*6(12) 191 lxv 59,-16*5(12) 192 lxv 60,-16*4(12) 193 lxv 61,-16*3(12) 194 lxv 62,-16*2(12) 195 lxv 63,-16*1(12) 196 mr 1,12 197 198 blr 199 200 201 .globl p521_felem_square 202 .type p521_felem_square,@function 203 .align 5 204 p521_felem_square: 205 206 mr 12,1 207 stdu 1,-16*13(1) 208 209 stxv 52,-16*12(12) 210 stxv 53,-16*11(12) 211 stxv 54,-16*10(12) 212 stxv 55,-16*9(12) 213 stxv 56,-16*8(12) 214 stxv 57,-16*7(12) 215 stxv 58,-16*6(12) 216 stxv 59,-16*5(12) 217 stxv 60,-16*4(12) 218 stxv 61,-16*3(12) 219 stxv 62,-16*2(12) 220 stxv 63,-16*1(12) 221 222 vspltisw 0,0 223 224 lxsd 13,0(4) 225 lxsd 14,8(4) 226 lxsd 15,16(4) 227 lxsd 16,24(4) 228 lxsd 17,32(4) 229 lxsd 18,40(4) 230 lxsd 19,48(4) 231 lxsd 20,56(4) 232 lxsd 21,64(4) 233 234 li 8,0 235 li 9,1 236 mtvsrdd 33,9,8 237 .long 0x106D0DC4 238 .long 0x108E0DC4 239 .long 0x10AF0DC4 240 .long 0x10D00DC4 241 .long 0x10F10DC4 242 .long 0x11120DC4 243 .long 0x11330DC4 244 .long 0x11540DC4 245 .long 0x11750DC4 246 .long 0x12ED6823 247 248 .long 0x130D2023 249 250 xxpermdi 33,45,46,0b00 251 xxpermdi 34,37,46,0b00 252 .long 0x13211023 253 254 xxpermdi 34,38,37,0b00 255 .long 0x13411023 256 257 xxpermdi 34,39,38,0b00 258 .long 0x13611023 259 .long 0x136F7EE3 260 261 xxpermdi 34,40,39,0b00 262 .long 0x13811023 263 .long 0x138F3723 264 265 xxpermdi 34,41,40,0b00 266 .long 0x13A11023 267 xxpermdi 44,47,48,0b00 268 xxpermdi 54,39,48,0b00 269 .long 0x13ACB763 270 271 xxpermdi 34,42,41,0b00 272 .long 0x13C11023 273 xxpermdi 54,40,39,0b00 274 .long 0x13CCB7A3 275 276 xxpermdi 34,43,42,0b00 277 .long 0x13E11023 278 xxpermdi 54,41,40,0b00 279 .long 0x13ECB7E3 280 .long 0x13F18FE3 281 282 .long 0x13124623 283 284 .long 0x13534EA3 285 286 .long 0x13945723 287 288 .long 0x13D55FA3 289 290 mtvsrdd 33,9,8 291 .long 0x11080DC4 292 .long 0x11290DC4 293 .long 0x114A0DC4 294 .long 0x116B0DC4 295 296 .long 0x13B45F63 297 298 .long 0x13935F23 299 300 xxpermdi 34,43,42,0b00 301 xxpermdi 33,50,51,0b00 302 .long 0x136116E3 303 304 xxpermdi 33,49,50,0b00 305 .long 0x134116A3 306 307 xxpermdi 33,48,49,0b00 308 .long 0x13211663 309 .long 0x13324E63 310 311 xxpermdi 33,47,48,0b00 312 .long 0x13011623 313 .long 0x13114E23 314 315 xxpermdi 33,46,47,0b00 316 .long 0x12E115E3 317 xxpermdi 34,41,40,0b00 318 xxpermdi 33,48,49,0b00 319 .long 0x12E115E3 320 321 stxv 55,0(3) 322 stxv 56,16(3) 323 stxv 57,32(3) 324 stxv 58,48(3) 325 stxv 59,64(3) 326 stxv 60,80(3) 327 stxv 61,96(3) 328 stxv 62,112(3) 329 stxv 63,128(3) 330 331 ld 12,0(1) 332 lxv 52,-16*12(12) 333 lxv 53,-16*11(12) 334 lxv 54,-16*10(12) 335 lxv 55,-16*9(12) 336 lxv 56,-16*8(12) 337 lxv 57,-16*7(12) 338 lxv 58,-16*6(12) 339 lxv 59,-16*5(12) 340 lxv 60,-16*4(12) 341 lxv 61,-16*3(12) 342 lxv 62,-16*2(12) 343 lxv 63,-16*1(12) 344 mr 1,12 345 346 blr 347 348 349