1// SPDX-License-Identifier: CDDL-1.0 2/* 3 * CDDL HEADER START 4 * 5 * The contents of this file are subject to the terms of the 6 * Common Development and Distribution License (the "License"). 7 * You may not use this file except in compliance with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or https://opensource.org/licenses/CDDL-1.0. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 23/* 24 * Based on BLAKE3 v1.3.1, https://github.com/BLAKE3-team/BLAKE3 25 * Copyright (c) 2019-2022 Samuel Neves and Matthew Krupcale 26 * Copyright (c) 2022 Tino Reichardt <milky-zfs@mcmilk.de> 27 * 28 * This is converted assembly: SSE2 -> POWER8 PPC64 Little Endian 29 * Used tools: SIMDe https://github.com/simd-everywhere/simde 30 */ 31 32#if (defined(__PPC64__) && defined(__LITTLE_ENDIAN__)) 33 .text 34 .abiversion 2 35 .section .rodata.cst16,"aM",@progbits,16 36 .p2align 4 37.LCPI0_0: 38 .byte 29 39 .byte 28 40 .byte 31 41 .byte 30 42 .byte 25 43 .byte 24 44 .byte 27 45 .byte 26 46 .byte 21 47 .byte 20 48 .byte 23 49 .byte 22 50 .byte 17 51 .byte 16 52 .byte 19 53 .byte 18 54.LCPI0_1: 55 .long 1779033703 56 .long 3144134277 57 .long 1013904242 58 .long 2773480762 59.LCPI0_2: 60 .byte 27 61 .byte 26 62 .byte 25 63 .byte 24 64 .byte 19 65 .byte 18 66 .byte 17 67 .byte 16 68 .byte 11 69 .byte 10 70 .byte 9 71 .byte 8 72 .byte 3 73 .byte 2 74 .byte 1 75 .byte 0 76.LCPI0_3: 77 .byte 19 78 .byte 18 79 .byte 17 80 .byte 16 81 .byte 11 82 .byte 10 83 .byte 9 84 .byte 8 85 .byte 3 86 .byte 2 87 .byte 1 88 .byte 0 89 .byte 27 90 .byte 26 91 .byte 25 92 .byte 24 93.LCPI0_4: 94 .byte 23 95 .byte 22 96 .byte 21 97 .byte 20 98 .byte 27 99 .byte 26 100 .byte 25 101 .byte 24 102 .byte 11 103 .byte 10 104 .byte 9 105 .byte 8 106 .byte 3 107 .byte 2 108 .byte 1 109 .byte 0 110.LCPI0_5: 111 .byte 23 112 .byte 22 113 .byte 21 114 .byte 20 115 .byte 23 116 .byte 22 117 .byte 21 118 .byte 20 119 .byte 3 120 .byte 2 121 .byte 1 122 .byte 0 123 .byte 3 124 .byte 2 125 .byte 1 126 .byte 0 127.LCPI0_6: 128 .short 1 129 .short 2 130 .short 4 131 .short 8 132 .short 16 133 .short 32 134 .short 64 135 .short 128 136.LCPI0_7: 137 .short 0 138 .short 0 139 .short 4 140 .short 8 141 .short 0 142 .short 0 143 .short 64 144 .short 128 145.LCPI0_8: 146 .byte 19 147 .byte 18 148 .byte 17 149 .byte 16 150 .byte 19 151 .byte 18 152 .byte 17 153 .byte 16 154 .byte 31 155 .byte 30 156 .byte 29 157 .byte 28 158 .byte 31 159 .byte 30 160 .byte 29 161 .byte 28 162.LCPI0_9: 163 .short 0 164 .short 0 165 .short 0 166 .short 0 167 .short 0 168 .short 0 169 .short 64 170 .short 128 171.LCPI0_10: 172 .byte 31 173 .byte 30 174 .byte 29 175 .byte 28 176 .byte 7 177 .byte 6 178 .byte 5 179 .byte 4 180 .byte 3 181 .byte 2 182 .byte 1 183 .byte 0 184 .byte 27 185 .byte 26 186 .byte 25 187 .byte 24 188.LCPI0_11: 189 .byte 31 190 .byte 30 191 .byte 29 192 .byte 28 193 .byte 23 194 .byte 22 195 .byte 21 196 .byte 20 197 .byte 19 198 .byte 18 199 .byte 17 200 .byte 16 201 .byte 27 202 .byte 26 203 .byte 25 204 .byte 24 205.LCPI0_12: 206 .byte 27 207 .byte 26 208 .byte 25 209 .byte 24 210 .byte 11 211 .byte 10 212 .byte 9 213 .byte 8 214 .byte 15 215 .byte 14 216 .byte 13 217 .byte 12 218 .byte 31 219 .byte 30 220 .byte 29 221 .byte 28 222.LCPI0_13: 223 .byte 31 224 .byte 30 225 .byte 29 226 .byte 28 227 .byte 15 228 .byte 14 229 .byte 13 230 .byte 12 231 .byte 11 232 .byte 10 233 .byte 9 234 .byte 8 235 .byte 27 236 .byte 26 237 .byte 25 238 .byte 24 239.LCPI0_14: 240 .byte 27 241 .byte 26 242 .byte 25 243 .byte 24 244 .byte 11 245 .byte 10 246 .byte 9 247 .byte 8 248 .byte 3 249 .byte 2 250 .byte 1 251 .byte 0 252 .byte 23 253 .byte 22 254 .byte 21 255 .byte 20 256 .text 257 .globl zfs_blake3_compress_in_place_sse2 258 .p2align 2 259 .type zfs_blake3_compress_in_place_sse2,@function 260zfs_blake3_compress_in_place_sse2: 261.Lfunc_begin0: 262 .cfi_startproc 263.Lfunc_gep0: 264 addis 2, 12, .TOC.-.Lfunc_gep0@ha 265 addi 2, 2, .TOC.-.Lfunc_gep0@l 266.Lfunc_lep0: 267 .localentry zfs_blake3_compress_in_place_sse2, .Lfunc_lep0-.Lfunc_gep0 268 li 8, -64 269 mtvsrd 35, 5 270 li 5, 16 271 lfdx 0, 0, 4 272 vspltisw 12, 9 273 stxvd2x 60, 1, 8 274 li 8, -48 275 mtvsrd 36, 7 276 lfd 2, 16(4) 277 stxvd2x 61, 1, 8 278 li 8, -32 279 lfd 1, 8(4) 280 mtvsrwz 37, 6 281 rldicl 6, 6, 32, 32 282 addis 7, 2, .LCPI0_2@toc@ha 283 stxvd2x 62, 1, 8 284 li 8, -16 285 addi 7, 7, .LCPI0_2@toc@l 286 stxvd2x 63, 1, 8 287 li 8, 0 288 lvx 9, 0, 7 289 li 7, 48 290 mtvsrd 34, 8 291 xxmrghd 32, 1, 0 292 lxvd2x 0, 0, 3 293 lxvd2x 1, 3, 5 294 lfd 3, 24(4) 295 addis 8, 2, .LCPI0_5@toc@ha 296 vmrghb 3, 2, 3 297 addi 8, 8, .LCPI0_5@toc@l 298 vmrghb 4, 2, 4 299 vspltb 2, 2, 7 300 xxmrghd 33, 3, 2 301 vpkudum 7, 1, 0 302 vmrglh 3, 2, 3 303 vmrglh 2, 2, 4 304 mtvsrwz 36, 6 305 addis 6, 2, .LCPI0_0@toc@ha 306 addi 6, 6, .LCPI0_0@toc@l 307 vperm 10, 1, 0, 9 308 vmrghw 4, 4, 5 309 xxswapd 37, 1 310 lxvd2x 1, 4, 7 311 addis 7, 2, .LCPI0_8@toc@ha 312 addi 7, 7, .LCPI0_8@toc@l 313 vmrglw 2, 2, 3 314 xxswapd 35, 0 315 xxswapd 41, 1 316 xxspltd 62, 42, 1 317 vadduwm 3, 7, 3 318 vadduwm 6, 3, 5 319 xxmrgld 36, 34, 36 320 lvx 2, 0, 6 321 addis 6, 2, .LCPI0_1@toc@ha 322 addi 6, 6, .LCPI0_1@toc@l 323 xxlxor 35, 38, 36 324 lvx 4, 0, 6 325 li 6, 32 326 lxvd2x 0, 4, 6 327 addis 4, 2, .LCPI0_3@toc@ha 328 addis 6, 2, .LCPI0_7@toc@ha 329 vperm 8, 3, 3, 2 330 vspltisw 3, 10 331 addi 4, 4, .LCPI0_3@toc@l 332 addi 6, 6, .LCPI0_7@toc@l 333 vadduwm 3, 3, 3 334 vadduwm 11, 8, 4 335 xxlxor 36, 43, 37 336 vadduwm 5, 6, 10 337 vrlw 0, 4, 3 338 vspltisw 4, 12 339 vadduwm 4, 4, 4 340 vadduwm 1, 0, 5 341 xxlxor 37, 33, 40 342 xxswapd 40, 0 343 vrlw 6, 5, 4 344 vspltisw 5, -16 345 vpkudum 13, 9, 8 346 vsubuwm 5, 12, 5 347 lvx 12, 0, 4 348 addis 4, 2, .LCPI0_4@toc@ha 349 addi 4, 4, .LCPI0_4@toc@l 350 vadduwm 11, 6, 11 351 xxswapd 0, 38 352 vadduwm 1, 1, 13 353 xxsldwi 50, 45, 45, 1 354 xxlxor 32, 43, 32 355 xxsldwi 43, 43, 43, 3 356 xxsldwi 33, 33, 33, 1 357 vperm 12, 8, 9, 12 358 vrlw 0, 0, 5 359 vadduwm 1, 0, 1 360 xxlxor 38, 33, 0 361 vadduwm 1, 1, 12 362 vperm 6, 6, 6, 2 363 vadduwm 15, 6, 11 364 lvx 11, 0, 4 365 addis 4, 2, .LCPI0_6@toc@ha 366 addi 4, 4, .LCPI0_6@toc@l 367 xxlxor 32, 47, 32 368 lvx 17, 0, 4 369 addis 4, 2, .LCPI0_9@toc@ha 370 vperm 14, 10, 7, 11 371 addi 4, 4, .LCPI0_9@toc@l 372 vrlw 0, 0, 3 373 vadduwm 1, 0, 1 374 xxlxor 38, 33, 38 375 vrlw 6, 6, 4 376 vadduwm 8, 6, 15 377 xxswapd 0, 38 378 lvx 6, 0, 8 379 xxlxor 32, 40, 32 380 xxsldwi 40, 40, 40, 1 381 vperm 13, 12, 18, 6 382 vrlw 9, 0, 5 383 vadduwm 0, 1, 14 384 lvx 1, 0, 7 385 xxsldwi 46, 46, 46, 3 386 xxsldwi 32, 32, 32, 3 387 vperm 7, 7, 7, 1 388 vadduwm 15, 9, 0 389 xxlxor 32, 47, 0 390 vperm 16, 0, 0, 2 391 lvx 0, 0, 6 392 addis 6, 2, .LCPI0_10@toc@ha 393 vcmpequh 0, 0, 17 394 vadduwm 19, 16, 8 395 xxlxor 40, 51, 41 396 xxsel 45, 39, 45, 32 397 vrlw 31, 8, 3 398 lvx 8, 0, 4 399 addis 4, 2, .LCPI0_11@toc@ha 400 addi 4, 4, .LCPI0_11@toc@l 401 vcmpequh 7, 8, 17 402 vadduwm 8, 15, 13 403 vadduwm 15, 31, 8 404 lvx 8, 0, 4 405 addi 4, 6, .LCPI0_10@toc@l 406 lvx 17, 0, 4 407 addis 4, 2, .LCPI0_12@toc@ha 408 xxlxor 41, 47, 48 409 xxsldwi 47, 47, 47, 1 410 addi 4, 4, .LCPI0_12@toc@l 411 xxlnor 48, 39, 39 412 vrlw 29, 9, 4 413 vperm 9, 16, 16, 8 414 xxland 48, 50, 39 415 vperm 17, 30, 12, 17 416 vperm 16, 16, 16, 8 417 vmrghw 12, 12, 10 418 lvx 10, 0, 4 419 addis 4, 2, .LCPI0_13@toc@ha 420 vadduwm 19, 29, 19 421 addi 4, 4, .LCPI0_13@toc@l 422 xxlxor 63, 51, 63 423 xxsldwi 51, 51, 51, 3 424 xxland 0, 49, 41 425 vrlw 17, 31, 5 426 xxlor 48, 0, 48 427 xxswapd 0, 61 428 vperm 18, 12, 18, 10 429 vadduwm 15, 15, 16 430 xxland 60, 48, 39 431 vadduwm 15, 17, 15 432 vperm 28, 28, 28, 8 433 xxlxor 63, 47, 0 434 vadduwm 15, 15, 18 435 vperm 31, 31, 31, 2 436 vperm 30, 18, 16, 6 437 vadduwm 19, 31, 19 438 xxlxor 44, 51, 49 439 vrlw 12, 12, 3 440 vadduwm 15, 12, 15 441 xxlxor 49, 47, 63 442 vperm 31, 13, 14, 11 443 vrlw 17, 17, 4 444 vperm 14, 14, 14, 1 445 vadduwm 15, 15, 31 446 vadduwm 19, 17, 19 447 xxswapd 0, 49 448 xxsldwi 47, 47, 47, 3 449 xxsel 46, 46, 62, 32 450 xxlxor 44, 51, 44 451 xxsldwi 51, 51, 51, 1 452 vrlw 12, 12, 5 453 vadduwm 15, 12, 15 454 xxlxor 49, 47, 0 455 vperm 17, 17, 17, 2 456 vadduwm 19, 17, 19 457 xxlxor 44, 51, 44 458 vrlw 29, 12, 3 459 vadduwm 12, 15, 14 460 vadduwm 15, 29, 12 461 lvx 12, 0, 4 462 addis 4, 2, .LCPI0_14@toc@ha 463 addi 4, 4, .LCPI0_14@toc@l 464 xxlxor 49, 47, 49 465 xxsldwi 47, 47, 47, 1 466 vperm 30, 13, 18, 12 467 vrlw 17, 17, 4 468 vmrghw 13, 18, 13 469 xxland 0, 62, 41 470 vadduwm 19, 17, 19 471 vperm 16, 13, 16, 10 472 xxlxor 61, 51, 61 473 xxsldwi 50, 51, 51, 3 474 xxsldwi 51, 63, 63, 3 475 vrlw 30, 29, 5 476 xxlor 61, 60, 0 477 xxswapd 0, 49 478 vperm 31, 14, 19, 11 479 vadduwm 15, 15, 29 480 vperm 19, 19, 19, 1 481 vadduwm 15, 30, 15 482 xxlxor 49, 47, 0 483 vadduwm 15, 15, 16 484 vperm 17, 17, 17, 2 485 vadduwm 18, 17, 18 486 xxlxor 45, 50, 62 487 vperm 30, 16, 29, 6 488 vrlw 13, 13, 3 489 vadduwm 15, 13, 15 490 xxlxor 49, 47, 49 491 vadduwm 15, 15, 31 492 xxsldwi 63, 63, 63, 3 493 vrlw 17, 17, 4 494 xxsldwi 47, 47, 47, 3 495 vadduwm 18, 17, 18 496 xxswapd 0, 49 497 xxlxor 45, 50, 45 498 xxsldwi 50, 50, 50, 1 499 vrlw 13, 13, 5 500 vadduwm 15, 13, 15 501 xxlxor 49, 47, 0 502 vperm 17, 17, 17, 2 503 vadduwm 18, 17, 18 504 xxlxor 45, 50, 45 505 vrlw 28, 13, 3 506 xxsel 45, 51, 62, 32 507 xxland 51, 61, 39 508 vperm 30, 14, 16, 12 509 vadduwm 15, 15, 13 510 vperm 19, 19, 19, 8 511 vmrghw 14, 16, 14 512 vadduwm 15, 28, 15 513 xxlxor 49, 47, 49 514 xxsldwi 47, 47, 47, 1 515 xxland 0, 62, 41 516 vrlw 17, 17, 4 517 xxlor 51, 51, 0 518 vadduwm 15, 15, 19 519 vadduwm 18, 17, 18 520 xxswapd 0, 49 521 xxlxor 60, 50, 60 522 xxsldwi 48, 50, 50, 3 523 vperm 18, 14, 29, 10 524 vrlw 30, 28, 5 525 vperm 29, 18, 19, 6 526 vadduwm 15, 30, 15 527 xxlxor 49, 47, 0 528 vadduwm 15, 15, 18 529 vperm 17, 17, 17, 2 530 vadduwm 16, 17, 16 531 xxlxor 46, 48, 62 532 vperm 30, 13, 31, 11 533 vrlw 14, 14, 3 534 vperm 31, 31, 31, 1 535 vadduwm 15, 14, 15 536 xxlxor 49, 47, 49 537 vadduwm 15, 15, 30 538 vrlw 17, 17, 4 539 xxsldwi 47, 47, 47, 3 540 vadduwm 16, 17, 16 541 xxswapd 0, 49 542 xxlxor 46, 48, 46 543 xxsldwi 48, 48, 48, 1 544 vrlw 14, 14, 5 545 vadduwm 15, 14, 15 546 xxlxor 49, 47, 0 547 vperm 17, 17, 17, 2 548 vadduwm 16, 17, 16 549 xxlxor 46, 48, 46 550 vrlw 28, 14, 3 551 xxsel 46, 63, 61, 32 552 xxland 63, 51, 39 553 vperm 29, 13, 18, 12 554 vadduwm 15, 15, 14 555 vperm 31, 31, 31, 8 556 vmrghw 13, 18, 13 557 vadduwm 15, 28, 15 558 xxlxor 49, 47, 49 559 xxsldwi 47, 47, 47, 1 560 xxland 0, 61, 41 561 vrlw 17, 17, 4 562 xxlor 63, 63, 0 563 vperm 13, 13, 19, 10 564 xxsldwi 51, 62, 62, 3 565 vadduwm 15, 15, 31 566 vperm 30, 14, 19, 11 567 vadduwm 16, 17, 16 568 xxswapd 0, 49 569 xxlxor 60, 48, 60 570 xxsldwi 48, 48, 48, 3 571 vrlw 29, 28, 5 572 vadduwm 15, 29, 15 573 xxlxor 49, 47, 0 574 vadduwm 15, 15, 13 575 vperm 17, 17, 17, 2 576 vadduwm 16, 17, 16 577 xxlxor 50, 48, 61 578 vrlw 18, 18, 3 579 vadduwm 15, 18, 15 580 xxlxor 49, 47, 49 581 vadduwm 15, 15, 30 582 vrlw 17, 17, 4 583 xxsldwi 47, 47, 47, 3 584 vadduwm 11, 17, 16 585 xxswapd 0, 49 586 xxlxor 48, 43, 50 587 xxsldwi 43, 43, 43, 1 588 vperm 18, 19, 19, 1 589 vrlw 16, 16, 5 590 vperm 19, 13, 31, 6 591 vadduwm 15, 16, 15 592 xxlxor 49, 47, 0 593 vperm 17, 17, 17, 2 594 vadduwm 29, 17, 11 595 xxlxor 43, 61, 48 596 vrlw 16, 11, 3 597 xxsel 43, 50, 51, 32 598 xxland 50, 63, 39 599 vperm 19, 14, 13, 12 600 vadduwm 15, 15, 11 601 vperm 18, 18, 18, 8 602 vmrghw 13, 13, 14 603 vadduwm 15, 16, 15 604 xxlxor 49, 47, 49 605 xxsldwi 47, 47, 47, 1 606 xxland 0, 51, 41 607 lvx 19, 0, 4 608 vrlw 17, 17, 4 609 xxlor 50, 50, 0 610 vperm 13, 13, 31, 10 611 xxsldwi 63, 62, 62, 3 612 vadduwm 15, 15, 18 613 vperm 19, 11, 31, 19 614 vadduwm 29, 17, 29 615 xxswapd 0, 49 616 vperm 1, 31, 31, 1 617 xxlxor 48, 61, 48 618 xxsldwi 46, 61, 61, 3 619 vperm 6, 13, 18, 6 620 vrlw 16, 16, 5 621 xxsel 32, 33, 38, 32 622 xxland 38, 50, 39 623 vadduwm 15, 16, 15 624 vperm 7, 11, 13, 12 625 xxlxor 49, 47, 0 626 vadduwm 15, 15, 13 627 vperm 17, 17, 17, 2 628 vperm 6, 6, 6, 8 629 vadduwm 14, 17, 14 630 xxlxor 48, 46, 48 631 vrlw 16, 16, 3 632 vadduwm 15, 16, 15 633 xxlxor 49, 47, 49 634 xxsldwi 47, 47, 47, 3 635 vrlw 17, 17, 4 636 vadduwm 15, 15, 19 637 vadduwm 14, 17, 14 638 xxswapd 0, 49 639 xxlxor 48, 46, 48 640 xxsldwi 46, 46, 46, 1 641 vrlw 16, 16, 5 642 vadduwm 15, 16, 15 643 xxlxor 49, 47, 0 644 vadduwm 0, 15, 0 645 vperm 17, 17, 17, 2 646 xxland 0, 39, 41 647 xxlor 38, 38, 0 648 vadduwm 14, 17, 14 649 xxlxor 48, 46, 48 650 vrlw 16, 16, 3 651 vadduwm 0, 16, 0 652 xxlxor 33, 32, 49 653 xxsldwi 32, 32, 32, 1 654 vrlw 1, 1, 4 655 vadduwm 0, 0, 6 656 vadduwm 8, 1, 14 657 xxswapd 0, 33 658 xxlxor 44, 40, 48 659 xxsldwi 38, 40, 40, 3 660 vrlw 7, 12, 5 661 vadduwm 0, 7, 0 662 xxlxor 33, 32, 0 663 vperm 2, 1, 1, 2 664 vmrghw 1, 13, 11 665 vadduwm 6, 2, 6 666 vperm 1, 1, 18, 10 667 xxlxor 39, 38, 39 668 vrlw 3, 7, 3 669 vadduwm 0, 0, 1 670 vadduwm 0, 3, 0 671 xxlxor 34, 32, 34 672 xxsldwi 0, 32, 32, 3 673 vrlw 2, 2, 4 674 vadduwm 4, 2, 6 675 xxswapd 2, 34 676 xxlxor 35, 36, 35 677 xxsldwi 1, 36, 36, 1 678 vrlw 3, 3, 5 679 xxlxor 0, 1, 0 680 xxswapd 0, 0 681 xxlxor 1, 35, 2 682 stxvd2x 0, 0, 3 683 xxswapd 1, 1 684 stxvd2x 1, 3, 5 685 li 3, -16 686 lxvd2x 63, 1, 3 687 li 3, -32 688 lxvd2x 62, 1, 3 689 li 3, -48 690 lxvd2x 61, 1, 3 691 li 3, -64 692 lxvd2x 60, 1, 3 693 blr 694 .long 0 695 .quad 0 696.Lfunc_end0: 697 .size zfs_blake3_compress_in_place_sse2, .Lfunc_end0-.Lfunc_begin0 698 .cfi_endproc 699 700 .section .rodata.cst16,"aM",@progbits,16 701 .p2align 4 702.LCPI1_0: 703 .byte 29 704 .byte 28 705 .byte 31 706 .byte 30 707 .byte 25 708 .byte 24 709 .byte 27 710 .byte 26 711 .byte 21 712 .byte 20 713 .byte 23 714 .byte 22 715 .byte 17 716 .byte 16 717 .byte 19 718 .byte 18 719.LCPI1_1: 720 .long 1779033703 721 .long 3144134277 722 .long 1013904242 723 .long 2773480762 724.LCPI1_2: 725 .byte 27 726 .byte 26 727 .byte 25 728 .byte 24 729 .byte 19 730 .byte 18 731 .byte 17 732 .byte 16 733 .byte 11 734 .byte 10 735 .byte 9 736 .byte 8 737 .byte 3 738 .byte 2 739 .byte 1 740 .byte 0 741.LCPI1_3: 742 .byte 19 743 .byte 18 744 .byte 17 745 .byte 16 746 .byte 11 747 .byte 10 748 .byte 9 749 .byte 8 750 .byte 3 751 .byte 2 752 .byte 1 753 .byte 0 754 .byte 27 755 .byte 26 756 .byte 25 757 .byte 24 758.LCPI1_4: 759 .byte 23 760 .byte 22 761 .byte 21 762 .byte 20 763 .byte 27 764 .byte 26 765 .byte 25 766 .byte 24 767 .byte 11 768 .byte 10 769 .byte 9 770 .byte 8 771 .byte 3 772 .byte 2 773 .byte 1 774 .byte 0 775.LCPI1_5: 776 .byte 23 777 .byte 22 778 .byte 21 779 .byte 20 780 .byte 23 781 .byte 22 782 .byte 21 783 .byte 20 784 .byte 3 785 .byte 2 786 .byte 1 787 .byte 0 788 .byte 3 789 .byte 2 790 .byte 1 791 .byte 0 792.LCPI1_6: 793 .short 1 794 .short 2 795 .short 4 796 .short 8 797 .short 16 798 .short 32 799 .short 64 800 .short 128 801.LCPI1_7: 802 .short 0 803 .short 0 804 .short 4 805 .short 8 806 .short 0 807 .short 0 808 .short 64 809 .short 128 810.LCPI1_8: 811 .byte 19 812 .byte 18 813 .byte 17 814 .byte 16 815 .byte 19 816 .byte 18 817 .byte 17 818 .byte 16 819 .byte 31 820 .byte 30 821 .byte 29 822 .byte 28 823 .byte 31 824 .byte 30 825 .byte 29 826 .byte 28 827.LCPI1_9: 828 .short 0 829 .short 0 830 .short 0 831 .short 0 832 .short 0 833 .short 0 834 .short 64 835 .short 128 836.LCPI1_10: 837 .byte 31 838 .byte 30 839 .byte 29 840 .byte 28 841 .byte 7 842 .byte 6 843 .byte 5 844 .byte 4 845 .byte 3 846 .byte 2 847 .byte 1 848 .byte 0 849 .byte 27 850 .byte 26 851 .byte 25 852 .byte 24 853.LCPI1_11: 854 .byte 31 855 .byte 30 856 .byte 29 857 .byte 28 858 .byte 23 859 .byte 22 860 .byte 21 861 .byte 20 862 .byte 19 863 .byte 18 864 .byte 17 865 .byte 16 866 .byte 27 867 .byte 26 868 .byte 25 869 .byte 24 870.LCPI1_12: 871 .byte 27 872 .byte 26 873 .byte 25 874 .byte 24 875 .byte 11 876 .byte 10 877 .byte 9 878 .byte 8 879 .byte 15 880 .byte 14 881 .byte 13 882 .byte 12 883 .byte 31 884 .byte 30 885 .byte 29 886 .byte 28 887.LCPI1_13: 888 .byte 31 889 .byte 30 890 .byte 29 891 .byte 28 892 .byte 15 893 .byte 14 894 .byte 13 895 .byte 12 896 .byte 11 897 .byte 10 898 .byte 9 899 .byte 8 900 .byte 27 901 .byte 26 902 .byte 25 903 .byte 24 904.LCPI1_14: 905 .byte 27 906 .byte 26 907 .byte 25 908 .byte 24 909 .byte 11 910 .byte 10 911 .byte 9 912 .byte 8 913 .byte 3 914 .byte 2 915 .byte 1 916 .byte 0 917 .byte 23 918 .byte 22 919 .byte 21 920 .byte 20 921 .text 922 .globl zfs_blake3_compress_xof_sse2 923 .p2align 2 924 .type zfs_blake3_compress_xof_sse2,@function 925zfs_blake3_compress_xof_sse2: 926.Lfunc_begin1: 927 .cfi_startproc 928.Lfunc_gep1: 929 addis 2, 12, .TOC.-.Lfunc_gep1@ha 930 addi 2, 2, .TOC.-.Lfunc_gep1@l 931.Lfunc_lep1: 932 .localentry zfs_blake3_compress_xof_sse2, .Lfunc_lep1-.Lfunc_gep1 933 li 9, -80 934 mtvsrd 35, 5 935 li 5, 16 936 lfdx 0, 0, 4 937 addis 10, 2, .LCPI1_2@toc@ha 938 vspltisw 12, 9 939 std 30, -16(1) 940 addis 12, 2, .LCPI1_8@toc@ha 941 addis 30, 2, .LCPI1_5@toc@ha 942 addis 11, 2, .LCPI1_7@toc@ha 943 stxvd2x 60, 1, 9 944 li 9, -64 945 mtvsrd 36, 7 946 lfd 2, 16(4) 947 addi 10, 10, .LCPI1_2@toc@l 948 addi 12, 12, .LCPI1_8@toc@l 949 addi 11, 11, .LCPI1_7@toc@l 950 stxvd2x 61, 1, 9 951 li 9, -48 952 lfd 3, 24(4) 953 mtvsrwz 37, 6 954 rldicl 6, 6, 32, 32 955 lvx 9, 0, 10 956 stxvd2x 62, 1, 9 957 li 9, -32 958 li 10, 32 959 stxvd2x 63, 1, 9 960 li 9, 0 961 mtvsrd 34, 9 962 xxmrghd 33, 3, 2 963 lfd 1, 8(4) 964 vmrghb 3, 2, 3 965 vmrghb 4, 2, 4 966 vspltb 2, 2, 7 967 xxmrghd 32, 1, 0 968 lxvd2x 0, 0, 3 969 lxvd2x 1, 3, 5 970 vpkudum 7, 1, 0 971 vmrglh 3, 2, 3 972 vmrglh 2, 2, 4 973 mtvsrwz 36, 6 974 addis 6, 2, .LCPI1_0@toc@ha 975 addi 6, 6, .LCPI1_0@toc@l 976 vperm 10, 1, 0, 9 977 vmrghw 4, 4, 5 978 xxswapd 37, 1 979 vmrglw 2, 2, 3 980 xxswapd 35, 0 981 lxvd2x 0, 4, 10 982 xxspltd 62, 42, 1 983 vadduwm 3, 7, 3 984 vadduwm 6, 3, 5 985 xxmrgld 36, 34, 36 986 lvx 2, 0, 6 987 addis 6, 2, .LCPI1_1@toc@ha 988 addi 6, 6, .LCPI1_1@toc@l 989 xxlxor 35, 38, 36 990 lvx 4, 0, 6 991 li 6, 48 992 lxvd2x 1, 4, 6 993 addis 4, 2, .LCPI1_3@toc@ha 994 vperm 8, 3, 3, 2 995 vspltisw 3, 10 996 addi 4, 4, .LCPI1_3@toc@l 997 xxswapd 41, 1 998 vadduwm 3, 3, 3 999 vadduwm 11, 8, 4 1000 xxlxor 36, 43, 37 1001 vadduwm 5, 6, 10 1002 vrlw 0, 4, 3 1003 vspltisw 4, 12 1004 vadduwm 4, 4, 4 1005 vadduwm 1, 0, 5 1006 xxlxor 37, 33, 40 1007 xxswapd 40, 0 1008 vrlw 6, 5, 4 1009 vspltisw 5, -16 1010 vpkudum 13, 9, 8 1011 vsubuwm 5, 12, 5 1012 lvx 12, 0, 4 1013 addis 4, 2, .LCPI1_4@toc@ha 1014 addi 4, 4, .LCPI1_4@toc@l 1015 vadduwm 11, 6, 11 1016 xxswapd 0, 38 1017 vadduwm 1, 1, 13 1018 xxsldwi 50, 45, 45, 1 1019 xxlxor 32, 43, 32 1020 xxsldwi 43, 43, 43, 3 1021 xxsldwi 33, 33, 33, 1 1022 vperm 12, 8, 9, 12 1023 vrlw 0, 0, 5 1024 vadduwm 1, 0, 1 1025 xxlxor 38, 33, 0 1026 vadduwm 1, 1, 12 1027 vperm 6, 6, 6, 2 1028 vadduwm 15, 6, 11 1029 lvx 11, 0, 4 1030 addis 4, 2, .LCPI1_6@toc@ha 1031 addi 4, 4, .LCPI1_6@toc@l 1032 xxlxor 32, 47, 32 1033 lvx 17, 0, 4 1034 addi 4, 30, .LCPI1_5@toc@l 1035 vperm 14, 10, 7, 11 1036 vrlw 0, 0, 3 1037 vadduwm 1, 0, 1 1038 xxlxor 38, 33, 38 1039 vrlw 6, 6, 4 1040 vadduwm 8, 6, 15 1041 xxswapd 0, 38 1042 lvx 6, 0, 4 1043 addis 4, 2, .LCPI1_9@toc@ha 1044 addi 4, 4, .LCPI1_9@toc@l 1045 xxlxor 32, 40, 32 1046 xxsldwi 40, 40, 40, 1 1047 vperm 13, 12, 18, 6 1048 vrlw 9, 0, 5 1049 vadduwm 0, 1, 14 1050 lvx 1, 0, 12 1051 xxsldwi 46, 46, 46, 3 1052 xxsldwi 32, 32, 32, 3 1053 vperm 7, 7, 7, 1 1054 vadduwm 15, 9, 0 1055 xxlxor 32, 47, 0 1056 vperm 16, 0, 0, 2 1057 lvx 0, 0, 11 1058 addis 11, 2, .LCPI1_10@toc@ha 1059 vcmpequh 0, 0, 17 1060 vadduwm 19, 16, 8 1061 xxlxor 40, 51, 41 1062 xxsel 45, 39, 45, 32 1063 vrlw 31, 8, 3 1064 lvx 8, 0, 4 1065 addis 4, 2, .LCPI1_11@toc@ha 1066 addi 4, 4, .LCPI1_11@toc@l 1067 vcmpequh 7, 8, 17 1068 vadduwm 8, 15, 13 1069 vadduwm 15, 31, 8 1070 lvx 8, 0, 4 1071 addi 4, 11, .LCPI1_10@toc@l 1072 lvx 17, 0, 4 1073 addis 4, 2, .LCPI1_12@toc@ha 1074 xxlxor 41, 47, 48 1075 xxsldwi 47, 47, 47, 1 1076 addi 4, 4, .LCPI1_12@toc@l 1077 xxlnor 48, 39, 39 1078 vrlw 29, 9, 4 1079 vperm 9, 16, 16, 8 1080 xxland 48, 50, 39 1081 vperm 17, 30, 12, 17 1082 vperm 16, 16, 16, 8 1083 vmrghw 12, 12, 10 1084 lvx 10, 0, 4 1085 addis 4, 2, .LCPI1_13@toc@ha 1086 vadduwm 19, 29, 19 1087 addi 4, 4, .LCPI1_13@toc@l 1088 xxlxor 63, 51, 63 1089 xxsldwi 51, 51, 51, 3 1090 xxland 0, 49, 41 1091 vrlw 17, 31, 5 1092 xxlor 48, 0, 48 1093 xxswapd 0, 61 1094 vperm 18, 12, 18, 10 1095 vadduwm 15, 15, 16 1096 xxland 60, 48, 39 1097 vadduwm 15, 17, 15 1098 vperm 28, 28, 28, 8 1099 xxlxor 63, 47, 0 1100 vadduwm 15, 15, 18 1101 vperm 31, 31, 31, 2 1102 vperm 30, 18, 16, 6 1103 vadduwm 19, 31, 19 1104 xxlxor 44, 51, 49 1105 vrlw 12, 12, 3 1106 vadduwm 15, 12, 15 1107 xxlxor 49, 47, 63 1108 vperm 31, 13, 14, 11 1109 vrlw 17, 17, 4 1110 vperm 14, 14, 14, 1 1111 vadduwm 15, 15, 31 1112 vadduwm 19, 17, 19 1113 xxswapd 0, 49 1114 xxsldwi 47, 47, 47, 3 1115 xxsel 46, 46, 62, 32 1116 xxlxor 44, 51, 44 1117 xxsldwi 51, 51, 51, 1 1118 vrlw 12, 12, 5 1119 vadduwm 15, 12, 15 1120 xxlxor 49, 47, 0 1121 vperm 17, 17, 17, 2 1122 vadduwm 19, 17, 19 1123 xxlxor 44, 51, 44 1124 vrlw 29, 12, 3 1125 vadduwm 12, 15, 14 1126 vadduwm 15, 29, 12 1127 lvx 12, 0, 4 1128 addis 4, 2, .LCPI1_14@toc@ha 1129 addi 4, 4, .LCPI1_14@toc@l 1130 xxlxor 49, 47, 49 1131 xxsldwi 47, 47, 47, 1 1132 vperm 30, 13, 18, 12 1133 vrlw 17, 17, 4 1134 vmrghw 13, 18, 13 1135 xxland 0, 62, 41 1136 vadduwm 19, 17, 19 1137 vperm 16, 13, 16, 10 1138 xxlxor 61, 51, 61 1139 xxsldwi 50, 51, 51, 3 1140 xxsldwi 51, 63, 63, 3 1141 vrlw 30, 29, 5 1142 xxlor 61, 60, 0 1143 xxswapd 0, 49 1144 vperm 31, 14, 19, 11 1145 vadduwm 15, 15, 29 1146 vperm 19, 19, 19, 1 1147 vadduwm 15, 30, 15 1148 xxlxor 49, 47, 0 1149 vadduwm 15, 15, 16 1150 vperm 17, 17, 17, 2 1151 vadduwm 18, 17, 18 1152 xxlxor 45, 50, 62 1153 vperm 30, 16, 29, 6 1154 vrlw 13, 13, 3 1155 vadduwm 15, 13, 15 1156 xxlxor 49, 47, 49 1157 vadduwm 15, 15, 31 1158 xxsldwi 63, 63, 63, 3 1159 vrlw 17, 17, 4 1160 xxsldwi 47, 47, 47, 3 1161 vadduwm 18, 17, 18 1162 xxswapd 0, 49 1163 xxlxor 45, 50, 45 1164 xxsldwi 50, 50, 50, 1 1165 vrlw 13, 13, 5 1166 vadduwm 15, 13, 15 1167 xxlxor 49, 47, 0 1168 vperm 17, 17, 17, 2 1169 vadduwm 18, 17, 18 1170 xxlxor 45, 50, 45 1171 vrlw 28, 13, 3 1172 xxsel 45, 51, 62, 32 1173 xxland 51, 61, 39 1174 vperm 30, 14, 16, 12 1175 vadduwm 15, 15, 13 1176 vperm 19, 19, 19, 8 1177 vmrghw 14, 16, 14 1178 vadduwm 15, 28, 15 1179 xxlxor 49, 47, 49 1180 xxsldwi 47, 47, 47, 1 1181 xxland 0, 62, 41 1182 vrlw 17, 17, 4 1183 xxlor 51, 51, 0 1184 vadduwm 15, 15, 19 1185 vadduwm 18, 17, 18 1186 xxswapd 0, 49 1187 xxlxor 60, 50, 60 1188 xxsldwi 48, 50, 50, 3 1189 vperm 18, 14, 29, 10 1190 vrlw 30, 28, 5 1191 vperm 29, 18, 19, 6 1192 vadduwm 15, 30, 15 1193 xxlxor 49, 47, 0 1194 vadduwm 15, 15, 18 1195 vperm 17, 17, 17, 2 1196 vadduwm 16, 17, 16 1197 xxlxor 46, 48, 62 1198 vperm 30, 13, 31, 11 1199 vrlw 14, 14, 3 1200 vperm 31, 31, 31, 1 1201 vadduwm 15, 14, 15 1202 xxlxor 49, 47, 49 1203 vadduwm 15, 15, 30 1204 vrlw 17, 17, 4 1205 xxsldwi 47, 47, 47, 3 1206 vadduwm 16, 17, 16 1207 xxswapd 0, 49 1208 xxlxor 46, 48, 46 1209 xxsldwi 48, 48, 48, 1 1210 vrlw 14, 14, 5 1211 vadduwm 15, 14, 15 1212 xxlxor 49, 47, 0 1213 vperm 17, 17, 17, 2 1214 vadduwm 16, 17, 16 1215 xxlxor 46, 48, 46 1216 vrlw 28, 14, 3 1217 xxsel 46, 63, 61, 32 1218 xxland 63, 51, 39 1219 vperm 29, 13, 18, 12 1220 vadduwm 15, 15, 14 1221 vperm 31, 31, 31, 8 1222 vmrghw 13, 18, 13 1223 vadduwm 15, 28, 15 1224 xxlxor 49, 47, 49 1225 xxsldwi 47, 47, 47, 1 1226 xxland 0, 61, 41 1227 vrlw 17, 17, 4 1228 xxlor 63, 63, 0 1229 vperm 13, 13, 19, 10 1230 xxsldwi 51, 62, 62, 3 1231 vadduwm 15, 15, 31 1232 vperm 30, 14, 19, 11 1233 vadduwm 16, 17, 16 1234 xxswapd 0, 49 1235 xxlxor 60, 48, 60 1236 xxsldwi 48, 48, 48, 3 1237 vrlw 29, 28, 5 1238 vadduwm 15, 29, 15 1239 xxlxor 49, 47, 0 1240 vadduwm 15, 15, 13 1241 vperm 17, 17, 17, 2 1242 vadduwm 16, 17, 16 1243 xxlxor 50, 48, 61 1244 vrlw 18, 18, 3 1245 vadduwm 15, 18, 15 1246 xxlxor 49, 47, 49 1247 vadduwm 15, 15, 30 1248 vrlw 17, 17, 4 1249 xxsldwi 47, 47, 47, 3 1250 vadduwm 11, 17, 16 1251 xxswapd 0, 49 1252 xxlxor 48, 43, 50 1253 xxsldwi 43, 43, 43, 1 1254 vperm 18, 19, 19, 1 1255 vrlw 16, 16, 5 1256 vperm 19, 13, 31, 6 1257 vadduwm 15, 16, 15 1258 xxlxor 49, 47, 0 1259 vperm 17, 17, 17, 2 1260 vadduwm 29, 17, 11 1261 xxlxor 43, 61, 48 1262 vrlw 16, 11, 3 1263 xxsel 43, 50, 51, 32 1264 xxland 50, 63, 39 1265 vperm 19, 14, 13, 12 1266 vadduwm 15, 15, 11 1267 vperm 18, 18, 18, 8 1268 vmrghw 13, 13, 14 1269 vadduwm 15, 16, 15 1270 xxlxor 49, 47, 49 1271 xxsldwi 47, 47, 47, 1 1272 xxland 0, 51, 41 1273 lvx 19, 0, 4 1274 vrlw 17, 17, 4 1275 xxlor 50, 50, 0 1276 vperm 13, 13, 31, 10 1277 xxsldwi 63, 62, 62, 3 1278 vadduwm 15, 15, 18 1279 vperm 19, 11, 31, 19 1280 vadduwm 29, 17, 29 1281 xxswapd 0, 49 1282 vperm 1, 31, 31, 1 1283 xxlxor 48, 61, 48 1284 xxsldwi 46, 61, 61, 3 1285 vperm 6, 13, 18, 6 1286 vrlw 16, 16, 5 1287 xxsel 32, 33, 38, 32 1288 xxland 38, 50, 39 1289 vadduwm 15, 16, 15 1290 vperm 7, 11, 13, 12 1291 xxlxor 49, 47, 0 1292 vadduwm 15, 15, 13 1293 vperm 17, 17, 17, 2 1294 vperm 6, 6, 6, 8 1295 vadduwm 14, 17, 14 1296 xxlxor 48, 46, 48 1297 vrlw 16, 16, 3 1298 vadduwm 15, 16, 15 1299 xxlxor 49, 47, 49 1300 xxsldwi 47, 47, 47, 3 1301 vrlw 17, 17, 4 1302 vadduwm 15, 15, 19 1303 vadduwm 14, 17, 14 1304 xxswapd 0, 49 1305 xxlxor 48, 46, 48 1306 xxsldwi 46, 46, 46, 1 1307 vrlw 16, 16, 5 1308 vadduwm 15, 16, 15 1309 xxlxor 49, 47, 0 1310 vadduwm 0, 15, 0 1311 vperm 17, 17, 17, 2 1312 xxland 0, 39, 41 1313 xxlor 38, 38, 0 1314 vadduwm 14, 17, 14 1315 xxlxor 48, 46, 48 1316 vrlw 16, 16, 3 1317 vadduwm 0, 16, 0 1318 xxlxor 33, 32, 49 1319 xxsldwi 32, 32, 32, 1 1320 vrlw 1, 1, 4 1321 vadduwm 0, 0, 6 1322 vadduwm 8, 1, 14 1323 xxswapd 0, 33 1324 xxlxor 44, 40, 48 1325 xxsldwi 38, 40, 40, 3 1326 vrlw 7, 12, 5 1327 vadduwm 0, 7, 0 1328 xxlxor 33, 32, 0 1329 vperm 2, 1, 1, 2 1330 vmrghw 1, 13, 11 1331 vadduwm 6, 2, 6 1332 vperm 1, 1, 18, 10 1333 xxlxor 39, 38, 39 1334 vrlw 3, 7, 3 1335 vadduwm 0, 0, 1 1336 vadduwm 0, 3, 0 1337 xxlxor 34, 32, 34 1338 xxsldwi 0, 32, 32, 3 1339 vrlw 2, 2, 4 1340 vadduwm 4, 2, 6 1341 xxswapd 2, 34 1342 xxlxor 35, 36, 35 1343 xxsldwi 1, 36, 36, 1 1344 vrlw 3, 3, 5 1345 xxlxor 0, 1, 0 1346 xxswapd 0, 0 1347 xxlxor 3, 35, 2 1348 stxvd2x 0, 0, 8 1349 xxswapd 3, 3 1350 stxvd2x 3, 8, 5 1351 lfdx 0, 0, 3 1352 lfd 3, 8(3) 1353 xxmrghd 34, 3, 0 1354 xxlxor 0, 1, 34 1355 xxswapd 0, 0 1356 stxvd2x 0, 8, 10 1357 lfd 0, 16(3) 1358 lfd 1, 24(3) 1359 li 3, -32 1360 xxmrghd 34, 1, 0 1361 xxlxor 0, 2, 34 1362 xxswapd 0, 0 1363 stxvd2x 0, 8, 6 1364 lxvd2x 63, 1, 3 1365 li 3, -48 1366 ld 30, -16(1) 1367 lxvd2x 62, 1, 3 1368 li 3, -64 1369 lxvd2x 61, 1, 3 1370 li 3, -80 1371 lxvd2x 60, 1, 3 1372 blr 1373 .long 0 1374 .quad 0 1375.Lfunc_end1: 1376 .size zfs_blake3_compress_xof_sse2, .Lfunc_end1-.Lfunc_begin1 1377 .cfi_endproc 1378 1379 .globl zfs_blake3_hash_many_sse2 1380 .p2align 2 1381 .type zfs_blake3_hash_many_sse2,@function 1382zfs_blake3_hash_many_sse2: 1383.Lfunc_begin2: 1384 .cfi_startproc 1385.Lfunc_gep2: 1386 addis 2, 12, .TOC.-.Lfunc_gep2@ha 1387 addi 2, 2, .TOC.-.Lfunc_gep2@l 1388.Lfunc_lep2: 1389 .localentry zfs_blake3_hash_many_sse2, .Lfunc_lep2-.Lfunc_gep2 1390 mfocrf 12, 32 1391 mflr 0 1392 std 0, 16(1) 1393 stw 12, 8(1) 1394 stdu 1, -256(1) 1395 .cfi_def_cfa_offset 256 1396 .cfi_offset lr, 16 1397 .cfi_offset r17, -120 1398 .cfi_offset r18, -112 1399 .cfi_offset r19, -104 1400 .cfi_offset r20, -96 1401 .cfi_offset r21, -88 1402 .cfi_offset r22, -80 1403 .cfi_offset r23, -72 1404 .cfi_offset r24, -64 1405 .cfi_offset r25, -56 1406 .cfi_offset r26, -48 1407 .cfi_offset r27, -40 1408 .cfi_offset r28, -32 1409 .cfi_offset r29, -24 1410 .cfi_offset r30, -16 1411 .cfi_offset cr2, 8 1412 std 26, 208(1) 1413 mr 26, 4 1414 cmpldi 1, 4, 4 1415 andi. 4, 8, 1 1416 std 18, 144(1) 1417 std 19, 152(1) 1418 crmove 8, 1 1419 ld 19, 360(1) 1420 lwz 18, 352(1) 1421 std 24, 192(1) 1422 std 25, 200(1) 1423 std 27, 216(1) 1424 std 28, 224(1) 1425 mr 24, 10 1426 mr 28, 6 1427 mr 27, 5 1428 mr 25, 3 1429 std 29, 232(1) 1430 std 30, 240(1) 1431 mr 30, 9 1432 mr 29, 7 1433 std 17, 136(1) 1434 std 20, 160(1) 1435 std 21, 168(1) 1436 std 22, 176(1) 1437 std 23, 184(1) 1438 blt 1, .LBB2_3 1439 li 3, 0 1440 li 4, 1 1441 clrldi 23, 30, 32 1442 isel 22, 4, 3, 8 1443 clrldi 21, 24, 32 1444 clrldi 20, 18, 32 1445.LBB2_2: 1446 mr 3, 25 1447 mr 4, 27 1448 mr 5, 28 1449 mr 6, 29 1450 mr 7, 22 1451 mr 8, 23 1452 mr 9, 21 1453 mr 10, 20 1454 std 19, 32(1) 1455 bl blake3_hash4_sse2 1456 addi 26, 26, -4 1457 addi 3, 29, 4 1458 addi 25, 25, 32 1459 addi 19, 19, 128 1460 cmpldi 26, 3 1461 isel 29, 3, 29, 8 1462 bgt 0, .LBB2_2 1463.LBB2_3: 1464 cmpldi 26, 0 1465 beq 0, .LBB2_11 1466 li 3, 0 1467 li 4, 1 1468 or 21, 24, 30 1469 li 20, 16 1470 addi 24, 1, 96 1471 isel 22, 4, 3, 8 1472.LBB2_5: 1473 lxvd2x 0, 28, 20 1474 ld 23, 0(25) 1475 mr 17, 27 1476 mr 3, 21 1477 stxvd2x 0, 24, 20 1478 lxvd2x 0, 0, 28 1479 stxvd2x 0, 0, 24 1480.LBB2_6: 1481 cmpldi 17, 1 1482 beq 0, .LBB2_8 1483 cmpldi 17, 0 1484 bne 0, .LBB2_9 1485 b .LBB2_10 1486.LBB2_8: 1487 or 3, 3, 18 1488.LBB2_9: 1489 clrldi 7, 3, 56 1490 mr 3, 24 1491 mr 4, 23 1492 li 5, 64 1493 mr 6, 29 1494 bl zfs_blake3_compress_in_place_sse2 1495 addi 23, 23, 64 1496 addi 17, 17, -1 1497 mr 3, 30 1498 b .LBB2_6 1499.LBB2_10: 1500 lxvd2x 0, 24, 20 1501 addi 26, 26, -1 1502 add 29, 29, 22 1503 addi 25, 25, 8 1504 cmpldi 26, 0 1505 stxvd2x 0, 19, 20 1506 lxvd2x 0, 0, 24 1507 stxvd2x 0, 0, 19 1508 addi 19, 19, 32 1509 bne 0, .LBB2_5 1510.LBB2_11: 1511 ld 30, 240(1) 1512 ld 29, 232(1) 1513 ld 28, 224(1) 1514 ld 27, 216(1) 1515 ld 26, 208(1) 1516 ld 25, 200(1) 1517 ld 24, 192(1) 1518 ld 23, 184(1) 1519 ld 22, 176(1) 1520 ld 21, 168(1) 1521 ld 20, 160(1) 1522 ld 19, 152(1) 1523 ld 18, 144(1) 1524 ld 17, 136(1) 1525 addi 1, 1, 256 1526 ld 0, 16(1) 1527 lwz 12, 8(1) 1528 mtocrf 32, 12 1529 mtlr 0 1530 blr 1531 .long 0 1532 .quad 0 1533.Lfunc_end2: 1534 .size zfs_blake3_hash_many_sse2, .Lfunc_end2-.Lfunc_begin2 1535 .cfi_endproc 1536 1537 .section .rodata.cst16,"aM",@progbits,16 1538 .p2align 4 1539.LCPI3_0: 1540 .quad 4294967296 1541 .quad 12884901890 1542.LCPI3_1: 1543 .byte 29 1544 .byte 28 1545 .byte 31 1546 .byte 30 1547 .byte 25 1548 .byte 24 1549 .byte 27 1550 .byte 26 1551 .byte 21 1552 .byte 20 1553 .byte 23 1554 .byte 22 1555 .byte 17 1556 .byte 16 1557 .byte 19 1558 .byte 18 1559.LCPI3_2: 1560 .long 1779033703 1561 .long 1779033703 1562 .long 1779033703 1563 .long 1779033703 1564.LCPI3_3: 1565 .long 3144134277 1566 .long 3144134277 1567 .long 3144134277 1568 .long 3144134277 1569.LCPI3_4: 1570 .long 1013904242 1571 .long 1013904242 1572 .long 1013904242 1573 .long 1013904242 1574.LCPI3_5: 1575 .long 2773480762 1576 .long 2773480762 1577 .long 2773480762 1578 .long 2773480762 1579 .text 1580 .p2align 2 1581 .type blake3_hash4_sse2,@function 1582blake3_hash4_sse2: 1583.Lfunc_begin3: 1584 .cfi_startproc 1585.Lfunc_gep3: 1586 addis 2, 12, .TOC.-.Lfunc_gep3@ha 1587 addi 2, 2, .TOC.-.Lfunc_gep3@l 1588.Lfunc_lep3: 1589 .localentry blake3_hash4_sse2, .Lfunc_lep3-.Lfunc_gep3 1590 stdu 1, -400(1) 1591 .cfi_def_cfa_offset 400 1592 .cfi_offset r22, -152 1593 .cfi_offset r23, -144 1594 .cfi_offset r24, -136 1595 .cfi_offset r25, -128 1596 .cfi_offset r26, -120 1597 .cfi_offset r27, -112 1598 .cfi_offset r28, -104 1599 .cfi_offset r29, -96 1600 .cfi_offset r30, -88 1601 .cfi_offset f23, -72 1602 .cfi_offset f24, -64 1603 .cfi_offset f25, -56 1604 .cfi_offset f26, -48 1605 .cfi_offset f27, -40 1606 .cfi_offset f28, -32 1607 .cfi_offset f29, -24 1608 .cfi_offset f30, -16 1609 .cfi_offset f31, -8 1610 .cfi_offset v20, -352 1611 .cfi_offset v21, -336 1612 .cfi_offset v22, -320 1613 .cfi_offset v23, -304 1614 .cfi_offset v24, -288 1615 .cfi_offset v25, -272 1616 .cfi_offset v26, -256 1617 .cfi_offset v27, -240 1618 .cfi_offset v28, -224 1619 .cfi_offset v29, -208 1620 .cfi_offset v30, -192 1621 .cfi_offset v31, -176 1622 li 11, 48 1623 li 0, 8 1624 std 30, 312(1) 1625 li 30, 12 1626 li 12, 4 1627 lfiwzx 0, 0, 5 1628 stxvd2x 52, 1, 11 1629 li 11, 64 1630 lfiwzx 2, 5, 0 1631 li 0, 20 1632 lfiwzx 3, 5, 30 1633 stxvd2x 53, 1, 11 1634 li 11, 80 1635 li 30, 24 1636 lfiwzx 4, 5, 0 1637 li 0, 28 1638 stxvd2x 54, 1, 11 1639 li 11, 96 1640 lfiwzx 1, 5, 12 1641 lfiwzx 6, 5, 30 1642 xxspltw 45, 0, 1 1643 cmpldi 4, 0 1644 std 22, 248(1) 1645 stxvd2x 55, 1, 11 1646 li 11, 112 1647 lfiwzx 7, 5, 0 1648 xxspltw 40, 2, 1 1649 std 23, 256(1) 1650 xxspltw 38, 3, 1 1651 xxspltw 50, 4, 1 1652 std 24, 264(1) 1653 std 25, 272(1) 1654 std 26, 280(1) 1655 xxspltw 54, 7, 1 1656 std 27, 288(1) 1657 std 28, 296(1) 1658 std 29, 304(1) 1659 stxvd2x 56, 1, 11 1660 li 11, 128 1661 stfd 23, 328(1) 1662 stxvd2x 57, 1, 11 1663 li 11, 144 1664 stfd 24, 336(1) 1665 stxvd2x 58, 1, 11 1666 li 11, 160 1667 stfd 25, 344(1) 1668 stxvd2x 59, 1, 11 1669 li 11, 176 1670 xxspltw 59, 1, 1 1671 stxvd2x 60, 1, 11 1672 li 11, 192 1673 stfd 26, 352(1) 1674 stxvd2x 61, 1, 11 1675 li 11, 208 1676 stfd 27, 360(1) 1677 stxvd2x 62, 1, 11 1678 li 11, 224 1679 xxspltw 62, 6, 1 1680 stxvd2x 63, 1, 11 1681 li 11, 16 1682 stfd 28, 368(1) 1683 lfiwzx 5, 5, 11 1684 ld 5, 432(1) 1685 stfd 29, 376(1) 1686 stfd 30, 384(1) 1687 stfd 31, 392(1) 1688 xxspltw 61, 5, 1 1689 beq 0, .LBB3_5 1690 addis 30, 2, .LCPI3_0@toc@ha 1691 neg 7, 7 1692 xxleqv 34, 34, 34 1693 addis 28, 2, .LCPI3_2@toc@ha 1694 addis 27, 2, .LCPI3_3@toc@ha 1695 addis 26, 2, .LCPI3_4@toc@ha 1696 addis 25, 2, .LCPI3_5@toc@ha 1697 ld 29, 24(3) 1698 addi 0, 30, .LCPI3_0@toc@l 1699 mtfprwz 1, 7 1700 addis 7, 2, .LCPI3_1@toc@ha 1701 ld 30, 16(3) 1702 lxvd2x 0, 0, 0 1703 mtfprwz 2, 6 1704 rldicl 6, 6, 32, 32 1705 addi 0, 7, .LCPI3_1@toc@l 1706 ld 7, 8(3) 1707 vslw 2, 2, 2 1708 lvx 5, 0, 0 1709 addi 0, 28, .LCPI3_2@toc@l 1710 addi 28, 27, .LCPI3_3@toc@l 1711 addi 27, 26, .LCPI3_4@toc@l 1712 addi 26, 25, .LCPI3_5@toc@l 1713 or 25, 9, 8 1714 li 9, 0 1715 xxspltw 36, 2, 1 1716 xxswapd 35, 0 1717 xxspltw 0, 1, 1 1718 xxland 35, 0, 35 1719 mtfprwz 0, 6 1720 ld 6, 0(3) 1721 addi 3, 3, -8 1722 vadduwm 4, 3, 4 1723 xxlor 35, 35, 34 1724 xxlxor 34, 36, 34 1725 xxlor 9, 36, 36 1726 vspltisw 4, 4 1727 vcmpgtsw 2, 3, 2 1728 xxspltw 35, 0, 1 1729 xxlor 10, 36, 36 1730 vsubuwm 2, 3, 2 1731 xxlor 11, 34, 34 1732 lvx 2, 0, 0 1733 li 0, 32 1734 xxlor 12, 34, 34 1735 lvx 2, 0, 28 1736 li 28, 48 1737 xxlor 13, 34, 34 1738 lvx 2, 0, 27 1739 li 27, 0 1740 xxlor 31, 34, 34 1741 lvx 2, 0, 26 1742 xxlor 30, 34, 34 1743.LBB3_2: 1744 mr 26, 27 1745 addi 27, 27, 1 1746 xxlor 28, 40, 40 1747 cmpld 27, 4 1748 sldi 26, 26, 6 1749 xxlor 24, 45, 45 1750 iseleq 24, 10, 9 1751 add 23, 6, 26 1752 add 22, 30, 26 1753 lxvd2x 0, 6, 26 1754 lxvd2x 1, 7, 26 1755 or 25, 24, 25 1756 add 24, 7, 26 1757 lxvd2x 2, 30, 26 1758 lxvd2x 3, 29, 26 1759 xxlor 29, 38, 38 1760 lxvd2x 4, 23, 11 1761 lxvd2x 6, 24, 11 1762 clrlwi 25, 25, 24 1763 lxvd2x 7, 22, 11 1764 lxvd2x 8, 23, 0 1765 mtfprd 5, 25 1766 add 25, 29, 26 1767 xxswapd 34, 0 1768 lxvd2x 0, 25, 11 1769 xxswapd 36, 1 1770 xxswapd 33, 2 1771 lxvd2x 1, 24, 0 1772 lxvd2x 2, 22, 0 1773 xxswapd 39, 3 1774 xxswapd 32, 4 1775 lxvd2x 3, 25, 0 1776 lxvd2x 4, 23, 28 1777 xxswapd 49, 6 1778 xxswapd 51, 7 1779 lxvd2x 6, 24, 28 1780 xxswapd 58, 8 1781 lxvd2x 7, 22, 28 1782 lxvd2x 8, 25, 28 1783 xxswapd 60, 0 1784 mr 25, 3 1785 xxswapd 57, 1 1786 xxswapd 53, 2 1787 xxswapd 52, 3 1788 xxswapd 56, 4 1789 xxswapd 55, 6 1790 xxswapd 0, 5 1791 xxswapd 40, 7 1792 xxswapd 41, 8 1793 mtctr 12 1794.LBB3_3: 1795 ldu 24, 8(25) 1796 add 24, 24, 26 1797 addi 24, 24, 256 1798 dcbt 0, 24 1799 bdnz .LBB3_3 1800 vmrgew 3, 4, 2 1801 vspltisw 31, 9 1802 mr 25, 8 1803 vmrglw 10, 4, 2 1804 vspltisw 14, 10 1805 vmrghw 6, 4, 2 1806 xxspltw 0, 0, 3 1807 vmrgew 4, 17, 0 1808 vmrglw 11, 17, 0 1809 vmrghw 16, 17, 0 1810 vmrgew 0, 25, 26 1811 vmrgew 13, 7, 1 1812 vmrglw 2, 7, 1 1813 vmrghw 7, 7, 1 1814 xxlor 25, 36, 36 1815 vmrgew 4, 28, 19 1816 xxlor 26, 32, 32 1817 vmrglw 0, 25, 26 1818 vmrglw 1, 28, 19 1819 xxmrgld 47, 34, 42 1820 xxlor 44, 28, 28 1821 vmrghw 25, 25, 26 1822 xxlor 23, 36, 36 1823 vmrghw 4, 28, 19 1824 vspltisw 19, -16 1825 xxlor 5, 32, 32 1826 vmrgew 0, 20, 21 1827 xxmrgld 34, 33, 43 1828 vmrglw 28, 20, 21 1829 vmrghw 21, 20, 21 1830 vmrglw 20, 23, 24 1831 vmrghw 26, 23, 24 1832 vmrglw 17, 9, 8 1833 xxlor 8, 32, 32 1834 vmrgew 0, 23, 24 1835 xxmrgld 56, 39, 38 1836 vmrgew 23, 9, 8 1837 xxlor 33, 24, 24 1838 xxlor 2, 34, 34 1839 vadduwm 11, 15, 1 1840 xxmrgld 33, 36, 48 1841 xxlor 6, 47, 47 1842 xxlor 27, 32, 32 1843 vmrghw 0, 9, 8 1844 vspltisw 9, 12 1845 vsubuwm 8, 31, 19 1846 xxmrgld 51, 23, 25 1847 vadduwm 31, 2, 12 1848 xxlor 34, 10, 10 1849 vadduwm 10, 14, 14 1850 vslw 15, 2, 2 1851 xxlor 34, 29, 29 1852 vadduwm 14, 24, 27 1853 xxlor 24, 48, 48 1854 vadduwm 16, 1, 2 1855 xxmrgld 34, 45, 35 1856 vadduwm 31, 31, 30 1857 xxmrghd 36, 36, 24 1858 vadduwm 11, 11, 29 1859 vadduwm 14, 14, 18 1860 vadduwm 13, 16, 22 1861 xxlxor 47, 63, 47 1862 xxlor 1, 9, 9 1863 xxlor 1, 11, 11 1864 xxlxor 48, 43, 9 1865 vadduwm 11, 11, 2 1866 xxlor 7, 34, 34 1867 xxmrghd 34, 39, 38 1868 xxlxor 39, 46, 11 1869 xxlor 1, 50, 50 1870 xxlxor 50, 45, 0 1871 vperm 15, 15, 15, 5 1872 vperm 16, 16, 16, 5 1873 vperm 7, 7, 7, 5 1874 vperm 18, 18, 18, 5 1875 xxlor 4, 33, 33 1876 xxlor 33, 31, 31 1877 vadduwm 14, 14, 2 1878 xxlor 3, 34, 34 1879 xxlor 34, 12, 12 1880 xxlor 35, 13, 13 1881 vadduwm 6, 15, 1 1882 xxlor 33, 30, 30 1883 vadduwm 2, 16, 2 1884 vadduwm 3, 7, 3 1885 vadduwm 12, 18, 1 1886 xxlxor 59, 34, 61 1887 xxlxor 61, 35, 1 1888 xxlxor 33, 38, 62 1889 xxlxor 62, 44, 54 1890 vrlw 22, 27, 10 1891 vrlw 29, 29, 10 1892 vrlw 1, 1, 10 1893 vrlw 30, 30, 10 1894 vadduwm 31, 31, 19 1895 vadduwm 13, 13, 4 1896 vadduwm 11, 22, 11 1897 vadduwm 14, 29, 14 1898 vadduwm 31, 1, 31 1899 vadduwm 13, 30, 13 1900 vadduwm 9, 9, 9 1901 xxlor 1, 36, 36 1902 xxlxor 48, 43, 48 1903 xxlxor 36, 46, 39 1904 xxmrgld 39, 60, 5 1905 xxlxor 47, 63, 47 1906 xxlxor 50, 45, 50 1907 vrlw 16, 16, 9 1908 vrlw 28, 4, 9 1909 xxmrgld 36, 53, 57 1910 vrlw 15, 15, 9 1911 xxmrghd 57, 53, 57 1912 vrlw 18, 18, 9 1913 vadduwm 14, 14, 4 1914 xxlor 0, 36, 36 1915 xxmrgld 36, 49, 52 1916 vadduwm 2, 16, 2 1917 xxmrgld 49, 8, 26 1918 vadduwm 3, 28, 3 1919 vadduwm 6, 15, 6 1920 vadduwm 12, 18, 12 1921 xxlxor 54, 34, 54 1922 xxlxor 61, 35, 61 1923 xxlxor 33, 38, 33 1924 xxlxor 62, 44, 62 1925 vrlw 29, 29, 8 1926 vrlw 20, 1, 8 1927 xxmrgld 33, 55, 27 1928 vrlw 30, 30, 8 1929 vrlw 22, 22, 8 1930 vadduwm 11, 11, 7 1931 xxlor 5, 39, 39 1932 xxmrgld 39, 32, 58 1933 vadduwm 31, 31, 4 1934 vadduwm 11, 29, 11 1935 vadduwm 13, 13, 7 1936 vadduwm 14, 20, 14 1937 vadduwm 31, 30, 31 1938 vadduwm 13, 22, 13 1939 xxlor 28, 36, 36 1940 xxlxor 50, 43, 50 1941 xxlxor 48, 46, 48 1942 xxlxor 36, 63, 60 1943 xxlxor 47, 45, 47 1944 vperm 18, 18, 18, 5 1945 vperm 16, 16, 16, 5 1946 vperm 4, 4, 4, 5 1947 vperm 15, 15, 15, 5 1948 vadduwm 11, 11, 17 1949 vmr 28, 17 1950 xxmrghd 49, 32, 58 1951 vadduwm 6, 18, 6 1952 vadduwm 12, 16, 12 1953 vadduwm 21, 4, 2 1954 vadduwm 3, 15, 3 1955 xxlxor 34, 38, 61 1956 xxlxor 61, 44, 52 1957 xxlxor 62, 53, 62 1958 xxlxor 54, 35, 54 1959 vrlw 20, 2, 10 1960 vrlw 29, 29, 10 1961 vrlw 0, 30, 10 1962 vrlw 30, 22, 10 1963 vadduwm 14, 14, 25 1964 vadduwm 31, 31, 1 1965 vadduwm 13, 13, 17 1966 vadduwm 11, 20, 11 1967 vadduwm 14, 29, 14 1968 vadduwm 31, 0, 31 1969 vadduwm 13, 30, 13 1970 xxlxor 50, 43, 50 1971 xxlxor 48, 46, 48 1972 xxlxor 36, 63, 36 1973 xxlxor 47, 45, 47 1974 vrlw 18, 18, 9 1975 vrlw 16, 16, 9 1976 vrlw 4, 4, 9 1977 vrlw 15, 15, 9 1978 vadduwm 11, 11, 24 1979 xxlor 8, 56, 56 1980 vadduwm 6, 18, 6 1981 vadduwm 12, 16, 12 1982 vadduwm 24, 4, 21 1983 vadduwm 3, 15, 3 1984 xxlxor 55, 38, 52 1985 xxlxor 61, 44, 61 1986 xxlxor 62, 35, 62 1987 xxlxor 32, 56, 32 1988 vrlw 30, 30, 8 1989 vrlw 23, 23, 8 1990 vrlw 29, 29, 8 1991 vrlw 0, 0, 8 1992 xxlor 25, 51, 51 1993 vmr 26, 17 1994 xxlor 49, 3, 3 1995 xxlor 52, 1, 1 1996 xxlor 51, 2, 2 1997 vadduwm 14, 14, 17 1998 vadduwm 31, 31, 20 1999 vadduwm 13, 13, 19 2000 vadduwm 11, 30, 11 2001 vadduwm 14, 23, 14 2002 vadduwm 31, 29, 31 2003 vadduwm 13, 0, 13 2004 xxlxor 48, 43, 48 2005 xxlxor 36, 46, 36 2006 xxlxor 47, 63, 47 2007 xxlxor 50, 45, 50 2008 vperm 16, 16, 16, 5 2009 vperm 4, 4, 4, 5 2010 vperm 15, 15, 15, 5 2011 vperm 18, 18, 18, 5 2012 xxlor 29, 39, 39 2013 xxlor 59, 4, 4 2014 vadduwm 24, 16, 24 2015 vadduwm 3, 4, 3 2016 vadduwm 6, 15, 6 2017 vadduwm 12, 18, 12 2018 xxlxor 62, 56, 62 2019 xxlxor 55, 35, 55 2020 xxlxor 61, 38, 61 2021 xxlxor 32, 44, 32 2022 vrlw 30, 30, 10 2023 vrlw 23, 23, 10 2024 vrlw 29, 29, 10 2025 vrlw 0, 0, 10 2026 xxlor 53, 0, 0 2027 xxlor 39, 6, 6 2028 vadduwm 11, 11, 27 2029 vadduwm 14, 14, 21 2030 vadduwm 31, 31, 7 2031 vadduwm 13, 13, 1 2032 vadduwm 11, 30, 11 2033 vadduwm 14, 23, 14 2034 vadduwm 31, 29, 31 2035 vadduwm 13, 0, 13 2036 xxlxor 48, 43, 48 2037 xxlxor 36, 46, 36 2038 xxlxor 47, 63, 47 2039 xxlxor 50, 45, 50 2040 vrlw 16, 16, 9 2041 vrlw 4, 4, 9 2042 vrlw 15, 15, 9 2043 vrlw 18, 18, 9 2044 xxlor 34, 7, 7 2045 vadduwm 31, 31, 28 2046 vadduwm 24, 16, 24 2047 vadduwm 3, 4, 3 2048 vadduwm 6, 15, 6 2049 vadduwm 12, 18, 12 2050 xxlxor 62, 56, 62 2051 xxlxor 55, 35, 55 2052 xxlxor 61, 38, 61 2053 xxlxor 32, 44, 32 2054 vrlw 23, 23, 8 2055 vrlw 29, 29, 8 2056 vrlw 0, 0, 8 2057 vrlw 30, 30, 8 2058 vadduwm 11, 11, 2 2059 xxlor 34, 28, 28 2060 vadduwm 13, 13, 26 2061 vadduwm 14, 14, 2 2062 vadduwm 11, 23, 11 2063 vadduwm 14, 29, 14 2064 vadduwm 31, 0, 31 2065 vadduwm 13, 30, 13 2066 xxlxor 50, 43, 50 2067 xxlxor 48, 46, 48 2068 xxlxor 36, 63, 36 2069 xxlxor 47, 45, 47 2070 vperm 18, 18, 18, 5 2071 vperm 16, 16, 16, 5 2072 vperm 4, 4, 4, 5 2073 vperm 15, 15, 15, 5 2074 xxlor 2, 58, 58 2075 xxlor 39, 25, 25 2076 vadduwm 6, 18, 6 2077 vadduwm 12, 16, 12 2078 vadduwm 24, 4, 24 2079 vadduwm 3, 15, 3 2080 xxlxor 55, 38, 55 2081 xxlxor 61, 44, 61 2082 xxlxor 32, 56, 32 2083 xxlxor 62, 35, 62 2084 vrlw 23, 23, 10 2085 vrlw 29, 29, 10 2086 vrlw 0, 0, 10 2087 vrlw 30, 30, 10 2088 xxlor 54, 29, 29 2089 xxlor 58, 5, 5 2090 vadduwm 11, 11, 25 2091 vadduwm 14, 14, 7 2092 vadduwm 31, 31, 22 2093 vadduwm 13, 13, 26 2094 vadduwm 11, 23, 11 2095 vadduwm 14, 29, 14 2096 vadduwm 31, 0, 31 2097 vadduwm 13, 30, 13 2098 xxlxor 50, 43, 50 2099 xxlxor 48, 46, 48 2100 xxlxor 36, 63, 36 2101 xxlxor 47, 45, 47 2102 vrlw 18, 18, 9 2103 vrlw 16, 16, 9 2104 vrlw 4, 4, 9 2105 vrlw 15, 15, 9 2106 vadduwm 11, 11, 17 2107 vadduwm 14, 14, 21 2108 vadduwm 6, 18, 6 2109 vadduwm 12, 16, 12 2110 vadduwm 24, 4, 24 2111 vadduwm 3, 15, 3 2112 xxlxor 55, 38, 55 2113 xxlxor 61, 44, 61 2114 xxlxor 62, 35, 62 2115 xxlxor 32, 56, 32 2116 vrlw 30, 30, 8 2117 vrlw 23, 23, 8 2118 vrlw 29, 29, 8 2119 vrlw 0, 0, 8 2120 vadduwm 31, 31, 1 2121 vadduwm 13, 13, 20 2122 vadduwm 11, 30, 11 2123 vadduwm 14, 23, 14 2124 vadduwm 31, 29, 31 2125 vadduwm 13, 0, 13 2126 xxlxor 48, 43, 48 2127 xxlxor 36, 46, 36 2128 xxlxor 47, 63, 47 2129 xxlxor 50, 45, 50 2130 vperm 16, 16, 16, 5 2131 vperm 4, 4, 4, 5 2132 vperm 15, 15, 15, 5 2133 vperm 18, 18, 18, 5 2134 xxlor 0, 33, 33 2135 xxlor 33, 8, 8 2136 vadduwm 24, 16, 24 2137 vadduwm 3, 4, 3 2138 vadduwm 6, 15, 6 2139 vadduwm 12, 18, 12 2140 xxlxor 62, 56, 62 2141 xxlxor 55, 35, 55 2142 xxlxor 61, 38, 61 2143 xxlxor 32, 44, 32 2144 vrlw 30, 30, 10 2145 vrlw 23, 23, 10 2146 vrlw 29, 29, 10 2147 vrlw 0, 0, 10 2148 vadduwm 11, 11, 19 2149 vadduwm 14, 14, 2 2150 vadduwm 31, 31, 1 2151 vadduwm 13, 13, 22 2152 vadduwm 11, 30, 11 2153 vadduwm 14, 23, 14 2154 vadduwm 31, 29, 31 2155 vadduwm 13, 0, 13 2156 xxlxor 48, 43, 48 2157 xxlxor 36, 46, 36 2158 xxlxor 47, 63, 47 2159 xxlxor 50, 45, 50 2160 vrlw 16, 16, 9 2161 vrlw 4, 4, 9 2162 vrlw 15, 15, 9 2163 vrlw 18, 18, 9 2164 vadduwm 11, 11, 27 2165 vadduwm 14, 14, 28 2166 vadduwm 24, 16, 24 2167 vadduwm 3, 4, 3 2168 vadduwm 6, 15, 6 2169 vadduwm 12, 18, 12 2170 xxlxor 62, 56, 62 2171 xxlxor 55, 35, 55 2172 xxlxor 61, 38, 61 2173 xxlxor 32, 44, 32 2174 vrlw 23, 23, 8 2175 vrlw 29, 29, 8 2176 vrlw 0, 0, 8 2177 vrlw 30, 30, 8 2178 vadduwm 31, 31, 25 2179 vadduwm 13, 13, 26 2180 vadduwm 11, 23, 11 2181 vadduwm 14, 29, 14 2182 vadduwm 31, 0, 31 2183 vadduwm 13, 30, 13 2184 xxlxor 50, 43, 50 2185 xxlxor 48, 46, 48 2186 xxlxor 36, 63, 36 2187 xxlxor 47, 45, 47 2188 vperm 18, 18, 18, 5 2189 vperm 16, 16, 16, 5 2190 vperm 4, 4, 4, 5 2191 vperm 15, 15, 15, 5 2192 xxlor 3, 7, 7 2193 vadduwm 11, 11, 7 2194 vadduwm 6, 18, 6 2195 vadduwm 12, 16, 12 2196 vadduwm 24, 4, 24 2197 vadduwm 3, 15, 3 2198 xxlxor 55, 38, 55 2199 xxlxor 61, 44, 61 2200 xxlxor 32, 56, 32 2201 xxlxor 62, 35, 62 2202 vrlw 23, 23, 10 2203 vrlw 29, 29, 10 2204 vrlw 0, 0, 10 2205 vrlw 30, 30, 10 2206 xxlor 33, 6, 6 2207 xxlor 58, 2, 2 2208 xxlor 39, 3, 3 2209 vadduwm 14, 14, 1 2210 vadduwm 31, 31, 26 2211 vadduwm 13, 13, 7 2212 vadduwm 11, 23, 11 2213 vadduwm 14, 29, 14 2214 vadduwm 31, 0, 31 2215 vadduwm 13, 30, 13 2216 xxlxor 50, 43, 50 2217 xxlxor 48, 46, 48 2218 xxlxor 36, 63, 36 2219 xxlxor 47, 45, 47 2220 vrlw 18, 18, 9 2221 vrlw 16, 16, 9 2222 vrlw 4, 4, 9 2223 vrlw 15, 15, 9 2224 xxlor 52, 0, 0 2225 vadduwm 11, 11, 21 2226 vadduwm 6, 18, 6 2227 vadduwm 12, 16, 12 2228 vadduwm 24, 4, 24 2229 vadduwm 3, 15, 3 2230 xxlxor 55, 38, 55 2231 xxlxor 61, 44, 61 2232 xxlxor 62, 35, 62 2233 xxlxor 32, 56, 32 2234 vrlw 30, 30, 8 2235 vrlw 23, 23, 8 2236 vrlw 29, 29, 8 2237 vrlw 0, 0, 8 2238 vadduwm 14, 14, 2 2239 vadduwm 31, 31, 22 2240 vadduwm 13, 13, 20 2241 vadduwm 11, 30, 11 2242 vadduwm 14, 23, 14 2243 vadduwm 31, 29, 31 2244 vadduwm 13, 0, 13 2245 xxlxor 48, 43, 48 2246 xxlxor 36, 46, 36 2247 xxlxor 47, 63, 47 2248 xxlxor 50, 45, 50 2249 vperm 16, 16, 16, 5 2250 vperm 4, 4, 4, 5 2251 vperm 15, 15, 15, 5 2252 vperm 18, 18, 18, 5 2253 xxlor 7, 49, 49 2254 vmr 17, 2 2255 vadduwm 24, 16, 24 2256 vadduwm 3, 4, 3 2257 vadduwm 6, 15, 6 2258 vadduwm 12, 18, 12 2259 xxlxor 62, 56, 62 2260 xxlxor 55, 35, 55 2261 xxlxor 61, 38, 61 2262 xxlxor 32, 44, 32 2263 vrlw 30, 30, 10 2264 vrlw 23, 23, 10 2265 vrlw 29, 29, 10 2266 vrlw 0, 0, 10 2267 xxlor 54, 1, 1 2268 xxlor 34, 7, 7 2269 vadduwm 11, 11, 22 2270 vadduwm 14, 14, 28 2271 vadduwm 31, 31, 2 2272 vadduwm 13, 13, 26 2273 vadduwm 11, 30, 11 2274 vadduwm 14, 23, 14 2275 vadduwm 31, 29, 31 2276 vadduwm 13, 0, 13 2277 xxlxor 48, 43, 48 2278 xxlxor 36, 46, 36 2279 xxlxor 47, 63, 47 2280 xxlxor 50, 45, 50 2281 vrlw 16, 16, 9 2282 vrlw 4, 4, 9 2283 vrlw 15, 15, 9 2284 vrlw 18, 18, 9 2285 xxlor 59, 25, 25 2286 vadduwm 11, 11, 19 2287 vadduwm 24, 16, 24 2288 vadduwm 3, 4, 3 2289 vadduwm 6, 15, 6 2290 vadduwm 12, 18, 12 2291 xxlxor 62, 56, 62 2292 xxlxor 55, 35, 55 2293 xxlxor 61, 38, 61 2294 xxlxor 32, 44, 32 2295 vrlw 23, 23, 8 2296 vrlw 29, 29, 8 2297 vrlw 0, 0, 8 2298 vrlw 30, 30, 8 2299 vadduwm 14, 14, 25 2300 vadduwm 31, 31, 27 2301 vadduwm 13, 13, 7 2302 vadduwm 11, 23, 11 2303 vadduwm 14, 29, 14 2304 vadduwm 31, 0, 31 2305 vadduwm 13, 30, 13 2306 xxlxor 50, 43, 50 2307 xxlxor 48, 46, 48 2308 xxlxor 36, 63, 36 2309 xxlxor 47, 45, 47 2310 vperm 18, 18, 18, 5 2311 vperm 16, 16, 16, 5 2312 vperm 4, 4, 4, 5 2313 vperm 15, 15, 15, 5 2314 vmr 2, 19 2315 xxlor 0, 7, 7 2316 vadduwm 6, 18, 6 2317 vadduwm 12, 16, 12 2318 vadduwm 24, 4, 24 2319 vadduwm 3, 15, 3 2320 xxlxor 55, 38, 55 2321 xxlxor 61, 44, 61 2322 xxlxor 32, 56, 32 2323 xxlxor 62, 35, 62 2324 vrlw 23, 23, 10 2325 vrlw 29, 29, 10 2326 vrlw 0, 0, 10 2327 vrlw 30, 30, 10 2328 xxlor 1, 51, 51 2329 xxlor 7, 39, 39 2330 xxlor 51, 8, 8 2331 xxlor 39, 5, 5 2332 xxlor 34, 4, 4 2333 vadduwm 11, 11, 1 2334 vadduwm 14, 14, 19 2335 vadduwm 31, 31, 7 2336 vadduwm 13, 13, 2 2337 vadduwm 11, 23, 11 2338 vadduwm 14, 29, 14 2339 vadduwm 31, 0, 31 2340 vadduwm 13, 30, 13 2341 xxlxor 50, 43, 50 2342 xxlxor 48, 46, 48 2343 xxlxor 36, 63, 36 2344 xxlxor 47, 45, 47 2345 vrlw 18, 18, 9 2346 vrlw 16, 16, 9 2347 vrlw 4, 4, 9 2348 vrlw 15, 15, 9 2349 xxlor 2, 53, 53 2350 vmr 21, 28 2351 vadduwm 6, 18, 6 2352 vadduwm 12, 16, 12 2353 vadduwm 24, 4, 24 2354 vadduwm 3, 15, 3 2355 xxlxor 55, 38, 55 2356 xxlxor 61, 44, 61 2357 xxlxor 62, 35, 62 2358 xxlxor 32, 56, 32 2359 vrlw 30, 30, 8 2360 vrlw 23, 23, 8 2361 vrlw 29, 29, 8 2362 vrlw 0, 0, 8 2363 xxlor 53, 29, 29 2364 vadduwm 11, 11, 17 2365 vadduwm 14, 14, 28 2366 vadduwm 31, 31, 26 2367 vadduwm 13, 13, 21 2368 vadduwm 11, 30, 11 2369 vadduwm 14, 23, 14 2370 vadduwm 31, 29, 31 2371 vadduwm 13, 0, 13 2372 xxlxor 48, 43, 48 2373 xxlxor 36, 46, 36 2374 xxlxor 47, 63, 47 2375 xxlxor 50, 45, 50 2376 vperm 16, 16, 16, 5 2377 vperm 4, 4, 4, 5 2378 vperm 15, 15, 15, 5 2379 vperm 18, 18, 18, 5 2380 vadduwm 11, 11, 20 2381 xxlor 5, 52, 52 2382 vadduwm 24, 16, 24 2383 vadduwm 3, 4, 3 2384 vadduwm 6, 15, 6 2385 vadduwm 12, 18, 12 2386 xxlxor 62, 56, 62 2387 xxlxor 55, 35, 55 2388 xxlxor 61, 38, 61 2389 xxlxor 32, 44, 32 2390 vrlw 30, 30, 10 2391 vrlw 23, 23, 10 2392 vrlw 29, 29, 10 2393 vrlw 0, 0, 10 2394 xxlor 52, 2, 2 2395 vadduwm 14, 14, 25 2396 vadduwm 31, 31, 20 2397 vadduwm 13, 13, 7 2398 vadduwm 11, 30, 11 2399 vadduwm 14, 23, 14 2400 vadduwm 31, 29, 31 2401 vadduwm 13, 0, 13 2402 xxlxor 48, 43, 48 2403 xxlxor 36, 46, 36 2404 xxlxor 47, 63, 47 2405 xxlxor 50, 45, 50 2406 vrlw 16, 16, 9 2407 vrlw 4, 4, 9 2408 vrlw 15, 15, 9 2409 vrlw 18, 18, 9 2410 vadduwm 11, 11, 22 2411 vadduwm 14, 14, 27 2412 vadduwm 24, 16, 24 2413 vadduwm 3, 4, 3 2414 vadduwm 6, 15, 6 2415 vadduwm 12, 18, 12 2416 xxlxor 62, 56, 62 2417 xxlxor 55, 35, 55 2418 xxlxor 61, 38, 61 2419 xxlxor 32, 44, 32 2420 vrlw 23, 23, 8 2421 vrlw 29, 29, 8 2422 vrlw 0, 0, 8 2423 vrlw 30, 30, 8 2424 vadduwm 31, 31, 1 2425 vadduwm 13, 13, 2 2426 vadduwm 11, 23, 11 2427 vadduwm 14, 29, 14 2428 vadduwm 31, 0, 31 2429 vadduwm 13, 30, 13 2430 xxlxor 50, 43, 50 2431 xxlxor 48, 46, 48 2432 xxlxor 36, 63, 36 2433 xxlxor 47, 45, 47 2434 vperm 18, 18, 18, 5 2435 vperm 16, 16, 16, 5 2436 vperm 4, 4, 4, 5 2437 vperm 15, 15, 15, 5 2438 xxlor 3, 29, 29 2439 xxlor 4, 49, 49 2440 vadduwm 6, 18, 6 2441 vadduwm 12, 16, 12 2442 vadduwm 24, 4, 24 2443 vadduwm 3, 15, 3 2444 xxlxor 55, 38, 55 2445 xxlxor 61, 44, 61 2446 xxlxor 32, 56, 32 2447 xxlxor 62, 35, 62 2448 vrlw 23, 23, 10 2449 vrlw 29, 29, 10 2450 vrlw 0, 0, 10 2451 vrlw 30, 30, 10 2452 vmr 17, 28 2453 xxlor 2, 54, 54 2454 xxlor 3, 34, 34 2455 xxlor 34, 8, 8 2456 xxlor 51, 0, 0 2457 xxlor 60, 7, 7 2458 xxlor 54, 1, 1 2459 vadduwm 11, 11, 2 2460 vadduwm 14, 14, 19 2461 vadduwm 31, 31, 28 2462 vadduwm 13, 13, 22 2463 vadduwm 11, 23, 11 2464 vadduwm 14, 29, 14 2465 vadduwm 31, 0, 31 2466 vadduwm 13, 30, 13 2467 xxlxor 50, 43, 50 2468 xxlxor 48, 46, 48 2469 xxlxor 36, 63, 36 2470 xxlxor 47, 45, 47 2471 vrlw 18, 18, 9 2472 vrlw 16, 16, 9 2473 vrlw 4, 4, 9 2474 vrlw 15, 15, 9 2475 vadduwm 11, 11, 17 2476 vadduwm 14, 14, 25 2477 vadduwm 6, 18, 6 2478 vadduwm 12, 16, 12 2479 vadduwm 24, 4, 24 2480 vadduwm 3, 15, 3 2481 xxlxor 55, 38, 55 2482 xxlxor 61, 44, 61 2483 xxlxor 62, 35, 62 2484 xxlxor 32, 56, 32 2485 vrlw 30, 30, 8 2486 vrlw 23, 23, 8 2487 vrlw 29, 29, 8 2488 vrlw 0, 0, 8 2489 vadduwm 31, 31, 7 2490 vadduwm 13, 13, 26 2491 vadduwm 11, 30, 11 2492 vadduwm 14, 23, 14 2493 vadduwm 31, 29, 31 2494 vadduwm 13, 0, 13 2495 xxlxor 48, 43, 48 2496 xxlxor 36, 46, 36 2497 xxlxor 47, 63, 47 2498 xxlxor 50, 45, 50 2499 vperm 16, 16, 16, 5 2500 vperm 4, 4, 4, 5 2501 vperm 15, 15, 15, 5 2502 vperm 18, 18, 18, 5 2503 xxlor 6, 39, 39 2504 xxlor 39, 4, 4 2505 vadduwm 24, 16, 24 2506 vadduwm 3, 4, 3 2507 vadduwm 6, 15, 6 2508 vadduwm 12, 18, 12 2509 xxlxor 62, 56, 62 2510 xxlxor 55, 35, 55 2511 xxlxor 61, 38, 61 2512 xxlxor 32, 44, 32 2513 vrlw 30, 30, 10 2514 vrlw 23, 23, 10 2515 vrlw 29, 29, 10 2516 vrlw 0, 0, 10 2517 vadduwm 11, 11, 21 2518 vadduwm 14, 14, 27 2519 vadduwm 31, 31, 7 2520 vadduwm 13, 13, 28 2521 vadduwm 11, 30, 11 2522 vadduwm 14, 23, 14 2523 vadduwm 31, 29, 31 2524 vadduwm 13, 0, 13 2525 xxlxor 48, 43, 48 2526 xxlxor 36, 46, 36 2527 xxlxor 47, 63, 47 2528 xxlxor 50, 45, 50 2529 vrlw 16, 16, 9 2530 vrlw 4, 4, 9 2531 vrlw 15, 15, 9 2532 vrlw 18, 18, 9 2533 xxlor 0, 49, 49 2534 xxlor 49, 5, 5 2535 vadduwm 24, 16, 24 2536 vadduwm 3, 4, 3 2537 vadduwm 6, 15, 6 2538 vadduwm 12, 18, 12 2539 xxlxor 62, 56, 62 2540 xxlxor 55, 35, 55 2541 xxlxor 61, 38, 61 2542 xxlxor 32, 44, 32 2543 vrlw 23, 23, 8 2544 vrlw 29, 29, 8 2545 vrlw 0, 0, 8 2546 vrlw 30, 30, 8 2547 vadduwm 11, 11, 17 2548 vadduwm 14, 14, 1 2549 vadduwm 31, 31, 2 2550 vadduwm 13, 13, 22 2551 vadduwm 11, 23, 11 2552 vadduwm 14, 29, 14 2553 vadduwm 31, 0, 31 2554 vadduwm 13, 30, 13 2555 xxlxor 50, 43, 50 2556 xxlxor 48, 46, 48 2557 xxlxor 36, 63, 36 2558 xxlxor 47, 45, 47 2559 vperm 18, 18, 18, 5 2560 vperm 16, 16, 16, 5 2561 vperm 4, 4, 4, 5 2562 vperm 15, 15, 15, 5 2563 xxlor 34, 3, 3 2564 xxlor 49, 2, 2 2565 vadduwm 6, 18, 6 2566 vadduwm 12, 16, 12 2567 vadduwm 24, 4, 24 2568 vadduwm 3, 15, 3 2569 xxlxor 55, 38, 55 2570 xxlxor 61, 44, 61 2571 xxlxor 32, 56, 32 2572 xxlxor 62, 35, 62 2573 vrlw 23, 23, 10 2574 vrlw 29, 29, 10 2575 vrlw 0, 0, 10 2576 vrlw 30, 30, 10 2577 vadduwm 11, 11, 19 2578 vadduwm 14, 14, 20 2579 vadduwm 31, 31, 2 2580 vadduwm 13, 13, 17 2581 vadduwm 11, 23, 11 2582 vadduwm 14, 29, 14 2583 vadduwm 31, 0, 31 2584 vadduwm 13, 30, 13 2585 xxlxor 50, 43, 50 2586 xxlxor 48, 46, 48 2587 xxlxor 36, 63, 36 2588 xxlxor 47, 45, 47 2589 vrlw 18, 18, 9 2590 vrlw 16, 16, 9 2591 vrlw 4, 4, 9 2592 vrlw 15, 15, 9 2593 vadduwm 14, 14, 27 2594 vadduwm 11, 11, 25 2595 vadduwm 6, 18, 6 2596 vadduwm 12, 16, 12 2597 vadduwm 27, 4, 24 2598 vadduwm 3, 15, 3 2599 xxlxor 57, 38, 55 2600 xxlxor 61, 44, 61 2601 xxlxor 62, 35, 62 2602 xxlxor 32, 59, 32 2603 xxlor 39, 7, 7 2604 vrlw 30, 30, 8 2605 vrlw 25, 25, 8 2606 vrlw 29, 29, 8 2607 vrlw 0, 0, 8 2608 xxlor 1, 58, 58 2609 vmr 26, 19 2610 vadduwm 19, 31, 7 2611 xxlor 39, 6, 6 2612 vadduwm 11, 30, 11 2613 vadduwm 7, 13, 7 2614 vadduwm 13, 25, 14 2615 vadduwm 14, 29, 19 2616 vadduwm 7, 0, 7 2617 xxlxor 48, 43, 48 2618 xxlxor 36, 45, 36 2619 xxlxor 47, 46, 47 2620 xxlxor 50, 39, 50 2621 vperm 16, 16, 16, 5 2622 vperm 4, 4, 4, 5 2623 vperm 15, 15, 15, 5 2624 vperm 18, 18, 18, 5 2625 xxlor 51, 1, 1 2626 vadduwm 13, 13, 1 2627 vadduwm 11, 11, 19 2628 vadduwm 19, 16, 27 2629 vadduwm 3, 4, 3 2630 vadduwm 6, 15, 6 2631 vadduwm 12, 18, 12 2632 xxlxor 63, 51, 62 2633 xxlxor 62, 35, 57 2634 xxlxor 61, 38, 61 2635 xxlxor 32, 44, 32 2636 vrlw 31, 31, 10 2637 vrlw 30, 30, 10 2638 vrlw 29, 29, 10 2639 vrlw 0, 0, 10 2640 xxlor 33, 0, 0 2641 vadduwm 7, 7, 2 2642 vadduwm 14, 14, 1 2643 vadduwm 11, 31, 11 2644 vadduwm 13, 30, 13 2645 vadduwm 14, 29, 14 2646 vadduwm 7, 0, 7 2647 xxlxor 48, 43, 48 2648 xxlxor 36, 45, 36 2649 xxlxor 47, 46, 47 2650 xxlxor 50, 39, 50 2651 vrlw 16, 16, 9 2652 vrlw 4, 4, 9 2653 vrlw 15, 15, 9 2654 vrlw 18, 18, 9 2655 xxlor 60, 8, 8 2656 vadduwm 1, 11, 21 2657 vadduwm 11, 13, 28 2658 vadduwm 13, 16, 19 2659 vadduwm 3, 4, 3 2660 vadduwm 6, 15, 6 2661 vadduwm 12, 18, 12 2662 xxlxor 51, 45, 63 2663 xxlxor 63, 35, 62 2664 xxlxor 62, 38, 61 2665 xxlxor 32, 44, 32 2666 vrlw 31, 31, 8 2667 vrlw 30, 30, 8 2668 vrlw 0, 0, 8 2669 vrlw 19, 19, 8 2670 vadduwm 14, 14, 26 2671 vadduwm 7, 7, 17 2672 vadduwm 1, 31, 1 2673 vadduwm 11, 30, 11 2674 vadduwm 14, 0, 14 2675 vadduwm 7, 19, 7 2676 xxlxor 50, 33, 50 2677 xxlxor 48, 43, 48 2678 xxlxor 36, 46, 36 2679 xxlxor 47, 39, 47 2680 vperm 18, 18, 18, 5 2681 vperm 16, 16, 16, 5 2682 vperm 4, 4, 4, 5 2683 vperm 15, 15, 15, 5 2684 xxlor 34, 4, 4 2685 vadduwm 14, 14, 22 2686 vadduwm 6, 18, 6 2687 vadduwm 12, 16, 12 2688 vadduwm 13, 4, 13 2689 vadduwm 3, 15, 3 2690 xxlxor 49, 38, 63 2691 xxlxor 63, 44, 62 2692 xxlxor 32, 45, 32 2693 xxlxor 51, 35, 51 2694 vrlw 17, 17, 10 2695 vrlw 31, 31, 10 2696 vrlw 0, 0, 10 2697 vrlw 10, 19, 10 2698 vadduwm 11, 11, 2 2699 xxlor 34, 5, 5 2700 vadduwm 1, 1, 20 2701 vadduwm 2, 7, 2 2702 vadduwm 7, 31, 11 2703 vadduwm 11, 0, 14 2704 vadduwm 2, 10, 2 2705 vadduwm 1, 17, 1 2706 xxlxor 36, 43, 36 2707 xxlxor 46, 34, 47 2708 vrlw 4, 4, 9 2709 vrlw 14, 14, 9 2710 xxlxor 47, 33, 50 2711 xxlxor 48, 39, 48 2712 vrlw 15, 15, 9 2713 vrlw 9, 16, 9 2714 vadduwm 13, 4, 13 2715 vadduwm 3, 14, 3 2716 xxlxor 32, 45, 32 2717 xxlxor 45, 45, 33 2718 xxlxor 33, 35, 42 2719 xxlxor 59, 35, 39 2720 vadduwm 3, 15, 6 2721 vadduwm 6, 9, 12 2722 xxlxor 39, 35, 49 2723 xxlxor 42, 38, 63 2724 vrlw 1, 1, 8 2725 vrlw 7, 7, 8 2726 vrlw 10, 10, 8 2727 vrlw 0, 0, 8 2728 xxlxor 40, 35, 43 2729 xxlxor 38, 38, 34 2730 xxlxor 61, 33, 41 2731 xxlxor 50, 39, 36 2732 xxlxor 62, 42, 46 2733 xxlxor 54, 32, 47 2734 bne 0, .LBB3_2 2735.LBB3_5: 2736 vmrglw 2, 27, 13 2737 li 3, 32 2738 li 4, 48 2739 vmrglw 4, 6, 8 2740 vmrglw 0, 18, 29 2741 vmrglw 1, 22, 30 2742 vmrghw 3, 27, 13 2743 vmrghw 5, 6, 8 2744 vmrghw 6, 18, 29 2745 vmrghw 7, 22, 30 2746 xxmrgld 40, 36, 34 2747 xxmrghd 34, 36, 34 2748 xxmrgld 41, 33, 32 2749 xxswapd 0, 40 2750 xxmrgld 36, 37, 35 2751 xxmrghd 35, 37, 35 2752 xxmrghd 37, 33, 32 2753 xxswapd 1, 41 2754 xxmrgld 32, 39, 38 2755 xxmrghd 33, 39, 38 2756 xxswapd 2, 34 2757 xxswapd 4, 36 2758 xxswapd 3, 37 2759 stxvd2x 0, 0, 5 2760 xxswapd 5, 32 2761 stxvd2x 1, 5, 11 2762 xxswapd 0, 35 2763 xxswapd 1, 33 2764 stxvd2x 2, 5, 3 2765 li 3, 64 2766 stxvd2x 3, 5, 4 2767 li 4, 80 2768 stxvd2x 4, 5, 3 2769 li 3, 96 2770 stxvd2x 5, 5, 4 2771 li 4, 112 2772 stxvd2x 0, 5, 3 2773 stxvd2x 1, 5, 4 2774 li 3, 224 2775 lxvd2x 63, 1, 3 2776 li 3, 208 2777 lfd 31, 392(1) 2778 ld 30, 312(1) 2779 ld 29, 304(1) 2780 lxvd2x 62, 1, 3 2781 li 3, 192 2782 lfd 30, 384(1) 2783 ld 28, 296(1) 2784 ld 27, 288(1) 2785 lxvd2x 61, 1, 3 2786 li 3, 176 2787 lfd 29, 376(1) 2788 ld 26, 280(1) 2789 ld 25, 272(1) 2790 lxvd2x 60, 1, 3 2791 li 3, 160 2792 lfd 28, 368(1) 2793 ld 24, 264(1) 2794 ld 23, 256(1) 2795 lxvd2x 59, 1, 3 2796 li 3, 144 2797 lfd 27, 360(1) 2798 ld 22, 248(1) 2799 lxvd2x 58, 1, 3 2800 li 3, 128 2801 lfd 26, 352(1) 2802 lxvd2x 57, 1, 3 2803 li 3, 112 2804 lfd 25, 344(1) 2805 lxvd2x 56, 1, 3 2806 li 3, 96 2807 lfd 24, 336(1) 2808 lxvd2x 55, 1, 3 2809 li 3, 80 2810 lfd 23, 328(1) 2811 lxvd2x 54, 1, 3 2812 li 3, 64 2813 lxvd2x 53, 1, 3 2814 li 3, 48 2815 lxvd2x 52, 1, 3 2816 addi 1, 1, 400 2817 blr 2818 .long 0 2819 .quad 0 2820.Lfunc_end3: 2821 .size blake3_hash4_sse2, .Lfunc_end3-.Lfunc_begin3 2822 .cfi_endproc 2823 .section ".note.GNU-stack","",@progbits 2824#endif 2825