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