2 * Copyright 2004-2022 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * https://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 * Portions Copyright (c) 2022 Tino Reichardt <milky-zfs@mcmilk.de>
19 * - modified assembly to fit into OpenZFS
25 #include <sys/asm_linkage.h>
32 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
33 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
34 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
35 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
36 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
37 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
38 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
39 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
40 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
41 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
42 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
43 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
44 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
45 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
46 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
47 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
48 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
49 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
50 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
51 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
52 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
53 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
54 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
55 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
56 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
57 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
58 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
59 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
60 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
61 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
62 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
63 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
65 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
66 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
67 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
68 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
69 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
70 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
72 ENTRY_ALIGN(zfs_sha256_transform_x64, 16)
76 .cfi_def_cfa_register %rax
91 leaq (%rsi,%rdx,4),%rdx
97 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
1381 movq 64+0(%rsp),%rdi
1392 cmpq 64+16(%rsp),%rsi
1417 .cfi_def_cfa_register %rsp
1421 SET_SIZE(zfs_sha256_transform_x64)
1423 ENTRY_ALIGN(zfs_sha256_transform_shani, 64)
1426 leaq K256+128(%rip),%rcx
1428 movdqu 16(%rdi),%xmm2
1429 movdqa 512-128(%rcx),%xmm7
1431 pshufd $0x1b,%xmm1,%xmm0
1432 pshufd $0xb1,%xmm1,%xmm1
1433 pshufd $0x1b,%xmm2,%xmm2
1435 .byte 102,15,58,15,202,8
1436 punpcklqdq %xmm0,%xmm2
1442 movdqu 16(%rsi),%xmm4
1443 movdqu 32(%rsi),%xmm5
1444 .byte 102,15,56,0,223
1445 movdqu 48(%rsi),%xmm6
1447 movdqa 0-128(%rcx),%xmm0
1449 .byte 102,15,56,0,231
1452 pshufd $0x0e,%xmm0,%xmm0
1457 movdqa 32-128(%rcx),%xmm0
1459 .byte 102,15,56,0,239
1461 pshufd $0x0e,%xmm0,%xmm0
1466 movdqa 64-128(%rcx),%xmm0
1468 .byte 102,15,56,0,247
1470 pshufd $0x0e,%xmm0,%xmm0
1472 .byte 102,15,58,15,253,4
1478 movdqa 96-128(%rcx),%xmm0
1482 pshufd $0x0e,%xmm0,%xmm0
1484 .byte 102,15,58,15,254,4
1489 movdqa 128-128(%rcx),%xmm0
1493 pshufd $0x0e,%xmm0,%xmm0
1495 .byte 102,15,58,15,251,4
1500 movdqa 160-128(%rcx),%xmm0
1504 pshufd $0x0e,%xmm0,%xmm0
1506 .byte 102,15,58,15,252,4
1511 movdqa 192-128(%rcx),%xmm0
1515 pshufd $0x0e,%xmm0,%xmm0
1517 .byte 102,15,58,15,253,4
1522 movdqa 224-128(%rcx),%xmm0
1526 pshufd $0x0e,%xmm0,%xmm0
1528 .byte 102,15,58,15,254,4
1533 movdqa 256-128(%rcx),%xmm0
1537 pshufd $0x0e,%xmm0,%xmm0
1539 .byte 102,15,58,15,251,4
1544 movdqa 288-128(%rcx),%xmm0
1548 pshufd $0x0e,%xmm0,%xmm0
1550 .byte 102,15,58,15,252,4
1555 movdqa 320-128(%rcx),%xmm0
1559 pshufd $0x0e,%xmm0,%xmm0
1561 .byte 102,15,58,15,253,4
1566 movdqa 352-128(%rcx),%xmm0
1570 pshufd $0x0e,%xmm0,%xmm0
1572 .byte 102,15,58,15,254,4
1577 movdqa 384-128(%rcx),%xmm0
1581 pshufd $0x0e,%xmm0,%xmm0
1583 .byte 102,15,58,15,251,4
1588 movdqa 416-128(%rcx),%xmm0
1592 pshufd $0x0e,%xmm0,%xmm0
1594 .byte 102,15,58,15,252,4
1598 movdqa 448-128(%rcx),%xmm0
1601 pshufd $0x0e,%xmm0,%xmm0
1606 movdqa 480-128(%rcx),%xmm0
1610 pshufd $0x0e,%xmm0,%xmm0
1619 pshufd $0xb1,%xmm2,%xmm2
1620 pshufd $0x1b,%xmm1,%xmm7
1621 pshufd $0xb1,%xmm1,%xmm1
1622 punpckhqdq %xmm2,%xmm1
1623 .byte 102,15,58,15,215,8
1626 movdqu %xmm2,16(%rdi)
1629 SET_SIZE(zfs_sha256_transform_shani)
1631 ENTRY_ALIGN(zfs_sha256_transform_ssse3, 64)
1635 .cfi_def_cfa_register %rax
1637 .cfi_offset %rbx,-16
1639 .cfi_offset %rbp,-24
1641 .cfi_offset %r12,-32
1643 .cfi_offset %r13,-40
1645 .cfi_offset %r14,-48
1647 .cfi_offset %r15,-56
1650 leaq (%rsi,%rdx,4),%rdx
1652 movq %rdi,64+0(%rsp)
1653 movq %rsi,64+8(%rsp)
1654 movq %rdx,64+16(%rsp)
1656 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
1671 movdqa K256+512(%rip),%xmm7
1672 movdqu 0(%rsi),%xmm0
1673 movdqu 16(%rsi),%xmm1
1674 movdqu 32(%rsi),%xmm2
1675 .byte 102,15,56,0,199
1676 movdqu 48(%rsi),%xmm3
1677 leaq K256(%rip),%rbp
1678 .byte 102,15,56,0,207
1679 movdqa 0(%rbp),%xmm4
1680 movdqa 32(%rbp),%xmm5
1681 .byte 102,15,56,0,215
1683 movdqa 64(%rbp),%xmm6
1684 .byte 102,15,56,0,223
1685 movdqa 96(%rbp),%xmm7
1689 movdqa %xmm4,0(%rsp)
1691 movdqa %xmm5,16(%rsp)
1693 movdqa %xmm6,32(%rsp)
1695 movdqa %xmm7,48(%rsp)
1712 .byte 102,15,58,15,224,4
1715 .byte 102,15,58,15,250,4
1736 pshufd $250,%xmm3,%xmm7
1787 pshufd $128,%xmm7,%xmm7
1801 pshufd $80,%xmm0,%xmm7
1828 pshufd $8,%xmm7,%xmm7
1831 movdqa 0(%rbp),%xmm6
1845 movdqa %xmm6,0(%rsp)
1856 .byte 102,15,58,15,225,4
1859 .byte 102,15,58,15,251,4
1880 pshufd $250,%xmm0,%xmm7
1931 pshufd $128,%xmm7,%xmm7
1945 pshufd $80,%xmm1,%xmm7
1972 pshufd $8,%xmm7,%xmm7
1975 movdqa 32(%rbp),%xmm6
1989 movdqa %xmm6,16(%rsp)
2000 .byte 102,15,58,15,226,4
2003 .byte 102,15,58,15,248,4
2024 pshufd $250,%xmm1,%xmm7
2075 pshufd $128,%xmm7,%xmm7
2089 pshufd $80,%xmm2,%xmm7
2116 pshufd $8,%xmm7,%xmm7
2119 movdqa 64(%rbp),%xmm6
2133 movdqa %xmm6,32(%rsp)
2144 .byte 102,15,58,15,227,4
2147 .byte 102,15,58,15,249,4
2168 pshufd $250,%xmm2,%xmm7
2219 pshufd $128,%xmm7,%xmm7
2233 pshufd $80,%xmm3,%xmm7
2260 pshufd $8,%xmm7,%xmm7
2263 movdqa 96(%rbp),%xmm6
2277 movdqa %xmm6,48(%rsp)
2696 movq 64+0(%rsp),%rdi
2709 cmpq 64+16(%rsp),%rsi
2736 .cfi_def_cfa_register %rsp
2740 SET_SIZE(zfs_sha256_transform_ssse3)
2742 ENTRY_ALIGN(zfs_sha256_transform_avx, 64)
2746 .cfi_def_cfa_register %rax
2748 .cfi_offset %rbx,-16
2750 .cfi_offset %rbp,-24
2752 .cfi_offset %r12,-32
2754 .cfi_offset %r13,-40
2756 .cfi_offset %r14,-48
2758 .cfi_offset %r15,-56
2761 leaq (%rsi,%rdx,4),%rdx
2763 movq %rdi,64+0(%rsp)
2764 movq %rsi,64+8(%rsp)
2765 movq %rdx,64+16(%rsp)
2767 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
2779 vmovdqa K256+512+32(%rip),%xmm8
2780 vmovdqa K256+512+64(%rip),%xmm9
2784 vmovdqa K256+512(%rip),%xmm7
2785 vmovdqu 0(%rsi),%xmm0
2786 vmovdqu 16(%rsi),%xmm1
2787 vmovdqu 32(%rsi),%xmm2
2788 vmovdqu 48(%rsi),%xmm3
2789 vpshufb %xmm7,%xmm0,%xmm0
2790 leaq K256(%rip),%rbp
2791 vpshufb %xmm7,%xmm1,%xmm1
2792 vpshufb %xmm7,%xmm2,%xmm2
2793 vpaddd 0(%rbp),%xmm0,%xmm4
2794 vpshufb %xmm7,%xmm3,%xmm3
2795 vpaddd 32(%rbp),%xmm1,%xmm5
2796 vpaddd 64(%rbp),%xmm2,%xmm6
2797 vpaddd 96(%rbp),%xmm3,%xmm7
2798 vmovdqa %xmm4,0(%rsp)
2800 vmovdqa %xmm5,16(%rsp)
2802 vmovdqa %xmm6,32(%rsp)
2804 vmovdqa %xmm7,48(%rsp)
2811 vpalignr $4,%xmm0,%xmm1,%xmm4
2812 shrdl $14,%r13d,%r13d
2815 vpalignr $4,%xmm2,%xmm3,%xmm7
2816 shrdl $9,%r14d,%r14d
2819 vpsrld $7,%xmm4,%xmm6
2820 shrdl $5,%r13d,%r13d
2823 vpaddd %xmm7,%xmm0,%xmm0
2827 vpsrld $3,%xmm4,%xmm7
2829 shrdl $11,%r14d,%r14d
2831 vpslld $14,%xmm4,%xmm5
2833 shrdl $6,%r13d,%r13d
2835 vpxor %xmm6,%xmm7,%xmm4
2839 vpshufd $250,%xmm3,%xmm7
2840 shrdl $2,%r14d,%r14d
2843 vpsrld $11,%xmm6,%xmm6
2846 shrdl $14,%r13d,%r13d
2847 vpxor %xmm5,%xmm4,%xmm4
2850 shrdl $9,%r14d,%r14d
2851 vpslld $11,%xmm5,%xmm5
2854 shrdl $5,%r13d,%r13d
2855 vpxor %xmm6,%xmm4,%xmm4
2859 vpsrld $10,%xmm7,%xmm6
2863 vpxor %xmm5,%xmm4,%xmm4
2864 shrdl $11,%r14d,%r14d
2867 vpsrlq $17,%xmm7,%xmm7
2868 shrdl $6,%r13d,%r13d
2871 vpaddd %xmm4,%xmm0,%xmm0
2874 shrdl $2,%r14d,%r14d
2875 vpxor %xmm7,%xmm6,%xmm6
2879 vpsrlq $2,%xmm7,%xmm7
2881 shrdl $14,%r13d,%r13d
2883 vpxor %xmm7,%xmm6,%xmm6
2885 shrdl $9,%r14d,%r14d
2887 vpshufb %xmm8,%xmm6,%xmm6
2889 shrdl $5,%r13d,%r13d
2891 vpaddd %xmm6,%xmm0,%xmm0
2895 vpshufd $80,%xmm0,%xmm7
2898 shrdl $11,%r14d,%r14d
2899 vpsrld $10,%xmm7,%xmm6
2902 shrdl $6,%r13d,%r13d
2903 vpsrlq $17,%xmm7,%xmm7
2907 vpxor %xmm7,%xmm6,%xmm6
2909 shrdl $2,%r14d,%r14d
2911 vpsrlq $2,%xmm7,%xmm7
2915 vpxor %xmm7,%xmm6,%xmm6
2916 shrdl $14,%r13d,%r13d
2919 vpshufb %xmm9,%xmm6,%xmm6
2920 shrdl $9,%r14d,%r14d
2923 vpaddd %xmm6,%xmm0,%xmm0
2924 shrdl $5,%r13d,%r13d
2927 vpaddd 0(%rbp),%xmm0,%xmm6
2932 shrdl $11,%r14d,%r14d
2935 shrdl $6,%r13d,%r13d
2940 shrdl $2,%r14d,%r14d
2945 vmovdqa %xmm6,0(%rsp)
2946 vpalignr $4,%xmm1,%xmm2,%xmm4
2947 shrdl $14,%r13d,%r13d
2950 vpalignr $4,%xmm3,%xmm0,%xmm7
2951 shrdl $9,%r14d,%r14d
2954 vpsrld $7,%xmm4,%xmm6
2955 shrdl $5,%r13d,%r13d
2958 vpaddd %xmm7,%xmm1,%xmm1
2962 vpsrld $3,%xmm4,%xmm7
2964 shrdl $11,%r14d,%r14d
2966 vpslld $14,%xmm4,%xmm5
2968 shrdl $6,%r13d,%r13d
2970 vpxor %xmm6,%xmm7,%xmm4
2974 vpshufd $250,%xmm0,%xmm7
2975 shrdl $2,%r14d,%r14d
2978 vpsrld $11,%xmm6,%xmm6
2981 shrdl $14,%r13d,%r13d
2982 vpxor %xmm5,%xmm4,%xmm4
2985 shrdl $9,%r14d,%r14d
2986 vpslld $11,%xmm5,%xmm5
2989 shrdl $5,%r13d,%r13d
2990 vpxor %xmm6,%xmm4,%xmm4
2994 vpsrld $10,%xmm7,%xmm6
2998 vpxor %xmm5,%xmm4,%xmm4
2999 shrdl $11,%r14d,%r14d
3002 vpsrlq $17,%xmm7,%xmm7
3003 shrdl $6,%r13d,%r13d
3006 vpaddd %xmm4,%xmm1,%xmm1
3009 shrdl $2,%r14d,%r14d
3010 vpxor %xmm7,%xmm6,%xmm6
3014 vpsrlq $2,%xmm7,%xmm7
3016 shrdl $14,%r13d,%r13d
3018 vpxor %xmm7,%xmm6,%xmm6
3020 shrdl $9,%r14d,%r14d
3022 vpshufb %xmm8,%xmm6,%xmm6
3024 shrdl $5,%r13d,%r13d
3026 vpaddd %xmm6,%xmm1,%xmm1
3030 vpshufd $80,%xmm1,%xmm7
3033 shrdl $11,%r14d,%r14d
3034 vpsrld $10,%xmm7,%xmm6
3037 shrdl $6,%r13d,%r13d
3038 vpsrlq $17,%xmm7,%xmm7
3042 vpxor %xmm7,%xmm6,%xmm6
3044 shrdl $2,%r14d,%r14d
3046 vpsrlq $2,%xmm7,%xmm7
3050 vpxor %xmm7,%xmm6,%xmm6
3051 shrdl $14,%r13d,%r13d
3054 vpshufb %xmm9,%xmm6,%xmm6
3055 shrdl $9,%r14d,%r14d
3058 vpaddd %xmm6,%xmm1,%xmm1
3059 shrdl $5,%r13d,%r13d
3062 vpaddd 32(%rbp),%xmm1,%xmm6
3067 shrdl $11,%r14d,%r14d
3070 shrdl $6,%r13d,%r13d
3075 shrdl $2,%r14d,%r14d
3080 vmovdqa %xmm6,16(%rsp)
3081 vpalignr $4,%xmm2,%xmm3,%xmm4
3082 shrdl $14,%r13d,%r13d
3085 vpalignr $4,%xmm0,%xmm1,%xmm7
3086 shrdl $9,%r14d,%r14d
3089 vpsrld $7,%xmm4,%xmm6
3090 shrdl $5,%r13d,%r13d
3093 vpaddd %xmm7,%xmm2,%xmm2
3097 vpsrld $3,%xmm4,%xmm7
3099 shrdl $11,%r14d,%r14d
3101 vpslld $14,%xmm4,%xmm5
3103 shrdl $6,%r13d,%r13d
3105 vpxor %xmm6,%xmm7,%xmm4
3109 vpshufd $250,%xmm1,%xmm7
3110 shrdl $2,%r14d,%r14d
3113 vpsrld $11,%xmm6,%xmm6
3116 shrdl $14,%r13d,%r13d
3117 vpxor %xmm5,%xmm4,%xmm4
3120 shrdl $9,%r14d,%r14d
3121 vpslld $11,%xmm5,%xmm5
3124 shrdl $5,%r13d,%r13d
3125 vpxor %xmm6,%xmm4,%xmm4
3129 vpsrld $10,%xmm7,%xmm6
3133 vpxor %xmm5,%xmm4,%xmm4
3134 shrdl $11,%r14d,%r14d
3137 vpsrlq $17,%xmm7,%xmm7
3138 shrdl $6,%r13d,%r13d
3141 vpaddd %xmm4,%xmm2,%xmm2
3144 shrdl $2,%r14d,%r14d
3145 vpxor %xmm7,%xmm6,%xmm6
3149 vpsrlq $2,%xmm7,%xmm7
3151 shrdl $14,%r13d,%r13d
3153 vpxor %xmm7,%xmm6,%xmm6
3155 shrdl $9,%r14d,%r14d
3157 vpshufb %xmm8,%xmm6,%xmm6
3159 shrdl $5,%r13d,%r13d
3161 vpaddd %xmm6,%xmm2,%xmm2
3165 vpshufd $80,%xmm2,%xmm7
3168 shrdl $11,%r14d,%r14d
3169 vpsrld $10,%xmm7,%xmm6
3172 shrdl $6,%r13d,%r13d
3173 vpsrlq $17,%xmm7,%xmm7
3177 vpxor %xmm7,%xmm6,%xmm6
3179 shrdl $2,%r14d,%r14d
3181 vpsrlq $2,%xmm7,%xmm7
3185 vpxor %xmm7,%xmm6,%xmm6
3186 shrdl $14,%r13d,%r13d
3189 vpshufb %xmm9,%xmm6,%xmm6
3190 shrdl $9,%r14d,%r14d
3193 vpaddd %xmm6,%xmm2,%xmm2
3194 shrdl $5,%r13d,%r13d
3197 vpaddd 64(%rbp),%xmm2,%xmm6
3202 shrdl $11,%r14d,%r14d
3205 shrdl $6,%r13d,%r13d
3210 shrdl $2,%r14d,%r14d
3215 vmovdqa %xmm6,32(%rsp)
3216 vpalignr $4,%xmm3,%xmm0,%xmm4
3217 shrdl $14,%r13d,%r13d
3220 vpalignr $4,%xmm1,%xmm2,%xmm7
3221 shrdl $9,%r14d,%r14d
3224 vpsrld $7,%xmm4,%xmm6
3225 shrdl $5,%r13d,%r13d
3228 vpaddd %xmm7,%xmm3,%xmm3
3232 vpsrld $3,%xmm4,%xmm7
3234 shrdl $11,%r14d,%r14d
3236 vpslld $14,%xmm4,%xmm5
3238 shrdl $6,%r13d,%r13d
3240 vpxor %xmm6,%xmm7,%xmm4
3244 vpshufd $250,%xmm2,%xmm7
3245 shrdl $2,%r14d,%r14d
3248 vpsrld $11,%xmm6,%xmm6
3251 shrdl $14,%r13d,%r13d
3252 vpxor %xmm5,%xmm4,%xmm4
3255 shrdl $9,%r14d,%r14d
3256 vpslld $11,%xmm5,%xmm5
3259 shrdl $5,%r13d,%r13d
3260 vpxor %xmm6,%xmm4,%xmm4
3264 vpsrld $10,%xmm7,%xmm6
3268 vpxor %xmm5,%xmm4,%xmm4
3269 shrdl $11,%r14d,%r14d
3272 vpsrlq $17,%xmm7,%xmm7
3273 shrdl $6,%r13d,%r13d
3276 vpaddd %xmm4,%xmm3,%xmm3
3279 shrdl $2,%r14d,%r14d
3280 vpxor %xmm7,%xmm6,%xmm6
3284 vpsrlq $2,%xmm7,%xmm7
3286 shrdl $14,%r13d,%r13d
3288 vpxor %xmm7,%xmm6,%xmm6
3290 shrdl $9,%r14d,%r14d
3292 vpshufb %xmm8,%xmm6,%xmm6
3294 shrdl $5,%r13d,%r13d
3296 vpaddd %xmm6,%xmm3,%xmm3
3300 vpshufd $80,%xmm3,%xmm7
3303 shrdl $11,%r14d,%r14d
3304 vpsrld $10,%xmm7,%xmm6
3307 shrdl $6,%r13d,%r13d
3308 vpsrlq $17,%xmm7,%xmm7
3312 vpxor %xmm7,%xmm6,%xmm6
3314 shrdl $2,%r14d,%r14d
3316 vpsrlq $2,%xmm7,%xmm7
3320 vpxor %xmm7,%xmm6,%xmm6
3321 shrdl $14,%r13d,%r13d
3324 vpshufb %xmm9,%xmm6,%xmm6
3325 shrdl $9,%r14d,%r14d
3328 vpaddd %xmm6,%xmm3,%xmm3
3329 shrdl $5,%r13d,%r13d
3332 vpaddd 96(%rbp),%xmm3,%xmm6
3337 shrdl $11,%r14d,%r14d
3340 shrdl $6,%r13d,%r13d
3345 shrdl $2,%r14d,%r14d
3350 vmovdqa %xmm6,48(%rsp)
3353 shrdl $14,%r13d,%r13d
3356 shrdl $9,%r14d,%r14d
3359 shrdl $5,%r13d,%r13d
3366 shrdl $11,%r14d,%r14d
3369 shrdl $6,%r13d,%r13d
3374 shrdl $2,%r14d,%r14d
3379 shrdl $14,%r13d,%r13d
3382 shrdl $9,%r14d,%r14d
3385 shrdl $5,%r13d,%r13d
3392 shrdl $11,%r14d,%r14d
3395 shrdl $6,%r13d,%r13d
3400 shrdl $2,%r14d,%r14d
3405 shrdl $14,%r13d,%r13d
3408 shrdl $9,%r14d,%r14d
3411 shrdl $5,%r13d,%r13d
3418 shrdl $11,%r14d,%r14d
3421 shrdl $6,%r13d,%r13d
3426 shrdl $2,%r14d,%r14d
3431 shrdl $14,%r13d,%r13d
3434 shrdl $9,%r14d,%r14d
3437 shrdl $5,%r13d,%r13d
3444 shrdl $11,%r14d,%r14d
3447 shrdl $6,%r13d,%r13d
3452 shrdl $2,%r14d,%r14d
3457 shrdl $14,%r13d,%r13d
3460 shrdl $9,%r14d,%r14d
3463 shrdl $5,%r13d,%r13d
3470 shrdl $11,%r14d,%r14d
3473 shrdl $6,%r13d,%r13d
3478 shrdl $2,%r14d,%r14d
3483 shrdl $14,%r13d,%r13d
3486 shrdl $9,%r14d,%r14d
3489 shrdl $5,%r13d,%r13d
3496 shrdl $11,%r14d,%r14d
3499 shrdl $6,%r13d,%r13d
3504 shrdl $2,%r14d,%r14d
3509 shrdl $14,%r13d,%r13d
3512 shrdl $9,%r14d,%r14d
3515 shrdl $5,%r13d,%r13d
3522 shrdl $11,%r14d,%r14d
3525 shrdl $6,%r13d,%r13d
3530 shrdl $2,%r14d,%r14d
3535 shrdl $14,%r13d,%r13d
3538 shrdl $9,%r14d,%r14d
3541 shrdl $5,%r13d,%r13d
3548 shrdl $11,%r14d,%r14d
3551 shrdl $6,%r13d,%r13d
3556 shrdl $2,%r14d,%r14d
3561 shrdl $14,%r13d,%r13d
3564 shrdl $9,%r14d,%r14d
3567 shrdl $5,%r13d,%r13d
3574 shrdl $11,%r14d,%r14d
3577 shrdl $6,%r13d,%r13d
3582 shrdl $2,%r14d,%r14d
3587 shrdl $14,%r13d,%r13d
3590 shrdl $9,%r14d,%r14d
3593 shrdl $5,%r13d,%r13d
3600 shrdl $11,%r14d,%r14d
3603 shrdl $6,%r13d,%r13d
3608 shrdl $2,%r14d,%r14d
3613 shrdl $14,%r13d,%r13d
3616 shrdl $9,%r14d,%r14d
3619 shrdl $5,%r13d,%r13d
3626 shrdl $11,%r14d,%r14d
3629 shrdl $6,%r13d,%r13d
3634 shrdl $2,%r14d,%r14d
3639 shrdl $14,%r13d,%r13d
3642 shrdl $9,%r14d,%r14d
3645 shrdl $5,%r13d,%r13d
3652 shrdl $11,%r14d,%r14d
3655 shrdl $6,%r13d,%r13d
3660 shrdl $2,%r14d,%r14d
3665 shrdl $14,%r13d,%r13d
3668 shrdl $9,%r14d,%r14d
3671 shrdl $5,%r13d,%r13d
3678 shrdl $11,%r14d,%r14d
3681 shrdl $6,%r13d,%r13d
3686 shrdl $2,%r14d,%r14d
3691 shrdl $14,%r13d,%r13d
3694 shrdl $9,%r14d,%r14d
3697 shrdl $5,%r13d,%r13d
3704 shrdl $11,%r14d,%r14d
3707 shrdl $6,%r13d,%r13d
3712 shrdl $2,%r14d,%r14d
3717 shrdl $14,%r13d,%r13d
3720 shrdl $9,%r14d,%r14d
3723 shrdl $5,%r13d,%r13d
3730 shrdl $11,%r14d,%r14d
3733 shrdl $6,%r13d,%r13d
3738 shrdl $2,%r14d,%r14d
3743 shrdl $14,%r13d,%r13d
3746 shrdl $9,%r14d,%r14d
3749 shrdl $5,%r13d,%r13d
3756 shrdl $11,%r14d,%r14d
3759 shrdl $6,%r13d,%r13d
3764 shrdl $2,%r14d,%r14d
3769 movq 64+0(%rsp),%rdi
3782 cmpq 64+16(%rsp),%rsi
3810 .cfi_def_cfa_register %rsp
3814 SET_SIZE(zfs_sha256_transform_avx)
3816 ENTRY_ALIGN(zfs_sha256_transform_avx2, 64)
3820 .cfi_def_cfa_register %rax
3822 .cfi_offset %rbx,-16
3824 .cfi_offset %rbp,-24
3826 .cfi_offset %r12,-32
3828 .cfi_offset %r13,-40
3830 .cfi_offset %r14,-48
3832 .cfi_offset %r15,-56
3836 leaq (%rsi,%rdx,4),%rdx
3838 movq %rdi,64+0(%rsp)
3839 movq %rsi,64+8(%rsp)
3840 movq %rdx,64+16(%rsp)
3842 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
3858 vmovdqa K256+512+32(%rip),%ymm8
3859 vmovdqa K256+512+64(%rip),%ymm9
3863 vmovdqa K256+512(%rip),%ymm7
3864 vmovdqu -64+0(%rsi),%xmm0
3865 vmovdqu -64+16(%rsi),%xmm1
3866 vmovdqu -64+32(%rsi),%xmm2
3867 vmovdqu -64+48(%rsi),%xmm3
3869 vinserti128 $1,(%r12),%ymm0,%ymm0
3870 vinserti128 $1,16(%r12),%ymm1,%ymm1
3871 vpshufb %ymm7,%ymm0,%ymm0
3872 vinserti128 $1,32(%r12),%ymm2,%ymm2
3873 vpshufb %ymm7,%ymm1,%ymm1
3874 vinserti128 $1,48(%r12),%ymm3,%ymm3
3876 leaq K256(%rip),%rbp
3877 vpshufb %ymm7,%ymm2,%ymm2
3878 vpaddd 0(%rbp),%ymm0,%ymm4
3879 vpshufb %ymm7,%ymm3,%ymm3
3880 vpaddd 32(%rbp),%ymm1,%ymm5
3881 vpaddd 64(%rbp),%ymm2,%ymm6
3882 vpaddd 96(%rbp),%ymm3,%ymm7
3883 vmovdqa %ymm4,0(%rsp)
3885 vmovdqa %ymm5,32(%rsp)
3894 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
3896 vmovdqa %ymm6,0(%rsp)
3898 vmovdqa %ymm7,32(%rsp)
3906 .cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
3909 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
3911 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
3912 vpalignr $4,%ymm0,%ymm1,%ymm4
3913 addl 0+128(%rsp),%r11d
3915 rorxl $25,%r8d,%r13d
3916 vpalignr $4,%ymm2,%ymm3,%ymm7
3917 rorxl $11,%r8d,%r15d
3918 leal (%rax,%r14,1),%eax
3919 leal (%r11,%r12,1),%r11d
3920 vpsrld $7,%ymm4,%ymm6
3921 andnl %r10d,%r8d,%r12d
3924 vpaddd %ymm7,%ymm0,%ymm0
3925 leal (%r11,%r12,1),%r11d
3928 vpsrld $3,%ymm4,%ymm7
3929 rorxl $22,%eax,%r12d
3930 leal (%r11,%r13,1),%r11d
3932 vpslld $14,%ymm4,%ymm5
3933 rorxl $13,%eax,%r14d
3935 leal (%rdx,%r11,1),%edx
3936 vpxor %ymm6,%ymm7,%ymm4
3940 vpshufd $250,%ymm3,%ymm7
3942 leal (%r11,%rdi,1),%r11d
3944 vpsrld $11,%ymm6,%ymm6
3945 addl 4+128(%rsp),%r10d
3947 rorxl $25,%edx,%r13d
3948 vpxor %ymm5,%ymm4,%ymm4
3950 leal (%r11,%r14,1),%r11d
3951 leal (%r10,%r12,1),%r10d
3952 vpslld $11,%ymm5,%ymm5
3953 andnl %r9d,%edx,%r12d
3956 vpxor %ymm6,%ymm4,%ymm4
3957 leal (%r10,%r12,1),%r10d
3960 vpsrld $10,%ymm7,%ymm6
3961 rorxl $22,%r11d,%r12d
3962 leal (%r10,%r13,1),%r10d
3964 vpxor %ymm5,%ymm4,%ymm4
3965 rorxl $13,%r11d,%r14d
3966 rorxl $2,%r11d,%r13d
3967 leal (%rcx,%r10,1),%ecx
3968 vpsrlq $17,%ymm7,%ymm7
3972 vpaddd %ymm4,%ymm0,%ymm0
3974 leal (%r10,%r15,1),%r10d
3976 vpxor %ymm7,%ymm6,%ymm6
3977 addl 8+128(%rsp),%r9d
3979 rorxl $25,%ecx,%r13d
3980 vpsrlq $2,%ymm7,%ymm7
3981 rorxl $11,%ecx,%r15d
3982 leal (%r10,%r14,1),%r10d
3983 leal (%r9,%r12,1),%r9d
3984 vpxor %ymm7,%ymm6,%ymm6
3985 andnl %r8d,%ecx,%r12d
3988 vpshufb %ymm8,%ymm6,%ymm6
3989 leal (%r9,%r12,1),%r9d
3992 vpaddd %ymm6,%ymm0,%ymm0
3993 rorxl $22,%r10d,%r12d
3994 leal (%r9,%r13,1),%r9d
3996 vpshufd $80,%ymm0,%ymm7
3997 rorxl $13,%r10d,%r14d
3998 rorxl $2,%r10d,%r13d
3999 leal (%rbx,%r9,1),%ebx
4000 vpsrld $10,%ymm7,%ymm6
4004 vpsrlq $17,%ymm7,%ymm7
4006 leal (%r9,%rdi,1),%r9d
4008 vpxor %ymm7,%ymm6,%ymm6
4009 addl 12+128(%rsp),%r8d
4011 rorxl $25,%ebx,%r13d
4012 vpsrlq $2,%ymm7,%ymm7
4014 leal (%r9,%r14,1),%r9d
4015 leal (%r8,%r12,1),%r8d
4016 vpxor %ymm7,%ymm6,%ymm6
4017 andnl %edx,%ebx,%r12d
4020 vpshufb %ymm9,%ymm6,%ymm6
4021 leal (%r8,%r12,1),%r8d
4024 vpaddd %ymm6,%ymm0,%ymm0
4025 rorxl $22,%r9d,%r12d
4026 leal (%r8,%r13,1),%r8d
4028 vpaddd 0(%rbp),%ymm0,%ymm6
4029 rorxl $13,%r9d,%r14d
4031 leal (%rax,%r8,1),%eax
4036 leal (%r8,%r15,1),%r8d
4038 vmovdqa %ymm6,0(%rsp)
4039 vpalignr $4,%ymm1,%ymm2,%ymm4
4040 addl 32+128(%rsp),%edx
4042 rorxl $25,%eax,%r13d
4043 vpalignr $4,%ymm3,%ymm0,%ymm7
4044 rorxl $11,%eax,%r15d
4045 leal (%r8,%r14,1),%r8d
4046 leal (%rdx,%r12,1),%edx
4047 vpsrld $7,%ymm4,%ymm6
4048 andnl %ecx,%eax,%r12d
4051 vpaddd %ymm7,%ymm1,%ymm1
4052 leal (%rdx,%r12,1),%edx
4055 vpsrld $3,%ymm4,%ymm7
4056 rorxl $22,%r8d,%r12d
4057 leal (%rdx,%r13,1),%edx
4059 vpslld $14,%ymm4,%ymm5
4060 rorxl $13,%r8d,%r14d
4062 leal (%r11,%rdx,1),%r11d
4063 vpxor %ymm6,%ymm7,%ymm4
4067 vpshufd $250,%ymm0,%ymm7
4069 leal (%rdx,%rdi,1),%edx
4071 vpsrld $11,%ymm6,%ymm6
4072 addl 36+128(%rsp),%ecx
4074 rorxl $25,%r11d,%r13d
4075 vpxor %ymm5,%ymm4,%ymm4
4076 rorxl $11,%r11d,%edi
4077 leal (%rdx,%r14,1),%edx
4078 leal (%rcx,%r12,1),%ecx
4079 vpslld $11,%ymm5,%ymm5
4080 andnl %ebx,%r11d,%r12d
4082 rorxl $6,%r11d,%r14d
4083 vpxor %ymm6,%ymm4,%ymm4
4084 leal (%rcx,%r12,1),%ecx
4087 vpsrld $10,%ymm7,%ymm6
4088 rorxl $22,%edx,%r12d
4089 leal (%rcx,%r13,1),%ecx
4091 vpxor %ymm5,%ymm4,%ymm4
4092 rorxl $13,%edx,%r14d
4094 leal (%r10,%rcx,1),%r10d
4095 vpsrlq $17,%ymm7,%ymm7
4099 vpaddd %ymm4,%ymm1,%ymm1
4101 leal (%rcx,%r15,1),%ecx
4103 vpxor %ymm7,%ymm6,%ymm6
4104 addl 40+128(%rsp),%ebx
4106 rorxl $25,%r10d,%r13d
4107 vpsrlq $2,%ymm7,%ymm7
4108 rorxl $11,%r10d,%r15d
4109 leal (%rcx,%r14,1),%ecx
4110 leal (%rbx,%r12,1),%ebx
4111 vpxor %ymm7,%ymm6,%ymm6
4112 andnl %eax,%r10d,%r12d
4114 rorxl $6,%r10d,%r14d
4115 vpshufb %ymm8,%ymm6,%ymm6
4116 leal (%rbx,%r12,1),%ebx
4119 vpaddd %ymm6,%ymm1,%ymm1
4120 rorxl $22,%ecx,%r12d
4121 leal (%rbx,%r13,1),%ebx
4123 vpshufd $80,%ymm1,%ymm7
4124 rorxl $13,%ecx,%r14d
4126 leal (%r9,%rbx,1),%r9d
4127 vpsrld $10,%ymm7,%ymm6
4131 vpsrlq $17,%ymm7,%ymm7
4133 leal (%rbx,%rdi,1),%ebx
4135 vpxor %ymm7,%ymm6,%ymm6
4136 addl 44+128(%rsp),%eax
4138 rorxl $25,%r9d,%r13d
4139 vpsrlq $2,%ymm7,%ymm7
4141 leal (%rbx,%r14,1),%ebx
4142 leal (%rax,%r12,1),%eax
4143 vpxor %ymm7,%ymm6,%ymm6
4144 andnl %r11d,%r9d,%r12d
4147 vpshufb %ymm9,%ymm6,%ymm6
4148 leal (%rax,%r12,1),%eax
4151 vpaddd %ymm6,%ymm1,%ymm1
4152 rorxl $22,%ebx,%r12d
4153 leal (%rax,%r13,1),%eax
4155 vpaddd 32(%rbp),%ymm1,%ymm6
4156 rorxl $13,%ebx,%r14d
4158 leal (%r8,%rax,1),%r8d
4163 leal (%rax,%r15,1),%eax
4165 vmovdqa %ymm6,32(%rsp)
4167 .cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
4170 .cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
4172 .cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
4173 vpalignr $4,%ymm2,%ymm3,%ymm4
4174 addl 0+128(%rsp),%r11d
4176 rorxl $25,%r8d,%r13d
4177 vpalignr $4,%ymm0,%ymm1,%ymm7
4178 rorxl $11,%r8d,%r15d
4179 leal (%rax,%r14,1),%eax
4180 leal (%r11,%r12,1),%r11d
4181 vpsrld $7,%ymm4,%ymm6
4182 andnl %r10d,%r8d,%r12d
4185 vpaddd %ymm7,%ymm2,%ymm2
4186 leal (%r11,%r12,1),%r11d
4189 vpsrld $3,%ymm4,%ymm7
4190 rorxl $22,%eax,%r12d
4191 leal (%r11,%r13,1),%r11d
4193 vpslld $14,%ymm4,%ymm5
4194 rorxl $13,%eax,%r14d
4196 leal (%rdx,%r11,1),%edx
4197 vpxor %ymm6,%ymm7,%ymm4
4201 vpshufd $250,%ymm1,%ymm7
4203 leal (%r11,%rdi,1),%r11d
4205 vpsrld $11,%ymm6,%ymm6
4206 addl 4+128(%rsp),%r10d
4208 rorxl $25,%edx,%r13d
4209 vpxor %ymm5,%ymm4,%ymm4
4211 leal (%r11,%r14,1),%r11d
4212 leal (%r10,%r12,1),%r10d
4213 vpslld $11,%ymm5,%ymm5
4214 andnl %r9d,%edx,%r12d
4217 vpxor %ymm6,%ymm4,%ymm4
4218 leal (%r10,%r12,1),%r10d
4221 vpsrld $10,%ymm7,%ymm6
4222 rorxl $22,%r11d,%r12d
4223 leal (%r10,%r13,1),%r10d
4225 vpxor %ymm5,%ymm4,%ymm4
4226 rorxl $13,%r11d,%r14d
4227 rorxl $2,%r11d,%r13d
4228 leal (%rcx,%r10,1),%ecx
4229 vpsrlq $17,%ymm7,%ymm7
4233 vpaddd %ymm4,%ymm2,%ymm2
4235 leal (%r10,%r15,1),%r10d
4237 vpxor %ymm7,%ymm6,%ymm6
4238 addl 8+128(%rsp),%r9d
4240 rorxl $25,%ecx,%r13d
4241 vpsrlq $2,%ymm7,%ymm7
4242 rorxl $11,%ecx,%r15d
4243 leal (%r10,%r14,1),%r10d
4244 leal (%r9,%r12,1),%r9d
4245 vpxor %ymm7,%ymm6,%ymm6
4246 andnl %r8d,%ecx,%r12d
4249 vpshufb %ymm8,%ymm6,%ymm6
4250 leal (%r9,%r12,1),%r9d
4253 vpaddd %ymm6,%ymm2,%ymm2
4254 rorxl $22,%r10d,%r12d
4255 leal (%r9,%r13,1),%r9d
4257 vpshufd $80,%ymm2,%ymm7
4258 rorxl $13,%r10d,%r14d
4259 rorxl $2,%r10d,%r13d
4260 leal (%rbx,%r9,1),%ebx
4261 vpsrld $10,%ymm7,%ymm6
4265 vpsrlq $17,%ymm7,%ymm7
4267 leal (%r9,%rdi,1),%r9d
4269 vpxor %ymm7,%ymm6,%ymm6
4270 addl 12+128(%rsp),%r8d
4272 rorxl $25,%ebx,%r13d
4273 vpsrlq $2,%ymm7,%ymm7
4275 leal (%r9,%r14,1),%r9d
4276 leal (%r8,%r12,1),%r8d
4277 vpxor %ymm7,%ymm6,%ymm6
4278 andnl %edx,%ebx,%r12d
4281 vpshufb %ymm9,%ymm6,%ymm6
4282 leal (%r8,%r12,1),%r8d
4285 vpaddd %ymm6,%ymm2,%ymm2
4286 rorxl $22,%r9d,%r12d
4287 leal (%r8,%r13,1),%r8d
4289 vpaddd 64(%rbp),%ymm2,%ymm6
4290 rorxl $13,%r9d,%r14d
4292 leal (%rax,%r8,1),%eax
4297 leal (%r8,%r15,1),%r8d
4299 vmovdqa %ymm6,0(%rsp)
4300 vpalignr $4,%ymm3,%ymm0,%ymm4
4301 addl 32+128(%rsp),%edx
4303 rorxl $25,%eax,%r13d
4304 vpalignr $4,%ymm1,%ymm2,%ymm7
4305 rorxl $11,%eax,%r15d
4306 leal (%r8,%r14,1),%r8d
4307 leal (%rdx,%r12,1),%edx
4308 vpsrld $7,%ymm4,%ymm6
4309 andnl %ecx,%eax,%r12d
4312 vpaddd %ymm7,%ymm3,%ymm3
4313 leal (%rdx,%r12,1),%edx
4316 vpsrld $3,%ymm4,%ymm7
4317 rorxl $22,%r8d,%r12d
4318 leal (%rdx,%r13,1),%edx
4320 vpslld $14,%ymm4,%ymm5
4321 rorxl $13,%r8d,%r14d
4323 leal (%r11,%rdx,1),%r11d
4324 vpxor %ymm6,%ymm7,%ymm4
4328 vpshufd $250,%ymm2,%ymm7
4330 leal (%rdx,%rdi,1),%edx
4332 vpsrld $11,%ymm6,%ymm6
4333 addl 36+128(%rsp),%ecx
4335 rorxl $25,%r11d,%r13d
4336 vpxor %ymm5,%ymm4,%ymm4
4337 rorxl $11,%r11d,%edi
4338 leal (%rdx,%r14,1),%edx
4339 leal (%rcx,%r12,1),%ecx
4340 vpslld $11,%ymm5,%ymm5
4341 andnl %ebx,%r11d,%r12d
4343 rorxl $6,%r11d,%r14d
4344 vpxor %ymm6,%ymm4,%ymm4
4345 leal (%rcx,%r12,1),%ecx
4348 vpsrld $10,%ymm7,%ymm6
4349 rorxl $22,%edx,%r12d
4350 leal (%rcx,%r13,1),%ecx
4352 vpxor %ymm5,%ymm4,%ymm4
4353 rorxl $13,%edx,%r14d
4355 leal (%r10,%rcx,1),%r10d
4356 vpsrlq $17,%ymm7,%ymm7
4360 vpaddd %ymm4,%ymm3,%ymm3
4362 leal (%rcx,%r15,1),%ecx
4364 vpxor %ymm7,%ymm6,%ymm6
4365 addl 40+128(%rsp),%ebx
4367 rorxl $25,%r10d,%r13d
4368 vpsrlq $2,%ymm7,%ymm7
4369 rorxl $11,%r10d,%r15d
4370 leal (%rcx,%r14,1),%ecx
4371 leal (%rbx,%r12,1),%ebx
4372 vpxor %ymm7,%ymm6,%ymm6
4373 andnl %eax,%r10d,%r12d
4375 rorxl $6,%r10d,%r14d
4376 vpshufb %ymm8,%ymm6,%ymm6
4377 leal (%rbx,%r12,1),%ebx
4380 vpaddd %ymm6,%ymm3,%ymm3
4381 rorxl $22,%ecx,%r12d
4382 leal (%rbx,%r13,1),%ebx
4384 vpshufd $80,%ymm3,%ymm7
4385 rorxl $13,%ecx,%r14d
4387 leal (%r9,%rbx,1),%r9d
4388 vpsrld $10,%ymm7,%ymm6
4392 vpsrlq $17,%ymm7,%ymm7
4394 leal (%rbx,%rdi,1),%ebx
4396 vpxor %ymm7,%ymm6,%ymm6
4397 addl 44+128(%rsp),%eax
4399 rorxl $25,%r9d,%r13d
4400 vpsrlq $2,%ymm7,%ymm7
4402 leal (%rbx,%r14,1),%ebx
4403 leal (%rax,%r12,1),%eax
4404 vpxor %ymm7,%ymm6,%ymm6
4405 andnl %r11d,%r9d,%r12d
4408 vpshufb %ymm9,%ymm6,%ymm6
4409 leal (%rax,%r12,1),%eax
4412 vpaddd %ymm6,%ymm3,%ymm3
4413 rorxl $22,%ebx,%r12d
4414 leal (%rax,%r13,1),%eax
4416 vpaddd 96(%rbp),%ymm3,%ymm6
4417 rorxl $13,%ebx,%r14d
4419 leal (%r8,%rax,1),%r8d
4424 leal (%rax,%r15,1),%eax
4426 vmovdqa %ymm6,32(%rsp)
4430 addl 0+64(%rsp),%r11d
4432 rorxl $25,%r8d,%r13d
4433 rorxl $11,%r8d,%r15d
4434 leal (%rax,%r14,1),%eax
4435 leal (%r11,%r12,1),%r11d
4436 andnl %r10d,%r8d,%r12d
4439 leal (%r11,%r12,1),%r11d
4442 rorxl $22,%eax,%r12d
4443 leal (%r11,%r13,1),%r11d
4445 rorxl $13,%eax,%r14d
4447 leal (%rdx,%r11,1),%edx
4452 leal (%r11,%rdi,1),%r11d
4454 addl 4+64(%rsp),%r10d
4456 rorxl $25,%edx,%r13d
4458 leal (%r11,%r14,1),%r11d
4459 leal (%r10,%r12,1),%r10d
4460 andnl %r9d,%edx,%r12d
4463 leal (%r10,%r12,1),%r10d
4466 rorxl $22,%r11d,%r12d
4467 leal (%r10,%r13,1),%r10d
4469 rorxl $13,%r11d,%r14d
4470 rorxl $2,%r11d,%r13d
4471 leal (%rcx,%r10,1),%ecx
4476 leal (%r10,%r15,1),%r10d
4478 addl 8+64(%rsp),%r9d
4480 rorxl $25,%ecx,%r13d
4481 rorxl $11,%ecx,%r15d
4482 leal (%r10,%r14,1),%r10d
4483 leal (%r9,%r12,1),%r9d
4484 andnl %r8d,%ecx,%r12d
4487 leal (%r9,%r12,1),%r9d
4490 rorxl $22,%r10d,%r12d
4491 leal (%r9,%r13,1),%r9d
4493 rorxl $13,%r10d,%r14d
4494 rorxl $2,%r10d,%r13d
4495 leal (%rbx,%r9,1),%ebx
4500 leal (%r9,%rdi,1),%r9d
4502 addl 12+64(%rsp),%r8d
4504 rorxl $25,%ebx,%r13d
4506 leal (%r9,%r14,1),%r9d
4507 leal (%r8,%r12,1),%r8d
4508 andnl %edx,%ebx,%r12d
4511 leal (%r8,%r12,1),%r8d
4514 rorxl $22,%r9d,%r12d
4515 leal (%r8,%r13,1),%r8d
4517 rorxl $13,%r9d,%r14d
4519 leal (%rax,%r8,1),%eax
4524 leal (%r8,%r15,1),%r8d
4526 addl 32+64(%rsp),%edx
4528 rorxl $25,%eax,%r13d
4529 rorxl $11,%eax,%r15d
4530 leal (%r8,%r14,1),%r8d
4531 leal (%rdx,%r12,1),%edx
4532 andnl %ecx,%eax,%r12d
4535 leal (%rdx,%r12,1),%edx
4538 rorxl $22,%r8d,%r12d
4539 leal (%rdx,%r13,1),%edx
4541 rorxl $13,%r8d,%r14d
4543 leal (%r11,%rdx,1),%r11d
4548 leal (%rdx,%rdi,1),%edx
4550 addl 36+64(%rsp),%ecx
4552 rorxl $25,%r11d,%r13d
4553 rorxl $11,%r11d,%edi
4554 leal (%rdx,%r14,1),%edx
4555 leal (%rcx,%r12,1),%ecx
4556 andnl %ebx,%r11d,%r12d
4558 rorxl $6,%r11d,%r14d
4559 leal (%rcx,%r12,1),%ecx
4562 rorxl $22,%edx,%r12d
4563 leal (%rcx,%r13,1),%ecx
4565 rorxl $13,%edx,%r14d
4567 leal (%r10,%rcx,1),%r10d
4572 leal (%rcx,%r15,1),%ecx
4574 addl 40+64(%rsp),%ebx
4576 rorxl $25,%r10d,%r13d
4577 rorxl $11,%r10d,%r15d
4578 leal (%rcx,%r14,1),%ecx
4579 leal (%rbx,%r12,1),%ebx
4580 andnl %eax,%r10d,%r12d
4582 rorxl $6,%r10d,%r14d
4583 leal (%rbx,%r12,1),%ebx
4586 rorxl $22,%ecx,%r12d
4587 leal (%rbx,%r13,1),%ebx
4589 rorxl $13,%ecx,%r14d
4591 leal (%r9,%rbx,1),%r9d
4596 leal (%rbx,%rdi,1),%ebx
4598 addl 44+64(%rsp),%eax
4600 rorxl $25,%r9d,%r13d
4602 leal (%rbx,%r14,1),%ebx
4603 leal (%rax,%r12,1),%eax
4604 andnl %r11d,%r9d,%r12d
4607 leal (%rax,%r12,1),%eax
4610 rorxl $22,%ebx,%r12d
4611 leal (%rax,%r13,1),%eax
4613 rorxl $13,%ebx,%r14d
4615 leal (%r8,%rax,1),%r8d
4620 leal (%rax,%r15,1),%eax
4624 rorxl $25,%r8d,%r13d
4625 rorxl $11,%r8d,%r15d
4626 leal (%rax,%r14,1),%eax
4627 leal (%r11,%r12,1),%r11d
4628 andnl %r10d,%r8d,%r12d
4631 leal (%r11,%r12,1),%r11d
4634 rorxl $22,%eax,%r12d
4635 leal (%r11,%r13,1),%r11d
4637 rorxl $13,%eax,%r14d
4639 leal (%rdx,%r11,1),%edx
4644 leal (%r11,%rdi,1),%r11d
4648 rorxl $25,%edx,%r13d
4650 leal (%r11,%r14,1),%r11d
4651 leal (%r10,%r12,1),%r10d
4652 andnl %r9d,%edx,%r12d
4655 leal (%r10,%r12,1),%r10d
4658 rorxl $22,%r11d,%r12d
4659 leal (%r10,%r13,1),%r10d
4661 rorxl $13,%r11d,%r14d
4662 rorxl $2,%r11d,%r13d
4663 leal (%rcx,%r10,1),%ecx
4668 leal (%r10,%r15,1),%r10d
4672 rorxl $25,%ecx,%r13d
4673 rorxl $11,%ecx,%r15d
4674 leal (%r10,%r14,1),%r10d
4675 leal (%r9,%r12,1),%r9d
4676 andnl %r8d,%ecx,%r12d
4679 leal (%r9,%r12,1),%r9d
4682 rorxl $22,%r10d,%r12d
4683 leal (%r9,%r13,1),%r9d
4685 rorxl $13,%r10d,%r14d
4686 rorxl $2,%r10d,%r13d
4687 leal (%rbx,%r9,1),%ebx
4692 leal (%r9,%rdi,1),%r9d
4696 rorxl $25,%ebx,%r13d
4698 leal (%r9,%r14,1),%r9d
4699 leal (%r8,%r12,1),%r8d
4700 andnl %edx,%ebx,%r12d
4703 leal (%r8,%r12,1),%r8d
4706 rorxl $22,%r9d,%r12d
4707 leal (%r8,%r13,1),%r8d
4709 rorxl $13,%r9d,%r14d
4711 leal (%rax,%r8,1),%eax
4716 leal (%r8,%r15,1),%r8d
4720 rorxl $25,%eax,%r13d
4721 rorxl $11,%eax,%r15d
4722 leal (%r8,%r14,1),%r8d
4723 leal (%rdx,%r12,1),%edx
4724 andnl %ecx,%eax,%r12d
4727 leal (%rdx,%r12,1),%edx
4730 rorxl $22,%r8d,%r12d
4731 leal (%rdx,%r13,1),%edx
4733 rorxl $13,%r8d,%r14d
4735 leal (%r11,%rdx,1),%r11d
4740 leal (%rdx,%rdi,1),%edx
4744 rorxl $25,%r11d,%r13d
4745 rorxl $11,%r11d,%edi
4746 leal (%rdx,%r14,1),%edx
4747 leal (%rcx,%r12,1),%ecx
4748 andnl %ebx,%r11d,%r12d
4750 rorxl $6,%r11d,%r14d
4751 leal (%rcx,%r12,1),%ecx
4754 rorxl $22,%edx,%r12d
4755 leal (%rcx,%r13,1),%ecx
4757 rorxl $13,%edx,%r14d
4759 leal (%r10,%rcx,1),%r10d
4764 leal (%rcx,%r15,1),%ecx
4768 rorxl $25,%r10d,%r13d
4769 rorxl $11,%r10d,%r15d
4770 leal (%rcx,%r14,1),%ecx
4771 leal (%rbx,%r12,1),%ebx
4772 andnl %eax,%r10d,%r12d
4774 rorxl $6,%r10d,%r14d
4775 leal (%rbx,%r12,1),%ebx
4778 rorxl $22,%ecx,%r12d
4779 leal (%rbx,%r13,1),%ebx
4781 rorxl $13,%ecx,%r14d
4783 leal (%r9,%rbx,1),%r9d
4788 leal (%rbx,%rdi,1),%ebx
4792 rorxl $25,%r9d,%r13d
4794 leal (%rbx,%r14,1),%ebx
4795 leal (%rax,%r12,1),%eax
4796 andnl %r11d,%r9d,%r12d
4799 leal (%rax,%r12,1),%eax
4802 rorxl $22,%ebx,%r12d
4803 leal (%rax,%r13,1),%eax
4805 rorxl $13,%ebx,%r14d
4807 leal (%r8,%rax,1),%r8d
4812 leal (%rax,%r15,1),%eax
4847 addl 0+16(%rbp),%r11d
4849 rorxl $25,%r8d,%r13d
4850 rorxl $11,%r8d,%r15d
4851 leal (%rax,%r14,1),%eax
4852 leal (%r11,%r12,1),%r11d
4853 andnl %r10d,%r8d,%r12d
4856 leal (%r11,%r12,1),%r11d
4859 rorxl $22,%eax,%r12d
4860 leal (%r11,%r13,1),%r11d
4862 rorxl $13,%eax,%r14d
4864 leal (%rdx,%r11,1),%edx
4869 leal (%r11,%rdi,1),%r11d
4871 addl 4+16(%rbp),%r10d
4873 rorxl $25,%edx,%r13d
4875 leal (%r11,%r14,1),%r11d
4876 leal (%r10,%r12,1),%r10d
4877 andnl %r9d,%edx,%r12d
4880 leal (%r10,%r12,1),%r10d
4883 rorxl $22,%r11d,%r12d
4884 leal (%r10,%r13,1),%r10d
4886 rorxl $13,%r11d,%r14d
4887 rorxl $2,%r11d,%r13d
4888 leal (%rcx,%r10,1),%ecx
4893 leal (%r10,%r15,1),%r10d
4895 addl 8+16(%rbp),%r9d
4897 rorxl $25,%ecx,%r13d
4898 rorxl $11,%ecx,%r15d
4899 leal (%r10,%r14,1),%r10d
4900 leal (%r9,%r12,1),%r9d
4901 andnl %r8d,%ecx,%r12d
4904 leal (%r9,%r12,1),%r9d
4907 rorxl $22,%r10d,%r12d
4908 leal (%r9,%r13,1),%r9d
4910 rorxl $13,%r10d,%r14d
4911 rorxl $2,%r10d,%r13d
4912 leal (%rbx,%r9,1),%ebx
4917 leal (%r9,%rdi,1),%r9d
4919 addl 12+16(%rbp),%r8d
4921 rorxl $25,%ebx,%r13d
4923 leal (%r9,%r14,1),%r9d
4924 leal (%r8,%r12,1),%r8d
4925 andnl %edx,%ebx,%r12d
4928 leal (%r8,%r12,1),%r8d
4931 rorxl $22,%r9d,%r12d
4932 leal (%r8,%r13,1),%r8d
4934 rorxl $13,%r9d,%r14d
4936 leal (%rax,%r8,1),%eax
4941 leal (%r8,%r15,1),%r8d
4943 addl 32+16(%rbp),%edx
4945 rorxl $25,%eax,%r13d
4946 rorxl $11,%eax,%r15d
4947 leal (%r8,%r14,1),%r8d
4948 leal (%rdx,%r12,1),%edx
4949 andnl %ecx,%eax,%r12d
4952 leal (%rdx,%r12,1),%edx
4955 rorxl $22,%r8d,%r12d
4956 leal (%rdx,%r13,1),%edx
4958 rorxl $13,%r8d,%r14d
4960 leal (%r11,%rdx,1),%r11d
4965 leal (%rdx,%rdi,1),%edx
4967 addl 36+16(%rbp),%ecx
4969 rorxl $25,%r11d,%r13d
4970 rorxl $11,%r11d,%edi
4971 leal (%rdx,%r14,1),%edx
4972 leal (%rcx,%r12,1),%ecx
4973 andnl %ebx,%r11d,%r12d
4975 rorxl $6,%r11d,%r14d
4976 leal (%rcx,%r12,1),%ecx
4979 rorxl $22,%edx,%r12d
4980 leal (%rcx,%r13,1),%ecx
4982 rorxl $13,%edx,%r14d
4984 leal (%r10,%rcx,1),%r10d
4989 leal (%rcx,%r15,1),%ecx
4991 addl 40+16(%rbp),%ebx
4993 rorxl $25,%r10d,%r13d
4994 rorxl $11,%r10d,%r15d
4995 leal (%rcx,%r14,1),%ecx
4996 leal (%rbx,%r12,1),%ebx
4997 andnl %eax,%r10d,%r12d
4999 rorxl $6,%r10d,%r14d
5000 leal (%rbx,%r12,1),%ebx
5003 rorxl $22,%ecx,%r12d
5004 leal (%rbx,%r13,1),%ebx
5006 rorxl $13,%ecx,%r14d
5008 leal (%r9,%rbx,1),%r9d
5013 leal (%rbx,%rdi,1),%ebx
5015 addl 44+16(%rbp),%eax
5017 rorxl $25,%r9d,%r13d
5019 leal (%rbx,%r14,1),%ebx
5020 leal (%rax,%r12,1),%eax
5021 andnl %r11d,%r9d,%r12d
5024 leal (%rax,%r12,1),%eax
5027 rorxl $22,%ebx,%r12d
5028 leal (%rax,%r13,1),%eax
5030 rorxl $13,%ebx,%r14d
5032 leal (%r8,%rax,1),%r8d
5037 leal (%rax,%r15,1),%eax
5048 .cfi_escape 0x0f,0x06,0x77,0xd8,0x00,0x06,0x23,0x08
5060 cmpq 64+16(%rsp),%rsi
5076 .cfi_escape 0x0f,0x06,0x76,0xd8,0x00,0x06,0x23,0x08
5095 .cfi_def_cfa_register %rsp
5099 SET_SIZE(zfs_sha256_transform_avx2)
5101 #if defined(__ELF__)
5102 .section .note.GNU-stack,"",%progbits