1// SPDX-License-Identifier: CDDL-1.0 2/* 3 * CDDL HEADER START 4 * 5 * The contents of this file are subject to the terms of the 6 * Common Development and Distribution License (the "License"). 7 * You may not use this file except in compliance with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or https://opensource.org/licenses/CDDL-1.0. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 23/* 24 * Based on BLAKE3 v1.3.1, https://github.com/BLAKE3-team/BLAKE3 25 * Copyright (c) 2019-2022 Samuel Neves and Matthew Krupcale 26 * Copyright (c) 2022-2023 Tino Reichardt <milky-zfs@mcmilk.de> 27 * 28 * This is converted assembly: SSE2 -> ARMv8-A 29 * Used tools: SIMDe https://github.com/simd-everywhere/simde 30 * 31 * Should work on FreeBSD, Linux and macOS 32 * see: https://github.com/mcmilk/BLAKE3-tests/blob/master/contrib/simde.sh 33 */ 34 35#if defined(__aarch64__) 36 37/* make gcc <= 9 happy */ 38#if !defined(LD_VERSION) || LD_VERSION >= 233010000 39#define CFI_NEGATE_RA_STATE .cfi_negate_ra_state 40#else 41#define CFI_NEGATE_RA_STATE 42#endif 43 44 .text 45 .section .note.gnu.property,"a",@note 46 .p2align 3 47 .word 4 48 .word 16 49 .word 5 50 .asciz "GNU" 51 .word 3221225472 52 .word 4 53 .word 3 54 .word 0 55.Lsec_end0: 56 .text 57 .globl zfs_blake3_compress_in_place_sse2 58 .p2align 2 59 .type zfs_blake3_compress_in_place_sse2,@function 60zfs_blake3_compress_in_place_sse2: 61 .cfi_startproc 62 hint #25 63 CFI_NEGATE_RA_STATE 64 sub sp, sp, #96 65 stp x29, x30, [sp, #64] 66 add x29, sp, #64 67 str x19, [sp, #80] 68 .cfi_def_cfa w29, 32 69 .cfi_offset w19, -16 70 .cfi_offset w30, -24 71 .cfi_offset w29, -32 72 mov x19, x0 73 mov w5, w4 74 mov x4, x3 75 mov w3, w2 76 mov x2, x1 77 mov x0, sp 78 mov x1, x19 79 bl compress_pre 80 ldp q0, q1, [sp] 81 ldp q2, q3, [sp, #32] 82 eor v0.16b, v2.16b, v0.16b 83 eor v1.16b, v3.16b, v1.16b 84 ldp x29, x30, [sp, #64] 85 stp q0, q1, [x19] 86 ldr x19, [sp, #80] 87 add sp, sp, #96 88 hint #29 89 ret 90.Lfunc_end0: 91 .size zfs_blake3_compress_in_place_sse2, .Lfunc_end0-zfs_blake3_compress_in_place_sse2 92 .cfi_endproc 93 94 .section .rodata.cst16,"aM",@progbits,16 95 .p2align 4 96.LCPI1_0: 97 .xword -4942790177982912921 98 .xword -6534734903820487822 99 .text 100 .p2align 2 101 .type compress_pre,@function 102compress_pre: 103 .cfi_startproc 104 hint #34 105 fmov s1, w3 106 movi d0, #0x0000ff000000ff 107 ldr q2, [x1] 108 fmov d3, x4 109 adrp x8, .LCPI1_0 110 mov v1.s[1], w5 111 str q2, [x0] 112 ldr q4, [x8, :lo12:.LCPI1_0] 113 add x8, x2, #32 114 ldr q5, [x1, #16] 115 and v0.8b, v1.8b, v0.8b 116 stp q5, q4, [x0, #16] 117 mov v3.d[1], v0.d[0] 118 str q3, [x0, #48] 119 ldp q0, q6, [x2] 120 uzp1 v1.4s, v0.4s, v6.4s 121 uzp2 v0.4s, v0.4s, v6.4s 122 add v2.4s, v2.4s, v1.4s 123 uzp1 v18.4s, v1.4s, v1.4s 124 add v2.4s, v2.4s, v5.4s 125 eor v3.16b, v2.16b, v3.16b 126 add v2.4s, v2.4s, v0.4s 127 rev32 v3.8h, v3.8h 128 add v4.4s, v3.4s, v4.4s 129 eor v5.16b, v4.16b, v5.16b 130 ushr v6.4s, v5.4s, #12 131 shl v5.4s, v5.4s, #20 132 orr v5.16b, v5.16b, v6.16b 133 add v2.4s, v2.4s, v5.4s 134 eor v3.16b, v2.16b, v3.16b 135 ushr v6.4s, v3.4s, #8 136 shl v3.4s, v3.4s, #24 137 orr v3.16b, v3.16b, v6.16b 138 ld2 { v6.4s, v7.4s }, [x8] 139 add v4.4s, v3.4s, v4.4s 140 ext v3.16b, v3.16b, v3.16b, #8 141 add v2.4s, v2.4s, v6.4s 142 eor v5.16b, v4.16b, v5.16b 143 ext v4.16b, v4.16b, v4.16b, #4 144 ext v6.16b, v6.16b, v6.16b, #12 145 ext v2.16b, v2.16b, v2.16b, #12 146 ushr v16.4s, v5.4s, #7 147 shl v5.4s, v5.4s, #25 148 orr v5.16b, v5.16b, v16.16b 149 ext v16.16b, v7.16b, v7.16b, #12 150 add v2.4s, v2.4s, v5.4s 151 mov v7.16b, v16.16b 152 eor v3.16b, v3.16b, v2.16b 153 add v2.4s, v2.4s, v16.4s 154 mov v7.s[1], v6.s[2] 155 rev32 v3.8h, v3.8h 156 add v4.4s, v4.4s, v3.4s 157 eor v5.16b, v4.16b, v5.16b 158 ushr v17.4s, v5.4s, #12 159 shl v5.4s, v5.4s, #20 160 orr v5.16b, v5.16b, v17.16b 161 add v2.4s, v2.4s, v5.4s 162 eor v3.16b, v2.16b, v3.16b 163 ushr v17.4s, v3.4s, #8 164 shl v3.4s, v3.4s, #24 165 orr v3.16b, v3.16b, v17.16b 166 ext v17.16b, v18.16b, v1.16b, #8 167 add v4.4s, v3.4s, v4.4s 168 uzp2 v17.4s, v17.4s, v0.4s 169 ext v3.16b, v3.16b, v3.16b, #8 170 eor v5.16b, v4.16b, v5.16b 171 add v2.4s, v2.4s, v17.4s 172 ext v4.16b, v4.16b, v4.16b, #12 173 ushr v18.4s, v5.4s, #7 174 shl v5.4s, v5.4s, #25 175 ext v2.16b, v2.16b, v2.16b, #4 176 orr v5.16b, v5.16b, v18.16b 177 ext v18.16b, v1.16b, v1.16b, #12 178 add v2.4s, v2.4s, v5.4s 179 ext v1.16b, v1.16b, v18.16b, #12 180 zip1 v18.2d, v16.2d, v0.2d 181 zip2 v0.4s, v0.4s, v16.4s 182 eor v3.16b, v3.16b, v2.16b 183 rev64 v1.4s, v1.4s 184 mov v18.s[3], v6.s[3] 185 zip1 v16.4s, v0.4s, v6.4s 186 rev32 v3.8h, v3.8h 187 trn2 v1.4s, v1.4s, v7.4s 188 zip1 v0.4s, v6.4s, v0.4s 189 add v4.4s, v4.4s, v3.4s 190 add v2.4s, v2.4s, v1.4s 191 ext v6.16b, v0.16b, v16.16b, #8 192 eor v5.16b, v4.16b, v5.16b 193 ushr v7.4s, v5.4s, #12 194 shl v5.4s, v5.4s, #20 195 orr v5.16b, v5.16b, v7.16b 196 add v7.4s, v2.4s, v5.4s 197 eor v2.16b, v7.16b, v3.16b 198 ext v7.16b, v7.16b, v7.16b, #12 199 ushr v3.4s, v2.4s, #8 200 shl v2.4s, v2.4s, #24 201 orr v3.16b, v2.16b, v3.16b 202 ext v2.16b, v18.16b, v18.16b, #12 203 add v4.4s, v3.4s, v4.4s 204 uzp1 v2.4s, v18.4s, v2.4s 205 ext v3.16b, v3.16b, v3.16b, #8 206 eor v5.16b, v4.16b, v5.16b 207 add v7.4s, v7.4s, v2.4s 208 ext v4.16b, v4.16b, v4.16b, #4 209 ushr v18.4s, v5.4s, #7 210 shl v5.4s, v5.4s, #25 211 orr v5.16b, v5.16b, v18.16b 212 add v7.4s, v7.4s, v5.4s 213 eor v3.16b, v3.16b, v7.16b 214 add v7.4s, v7.4s, v6.4s 215 rev32 v3.8h, v3.8h 216 add v4.4s, v4.4s, v3.4s 217 eor v5.16b, v4.16b, v5.16b 218 ushr v0.4s, v5.4s, #12 219 shl v5.4s, v5.4s, #20 220 orr v0.16b, v5.16b, v0.16b 221 add v5.4s, v7.4s, v0.4s 222 ext v7.16b, v17.16b, v17.16b, #4 223 eor v3.16b, v5.16b, v3.16b 224 uzp1 v17.4s, v7.4s, v7.4s 225 ushr v16.4s, v3.4s, #8 226 shl v3.4s, v3.4s, #24 227 orr v3.16b, v3.16b, v16.16b 228 ext v16.16b, v17.16b, v7.16b, #8 229 add v4.4s, v3.4s, v4.4s 230 uzp2 v16.4s, v16.4s, v1.4s 231 ext v3.16b, v3.16b, v3.16b, #8 232 eor v0.16b, v4.16b, v0.16b 233 add v5.4s, v5.4s, v16.4s 234 ext v4.16b, v4.16b, v4.16b, #12 235 ushr v17.4s, v0.4s, #7 236 shl v0.4s, v0.4s, #25 237 ext v5.16b, v5.16b, v5.16b, #4 238 orr v0.16b, v0.16b, v17.16b 239 ext v17.16b, v7.16b, v7.16b, #12 240 add v5.4s, v5.4s, v0.4s 241 ext v7.16b, v7.16b, v17.16b, #12 242 mov v17.16b, v6.16b 243 eor v3.16b, v3.16b, v5.16b 244 rev64 v7.4s, v7.4s 245 mov v17.s[1], v2.s[2] 246 rev32 v3.8h, v3.8h 247 add v4.4s, v4.4s, v3.4s 248 eor v18.16b, v4.16b, v0.16b 249 trn2 v0.4s, v7.4s, v17.4s 250 ushr v7.4s, v18.4s, #12 251 shl v17.4s, v18.4s, #20 252 add v5.4s, v5.4s, v0.4s 253 zip1 v18.2d, v6.2d, v1.2d 254 zip2 v1.4s, v1.4s, v6.4s 255 orr v7.16b, v17.16b, v7.16b 256 mov v18.s[3], v2.s[3] 257 zip1 v6.4s, v1.4s, v2.4s 258 add v5.4s, v5.4s, v7.4s 259 zip1 v1.4s, v2.4s, v1.4s 260 eor v3.16b, v5.16b, v3.16b 261 ext v5.16b, v5.16b, v5.16b, #12 262 ext v6.16b, v1.16b, v6.16b, #8 263 ushr v17.4s, v3.4s, #8 264 shl v3.4s, v3.4s, #24 265 orr v17.16b, v3.16b, v17.16b 266 ext v3.16b, v18.16b, v18.16b, #12 267 add v4.4s, v17.4s, v4.4s 268 uzp1 v3.4s, v18.4s, v3.4s 269 ext v17.16b, v17.16b, v17.16b, #8 270 eor v7.16b, v4.16b, v7.16b 271 add v5.4s, v5.4s, v3.4s 272 ext v4.16b, v4.16b, v4.16b, #4 273 ushr v18.4s, v7.4s, #7 274 shl v7.4s, v7.4s, #25 275 orr v7.16b, v7.16b, v18.16b 276 add v5.4s, v5.4s, v7.4s 277 eor v17.16b, v17.16b, v5.16b 278 add v5.4s, v5.4s, v6.4s 279 rev32 v17.8h, v17.8h 280 add v4.4s, v4.4s, v17.4s 281 eor v2.16b, v4.16b, v7.16b 282 ext v7.16b, v16.16b, v16.16b, #4 283 ushr v1.4s, v2.4s, #12 284 shl v2.4s, v2.4s, #20 285 orr v1.16b, v2.16b, v1.16b 286 add v2.4s, v5.4s, v1.4s 287 eor v5.16b, v2.16b, v17.16b 288 uzp1 v17.4s, v7.4s, v7.4s 289 ushr v16.4s, v5.4s, #8 290 shl v5.4s, v5.4s, #24 291 orr v5.16b, v5.16b, v16.16b 292 ext v16.16b, v17.16b, v7.16b, #8 293 add v4.4s, v5.4s, v4.4s 294 uzp2 v16.4s, v16.4s, v0.4s 295 ext v5.16b, v5.16b, v5.16b, #8 296 eor v1.16b, v4.16b, v1.16b 297 add v2.4s, v2.4s, v16.4s 298 ext v4.16b, v4.16b, v4.16b, #12 299 ushr v17.4s, v1.4s, #7 300 shl v1.4s, v1.4s, #25 301 ext v2.16b, v2.16b, v2.16b, #4 302 orr v1.16b, v1.16b, v17.16b 303 ext v17.16b, v7.16b, v7.16b, #12 304 add v2.4s, v2.4s, v1.4s 305 ext v7.16b, v7.16b, v17.16b, #12 306 mov v17.16b, v6.16b 307 eor v5.16b, v5.16b, v2.16b 308 rev64 v7.4s, v7.4s 309 mov v17.s[1], v3.s[2] 310 rev32 v5.8h, v5.8h 311 add v4.4s, v4.4s, v5.4s 312 eor v18.16b, v4.16b, v1.16b 313 trn2 v1.4s, v7.4s, v17.4s 314 ushr v7.4s, v18.4s, #12 315 shl v17.4s, v18.4s, #20 316 add v2.4s, v2.4s, v1.4s 317 zip1 v18.2d, v6.2d, v0.2d 318 zip2 v0.4s, v0.4s, v6.4s 319 orr v7.16b, v17.16b, v7.16b 320 mov v18.s[3], v3.s[3] 321 add v2.4s, v2.4s, v7.4s 322 eor v5.16b, v2.16b, v5.16b 323 ext v2.16b, v2.16b, v2.16b, #12 324 ushr v17.4s, v5.4s, #8 325 shl v5.4s, v5.4s, #24 326 orr v5.16b, v5.16b, v17.16b 327 add v17.4s, v5.4s, v4.4s 328 ext v4.16b, v18.16b, v18.16b, #12 329 ext v5.16b, v5.16b, v5.16b, #8 330 eor v7.16b, v17.16b, v7.16b 331 uzp1 v4.4s, v18.4s, v4.4s 332 ext v17.16b, v17.16b, v17.16b, #4 333 ushr v18.4s, v7.4s, #7 334 shl v7.4s, v7.4s, #25 335 add v2.4s, v2.4s, v4.4s 336 orr v7.16b, v7.16b, v18.16b 337 add v2.4s, v2.4s, v7.4s 338 eor v5.16b, v5.16b, v2.16b 339 rev32 v5.8h, v5.8h 340 add v6.4s, v17.4s, v5.4s 341 zip1 v17.4s, v0.4s, v3.4s 342 zip1 v0.4s, v3.4s, v0.4s 343 eor v3.16b, v6.16b, v7.16b 344 ext v0.16b, v0.16b, v17.16b, #8 345 ushr v7.4s, v3.4s, #12 346 shl v3.4s, v3.4s, #20 347 add v2.4s, v2.4s, v0.4s 348 orr v3.16b, v3.16b, v7.16b 349 ext v7.16b, v16.16b, v16.16b, #4 350 add v2.4s, v2.4s, v3.4s 351 uzp1 v17.4s, v7.4s, v7.4s 352 eor v5.16b, v2.16b, v5.16b 353 ushr v16.4s, v5.4s, #8 354 shl v5.4s, v5.4s, #24 355 orr v5.16b, v5.16b, v16.16b 356 ext v16.16b, v17.16b, v7.16b, #8 357 add v6.4s, v5.4s, v6.4s 358 uzp2 v16.4s, v16.4s, v1.4s 359 ext v5.16b, v5.16b, v5.16b, #8 360 eor v3.16b, v6.16b, v3.16b 361 add v2.4s, v2.4s, v16.4s 362 ext v6.16b, v6.16b, v6.16b, #12 363 ushr v17.4s, v3.4s, #7 364 shl v3.4s, v3.4s, #25 365 ext v2.16b, v2.16b, v2.16b, #4 366 orr v3.16b, v3.16b, v17.16b 367 add v17.4s, v2.4s, v3.4s 368 eor v2.16b, v5.16b, v17.16b 369 ext v5.16b, v7.16b, v7.16b, #12 370 rev32 v18.8h, v2.8h 371 ext v2.16b, v7.16b, v5.16b, #12 372 mov v5.16b, v0.16b 373 add v6.4s, v6.4s, v18.4s 374 rev64 v2.4s, v2.4s 375 mov v5.s[1], v4.s[2] 376 eor v3.16b, v6.16b, v3.16b 377 trn2 v2.4s, v2.4s, v5.4s 378 ushr v5.4s, v3.4s, #12 379 shl v3.4s, v3.4s, #20 380 add v7.4s, v17.4s, v2.4s 381 orr v3.16b, v3.16b, v5.16b 382 add v5.4s, v7.4s, v3.4s 383 eor v7.16b, v5.16b, v18.16b 384 zip1 v18.2d, v0.2d, v1.2d 385 ext v5.16b, v5.16b, v5.16b, #12 386 zip2 v0.4s, v1.4s, v0.4s 387 ushr v17.4s, v7.4s, #8 388 shl v7.4s, v7.4s, #24 389 mov v18.s[3], v4.s[3] 390 orr v7.16b, v7.16b, v17.16b 391 ext v17.16b, v18.16b, v18.16b, #12 392 add v6.4s, v7.4s, v6.4s 393 ext v7.16b, v7.16b, v7.16b, #8 394 eor v19.16b, v6.16b, v3.16b 395 uzp1 v3.4s, v18.4s, v17.4s 396 ext v6.16b, v6.16b, v6.16b, #4 397 ushr v17.4s, v19.4s, #7 398 shl v18.4s, v19.4s, #25 399 add v5.4s, v5.4s, v3.4s 400 orr v17.16b, v18.16b, v17.16b 401 add v5.4s, v5.4s, v17.4s 402 eor v7.16b, v7.16b, v5.16b 403 rev32 v7.8h, v7.8h 404 add v1.4s, v6.4s, v7.4s 405 zip1 v6.4s, v0.4s, v4.4s 406 zip1 v0.4s, v4.4s, v0.4s 407 eor v4.16b, v1.16b, v17.16b 408 ext v6.16b, v0.16b, v6.16b, #8 409 ushr v0.4s, v4.4s, #12 410 shl v4.4s, v4.4s, #20 411 add v5.4s, v5.4s, v6.4s 412 zip1 v20.2d, v6.2d, v2.2d 413 orr v0.16b, v4.16b, v0.16b 414 mov v20.s[3], v3.s[3] 415 add v4.4s, v5.4s, v0.4s 416 eor v5.16b, v4.16b, v7.16b 417 ext v7.16b, v16.16b, v16.16b, #4 418 ushr v16.4s, v5.4s, #8 419 shl v5.4s, v5.4s, #24 420 uzp1 v17.4s, v7.4s, v7.4s 421 orr v5.16b, v5.16b, v16.16b 422 ext v16.16b, v17.16b, v7.16b, #8 423 add v1.4s, v5.4s, v1.4s 424 uzp2 v16.4s, v16.4s, v2.4s 425 zip2 v2.4s, v2.4s, v6.4s 426 eor v0.16b, v1.16b, v0.16b 427 add v4.4s, v4.4s, v16.4s 428 ext v1.16b, v1.16b, v1.16b, #12 429 ext v16.16b, v16.16b, v16.16b, #4 430 ushr v17.4s, v0.4s, #7 431 shl v0.4s, v0.4s, #25 432 ext v4.16b, v4.16b, v4.16b, #4 433 orr v17.16b, v0.16b, v17.16b 434 ext v0.16b, v5.16b, v5.16b, #8 435 ext v5.16b, v7.16b, v7.16b, #12 436 add v4.4s, v4.4s, v17.4s 437 eor v0.16b, v0.16b, v4.16b 438 rev32 v18.8h, v0.8h 439 ext v0.16b, v7.16b, v5.16b, #12 440 mov v5.16b, v6.16b 441 add v7.4s, v1.4s, v18.4s 442 rev64 v1.4s, v0.4s 443 mov v5.s[1], v3.s[2] 444 eor v17.16b, v7.16b, v17.16b 445 trn2 v1.4s, v1.4s, v5.4s 446 ushr v19.4s, v17.4s, #12 447 shl v17.4s, v17.4s, #20 448 add v4.4s, v4.4s, v1.4s 449 orr v17.16b, v17.16b, v19.16b 450 add v19.4s, v4.4s, v17.4s 451 eor v4.16b, v19.16b, v18.16b 452 ext v19.16b, v19.16b, v19.16b, #12 453 ushr v18.4s, v4.4s, #8 454 shl v4.4s, v4.4s, #24 455 orr v18.16b, v4.16b, v18.16b 456 ext v4.16b, v20.16b, v20.16b, #12 457 add v7.4s, v18.4s, v7.4s 458 uzp1 v4.4s, v20.4s, v4.4s 459 ext v18.16b, v18.16b, v18.16b, #8 460 eor v17.16b, v7.16b, v17.16b 461 add v19.4s, v19.4s, v4.4s 462 ext v7.16b, v7.16b, v7.16b, #4 463 ushr v20.4s, v17.4s, #7 464 shl v17.4s, v17.4s, #25 465 orr v17.16b, v17.16b, v20.16b 466 add v19.4s, v19.4s, v17.4s 467 eor v18.16b, v18.16b, v19.16b 468 rev32 v18.8h, v18.8h 469 add v6.4s, v7.4s, v18.4s 470 zip1 v7.4s, v2.4s, v3.4s 471 zip1 v2.4s, v3.4s, v2.4s 472 eor v3.16b, v6.16b, v17.16b 473 ext v2.16b, v2.16b, v7.16b, #8 474 ushr v7.4s, v3.4s, #12 475 shl v3.4s, v3.4s, #20 476 add v17.4s, v19.4s, v2.4s 477 zip1 v1.2d, v2.2d, v1.2d 478 zip2 v0.4s, v0.4s, v2.4s 479 orr v3.16b, v3.16b, v7.16b 480 mov v1.s[3], v4.s[3] 481 add v7.4s, v17.4s, v3.4s 482 eor v17.16b, v7.16b, v18.16b 483 ext v7.16b, v7.16b, v7.16b, #4 484 ushr v18.4s, v17.4s, #8 485 shl v17.4s, v17.4s, #24 486 orr v17.16b, v17.16b, v18.16b 487 ext v18.16b, v16.16b, v16.16b, #8 488 add v6.4s, v17.4s, v6.4s 489 uzp2 v5.4s, v18.4s, v5.4s 490 eor v3.16b, v6.16b, v3.16b 491 ext v5.16b, v5.16b, v18.16b, #4 492 ext v6.16b, v6.16b, v6.16b, #12 493 ushr v18.4s, v3.4s, #7 494 shl v3.4s, v3.4s, #25 495 add v5.4s, v7.4s, v5.4s 496 ext v7.16b, v17.16b, v17.16b, #8 497 ext v17.16b, v16.16b, v16.16b, #12 498 orr v3.16b, v3.16b, v18.16b 499 ext v16.16b, v16.16b, v17.16b, #12 500 add v5.4s, v3.4s, v5.4s 501 mov v17.16b, v2.16b 502 rev64 v16.4s, v16.4s 503 eor v7.16b, v7.16b, v5.16b 504 mov v17.s[1], v4.s[2] 505 rev32 v7.8h, v7.8h 506 trn2 v16.4s, v16.4s, v17.4s 507 add v6.4s, v6.4s, v7.4s 508 add v5.4s, v5.4s, v16.4s 509 eor v3.16b, v6.16b, v3.16b 510 ushr v17.4s, v3.4s, #12 511 shl v3.4s, v3.4s, #20 512 orr v3.16b, v3.16b, v17.16b 513 add v5.4s, v5.4s, v3.4s 514 eor v7.16b, v5.16b, v7.16b 515 ext v5.16b, v5.16b, v5.16b, #12 516 ushr v16.4s, v7.4s, #8 517 shl v7.4s, v7.4s, #24 518 orr v7.16b, v7.16b, v16.16b 519 ext v16.16b, v1.16b, v1.16b, #12 520 add v6.4s, v7.4s, v6.4s 521 uzp1 v1.4s, v1.4s, v16.4s 522 eor v3.16b, v6.16b, v3.16b 523 add v1.4s, v5.4s, v1.4s 524 ext v5.16b, v7.16b, v7.16b, #8 525 ext v6.16b, v6.16b, v6.16b, #4 526 ushr v16.4s, v3.4s, #7 527 shl v3.4s, v3.4s, #25 528 orr v3.16b, v3.16b, v16.16b 529 add v1.4s, v1.4s, v3.4s 530 eor v5.16b, v5.16b, v1.16b 531 rev32 v5.8h, v5.8h 532 add v2.4s, v6.4s, v5.4s 533 zip1 v6.4s, v0.4s, v4.4s 534 zip1 v0.4s, v4.4s, v0.4s 535 eor v3.16b, v2.16b, v3.16b 536 ext v0.16b, v0.16b, v6.16b, #8 537 ushr v4.4s, v3.4s, #12 538 shl v3.4s, v3.4s, #20 539 add v0.4s, v1.4s, v0.4s 540 orr v1.16b, v3.16b, v4.16b 541 add v0.4s, v0.4s, v1.4s 542 eor v3.16b, v0.16b, v5.16b 543 ext v0.16b, v0.16b, v0.16b, #4 544 ushr v4.4s, v3.4s, #8 545 shl v3.4s, v3.4s, #24 546 orr v3.16b, v3.16b, v4.16b 547 add v2.4s, v3.4s, v2.4s 548 ext v3.16b, v3.16b, v3.16b, #8 549 eor v1.16b, v2.16b, v1.16b 550 ext v2.16b, v2.16b, v2.16b, #12 551 ushr v4.4s, v1.4s, #7 552 shl v1.4s, v1.4s, #25 553 stp q2, q3, [x0, #32] 554 orr v1.16b, v1.16b, v4.16b 555 stp q0, q1, [x0] 556 ret 557.Lfunc_end1: 558 .size compress_pre, .Lfunc_end1-compress_pre 559 .cfi_endproc 560 561 .globl zfs_blake3_compress_xof_sse2 562 .p2align 2 563 .type zfs_blake3_compress_xof_sse2,@function 564zfs_blake3_compress_xof_sse2: 565 .cfi_startproc 566 hint #25 567 CFI_NEGATE_RA_STATE 568 sub sp, sp, #96 569 stp x29, x30, [sp, #64] 570 add x29, sp, #64 571 stp x20, x19, [sp, #80] 572 .cfi_def_cfa w29, 32 573 .cfi_offset w19, -8 574 .cfi_offset w20, -16 575 .cfi_offset w30, -24 576 .cfi_offset w29, -32 577 mov x20, x0 578 mov x19, x5 579 mov w5, w4 580 mov x4, x3 581 mov w3, w2 582 mov x2, x1 583 mov x0, sp 584 mov x1, x20 585 bl compress_pre 586 ldp q0, q1, [sp] 587 ldp q2, q3, [sp, #32] 588 eor v0.16b, v2.16b, v0.16b 589 eor v1.16b, v3.16b, v1.16b 590 ldp x29, x30, [sp, #64] 591 stp q0, q1, [x19] 592 ldr q0, [x20] 593 eor v0.16b, v0.16b, v2.16b 594 str q0, [x19, #32] 595 ldr q0, [x20, #16] 596 eor v0.16b, v0.16b, v3.16b 597 str q0, [x19, #48] 598 ldp x20, x19, [sp, #80] 599 add sp, sp, #96 600 hint #29 601 ret 602.Lfunc_end2: 603 .size zfs_blake3_compress_xof_sse2, .Lfunc_end2-zfs_blake3_compress_xof_sse2 604 .cfi_endproc 605 606 .section .rodata.cst16,"aM",@progbits,16 607 .p2align 4 608.LCPI3_0: 609 .word 0 610 .word 1 611 .word 2 612 .word 3 613 .text 614 .globl zfs_blake3_hash_many_sse2 615 .p2align 2 616 .type zfs_blake3_hash_many_sse2,@function 617zfs_blake3_hash_many_sse2: 618 .cfi_startproc 619 hint #25 620 CFI_NEGATE_RA_STATE 621 stp d15, d14, [sp, #-160]! 622 stp d13, d12, [sp, #16] 623 stp d11, d10, [sp, #32] 624 stp d9, d8, [sp, #48] 625 stp x29, x30, [sp, #64] 626 add x29, sp, #64 627 stp x28, x27, [sp, #80] 628 stp x26, x25, [sp, #96] 629 stp x24, x23, [sp, #112] 630 stp x22, x21, [sp, #128] 631 stp x20, x19, [sp, #144] 632 sub sp, sp, #464 633 .cfi_def_cfa w29, 96 634 .cfi_offset w19, -8 635 .cfi_offset w20, -16 636 .cfi_offset w21, -24 637 .cfi_offset w22, -32 638 .cfi_offset w23, -40 639 .cfi_offset w24, -48 640 .cfi_offset w25, -56 641 .cfi_offset w26, -64 642 .cfi_offset w27, -72 643 .cfi_offset w28, -80 644 .cfi_offset w30, -88 645 .cfi_offset w29, -96 646 .cfi_offset b8, -104 647 .cfi_offset b9, -112 648 .cfi_offset b10, -120 649 .cfi_offset b11, -128 650 .cfi_offset b12, -136 651 .cfi_offset b13, -144 652 .cfi_offset b14, -152 653 .cfi_offset b15, -160 654 mov w19, w6 655 mov x20, x4 656 mov x24, x1 657 ldr x26, [x29, #104] 658 ldrb w27, [x29, #96] 659 cmp x1, #4 660 str x3, [sp, #40] 661 b.lo .LBB3_6 662 adrp x8, .LCPI3_0 663 sbfx w9, w5, #0, #1 664 mov w10, #44677 665 mov w11, #62322 666 movk w10, #47975, lsl #16 667 movk w11, #15470, lsl #16 668 ldr q0, [x8, :lo12:.LCPI3_0] 669 dup v1.4s, w9 670 mov w9, #58983 671 orr w8, w7, w19 672 movk w9, #27145, lsl #16 673 and v0.16b, v1.16b, v0.16b 674 dup v1.4s, w11 675 movi v24.4s, #64 676 dup v2.4s, w9 677 mov w9, #62778 678 movk w9, #42319, lsl #16 679 str q0, [sp, #16] 680 orr v0.4s, #128, lsl #24 681 stp q2, q1, [sp, #48] 682 str q0, [sp] 683 dup v0.4s, w10 684 str q0, [sp, #80] 685 b .LBB3_3 686.LBB3_2: 687 zip1 v0.4s, v12.4s, v31.4s 688 add x10, x20, #4 689 zip1 v1.4s, v29.4s, v30.4s 690 tst w5, #0x1 691 zip1 v2.4s, v28.4s, v23.4s 692 csel x20, x10, x20, ne 693 zip1 v3.4s, v13.4s, v25.4s 694 add x0, x0, #32 695 zip2 v6.4s, v12.4s, v31.4s 696 sub x24, x24, #4 697 zip1 v4.2d, v0.2d, v1.2d 698 cmp x24, #3 699 zip2 v7.4s, v29.4s, v30.4s 700 zip1 v5.2d, v2.2d, v3.2d 701 zip2 v0.2d, v0.2d, v1.2d 702 zip2 v1.2d, v2.2d, v3.2d 703 zip2 v2.4s, v28.4s, v23.4s 704 zip2 v3.4s, v13.4s, v25.4s 705 stp q4, q5, [x26] 706 zip2 v4.2d, v6.2d, v7.2d 707 stp q0, q1, [x26, #32] 708 zip1 v0.2d, v6.2d, v7.2d 709 zip1 v1.2d, v2.2d, v3.2d 710 zip2 v2.2d, v2.2d, v3.2d 711 stp q0, q1, [x26, #64] 712 stp q4, q2, [x26, #96] 713 add x26, x26, #128 714 b.ls .LBB3_6 715.LBB3_3: 716 ldr x14, [sp, #40] 717 mov x10, x14 718 add x11, x14, #8 719 add x12, x14, #12 720 add x13, x14, #16 721 ld1r { v12.4s }, [x10], #4 722 ld1r { v29.4s }, [x11] 723 add x11, x14, #20 724 ld1r { v30.4s }, [x12] 725 add x12, x14, #24 726 ld1r { v28.4s }, [x13] 727 ld1r { v23.4s }, [x11] 728 add x11, x14, #28 729 ld1r { v13.4s }, [x12] 730 ld1r { v31.4s }, [x10] 731 ld1r { v25.4s }, [x11] 732 cbz x2, .LBB3_2 733 ldr q1, [sp, #16] 734 dup v0.4s, w20 735 lsr x12, x20, #32 736 mov x10, xzr 737 ldp x13, x14, [x0, #16] 738 add v1.4s, v0.4s, v1.4s 739 mov x15, x2 740 movi v0.4s, #128, lsl #24 741 mov w4, w8 742 str q1, [sp, #112] 743 eor v0.16b, v1.16b, v0.16b 744 ldr q1, [sp] 745 cmgt v0.4s, v1.4s, v0.4s 746 dup v1.4s, w12 747 ldp x11, x12, [x0] 748 sub v0.4s, v1.4s, v0.4s 749 str q0, [sp, #96] 750.LBB3_5: 751 add x17, x11, x10 752 add x21, x12, x10 753 add x16, x13, x10 754 add x6, x14, x10 755 subs x15, x15, #1 756 add x10, x10, #64 757 ldp q0, q1, [x17] 758 csel w3, w27, wzr, eq 759 orr w3, w3, w4 760 mov w4, w19 761 and w3, w3, #0xff 762 ldp q3, q6, [x21] 763 dup v2.4s, w3 764 zip1 v21.4s, v0.4s, v3.4s 765 zip2 v19.4s, v0.4s, v3.4s 766 ldp q5, q7, [x16] 767 zip1 v17.4s, v1.4s, v6.4s 768 zip2 v22.4s, v1.4s, v6.4s 769 ldp q16, q18, [x6] 770 zip1 v4.4s, v5.4s, v16.4s 771 zip2 v0.4s, v5.4s, v16.4s 772 ldp q26, q27, [x17, #32] 773 zip1 v1.4s, v7.4s, v18.4s 774 zip2 v3.4s, v7.4s, v18.4s 775 zip2 v20.2d, v19.2d, v0.2d 776 mov v19.d[1], v0.d[0] 777 dup v18.4s, w9 778 ldp q8, q9, [x21, #32] 779 stur q19, [x29, #-208] 780 zip2 v7.4s, v26.4s, v8.4s 781 zip1 v10.4s, v26.4s, v8.4s 782 ldp q11, q5, [x16, #32] 783 zip2 v26.2d, v17.2d, v1.2d 784 stp q7, q26, [sp, #192] 785 mov v17.d[1], v1.d[0] 786 add v1.4s, v23.4s, v31.4s 787 ldp q16, q6, [x6, #32] 788 stur q17, [x29, #-256] 789 add v1.4s, v1.4s, v19.4s 790 zip1 v8.4s, v11.4s, v16.4s 791 zip2 v7.4s, v11.4s, v16.4s 792 zip1 v11.4s, v27.4s, v9.4s 793 zip2 v9.4s, v27.4s, v9.4s 794 zip2 v27.2d, v21.2d, v4.2d 795 mov v21.d[1], v4.d[0] 796 str q7, [sp, #224] 797 add v4.4s, v28.4s, v12.4s 798 zip1 v15.4s, v5.4s, v6.4s 799 zip2 v14.4s, v5.4s, v6.4s 800 stur q27, [x29, #-192] 801 zip2 v16.2d, v22.2d, v3.2d 802 stp q20, q21, [x29, #-240] 803 add v0.4s, v4.4s, v21.4s 804 ldp q6, q4, [sp, #96] 805 mov v22.d[1], v3.d[0] 806 add v5.4s, v25.4s, v30.4s 807 add v3.4s, v13.4s, v29.4s 808 eor v6.16b, v1.16b, v6.16b 809 add v1.4s, v1.4s, v20.4s 810 str q22, [sp, #256] 811 eor v4.16b, v0.16b, v4.16b 812 add v5.4s, v5.4s, v22.4s 813 add v3.4s, v3.4s, v17.4s 814 ldr q17, [sp, #48] 815 rev32 v6.8h, v6.8h 816 rev32 v4.8h, v4.8h 817 eor v2.16b, v5.16b, v2.16b 818 eor v7.16b, v3.16b, v24.16b 819 add v0.4s, v0.4s, v27.4s 820 add v21.4s, v4.4s, v17.4s 821 rev32 v31.8h, v2.8h 822 ldr q2, [sp, #80] 823 rev32 v7.8h, v7.8h 824 mov v27.16b, v16.16b 825 eor v17.16b, v21.16b, v28.16b 826 add v29.4s, v6.4s, v2.4s 827 ldr q2, [sp, #64] 828 add v24.4s, v31.4s, v18.4s 829 str q27, [sp, #176] 830 ushr v19.4s, v17.4s, #12 831 shl v17.4s, v17.4s, #20 832 add v30.4s, v7.4s, v2.4s 833 eor v18.16b, v29.16b, v23.16b 834 orr v12.16b, v17.16b, v19.16b 835 eor v17.16b, v30.16b, v13.16b 836 eor v19.16b, v24.16b, v25.16b 837 ushr v23.4s, v18.4s, #12 838 shl v18.4s, v18.4s, #20 839 ushr v25.4s, v17.4s, #12 840 shl v17.4s, v17.4s, #20 841 ushr v28.4s, v19.4s, #12 842 shl v19.4s, v19.4s, #20 843 orr v13.16b, v18.16b, v23.16b 844 orr v25.16b, v17.16b, v25.16b 845 orr v2.16b, v19.16b, v28.16b 846 add v28.4s, v0.4s, v12.4s 847 add v0.4s, v3.4s, v26.4s 848 add v18.4s, v1.4s, v13.4s 849 add v3.4s, v5.4s, v16.4s 850 eor v1.16b, v28.16b, v4.16b 851 add v17.4s, v0.4s, v25.4s 852 eor v0.16b, v18.16b, v6.16b 853 add v19.4s, v3.4s, v2.4s 854 ushr v16.4s, v1.4s, #8 855 shl v3.4s, v1.4s, #24 856 eor v4.16b, v17.16b, v7.16b 857 ushr v6.4s, v0.4s, #8 858 shl v1.4s, v0.4s, #24 859 eor v5.16b, v19.16b, v31.16b 860 ushr v23.4s, v4.4s, #8 861 shl v4.4s, v4.4s, #24 862 orr v7.16b, v3.16b, v16.16b 863 orr v6.16b, v1.16b, v6.16b 864 ushr v31.4s, v5.4s, #8 865 shl v0.4s, v5.4s, #24 866 orr v5.16b, v4.16b, v23.16b 867 add v4.4s, v7.4s, v21.4s 868 ldr q21, [sp, #192] 869 add v3.4s, v6.4s, v29.4s 870 orr v31.16b, v0.16b, v31.16b 871 add v23.4s, v5.4s, v30.4s 872 eor v0.16b, v4.16b, v12.16b 873 eor v1.16b, v3.16b, v13.16b 874 add v16.4s, v31.4s, v24.4s 875 eor v20.16b, v23.16b, v25.16b 876 ushr v24.4s, v0.4s, #7 877 shl v0.4s, v0.4s, #25 878 ushr v29.4s, v1.4s, #7 879 shl v1.4s, v1.4s, #25 880 ushr v30.4s, v20.4s, #7 881 shl v20.4s, v20.4s, #25 882 orr v25.16b, v0.16b, v24.16b 883 orr v0.16b, v1.16b, v29.16b 884 mov v29.16b, v10.16b 885 orr v1.16b, v20.16b, v30.16b 886 mov v20.16b, v10.16b 887 mov v24.16b, v21.16b 888 ldr q20, [sp, #224] 889 mov v29.d[1], v8.d[0] 890 mov v13.16b, v9.16b 891 zip2 v30.2d, v10.2d, v8.2d 892 zip2 v8.2d, v21.2d, v20.2d 893 mov v26.16b, v11.16b 894 mov v24.d[1], v20.d[0] 895 add v20.4s, v28.4s, v29.4s 896 mov v13.d[1], v14.d[0] 897 str q8, [sp, #128] 898 eor v2.16b, v16.16b, v2.16b 899 mov v26.d[1], v15.d[0] 900 str q24, [sp, #192] 901 add v20.4s, v20.4s, v0.4s 902 add v19.4s, v19.4s, v13.4s 903 ushr v12.4s, v2.4s, #7 904 shl v2.4s, v2.4s, #25 905 zip2 v10.2d, v9.2d, v14.2d 906 add v18.4s, v18.4s, v24.4s 907 add v17.4s, v17.4s, v26.4s 908 mov v14.16b, v26.16b 909 eor v26.16b, v20.16b, v31.16b 910 stp q10, q30, [sp, #224] 911 add v19.4s, v19.4s, v25.4s 912 orr v2.16b, v2.16b, v12.16b 913 add v18.4s, v18.4s, v1.4s 914 rev32 v26.8h, v26.8h 915 eor v5.16b, v19.16b, v5.16b 916 add v17.4s, v17.4s, v2.4s 917 eor v7.16b, v18.16b, v7.16b 918 add v23.4s, v23.4s, v26.4s 919 rev32 v5.8h, v5.8h 920 eor v6.16b, v17.16b, v6.16b 921 rev32 v7.8h, v7.8h 922 eor v0.16b, v23.16b, v0.16b 923 add v3.4s, v3.4s, v5.4s 924 rev32 v6.8h, v6.8h 925 add v16.4s, v16.4s, v7.4s 926 ushr v31.4s, v0.4s, #12 927 shl v0.4s, v0.4s, #20 928 eor v25.16b, v3.16b, v25.16b 929 add v4.4s, v4.4s, v6.4s 930 eor v1.16b, v16.16b, v1.16b 931 orr v0.16b, v0.16b, v31.16b 932 ushr v31.4s, v25.4s, #12 933 shl v25.4s, v25.4s, #20 934 add v20.4s, v20.4s, v30.4s 935 zip2 v21.2d, v11.2d, v15.2d 936 ushr v11.4s, v1.4s, #12 937 shl v1.4s, v1.4s, #20 938 eor v2.16b, v4.16b, v2.16b 939 orr v25.16b, v25.16b, v31.16b 940 add v19.4s, v19.4s, v10.4s 941 add v20.4s, v20.4s, v0.4s 942 orr v1.16b, v1.16b, v11.16b 943 ushr v11.4s, v2.4s, #12 944 shl v2.4s, v2.4s, #20 945 add v18.4s, v18.4s, v8.4s 946 add v19.4s, v19.4s, v25.4s 947 eor v26.16b, v20.16b, v26.16b 948 orr v2.16b, v2.16b, v11.16b 949 add v17.4s, v17.4s, v21.4s 950 add v18.4s, v18.4s, v1.4s 951 eor v5.16b, v19.16b, v5.16b 952 ushr v31.4s, v26.4s, #8 953 shl v26.4s, v26.4s, #24 954 add v17.4s, v17.4s, v2.4s 955 ushr v11.4s, v5.4s, #8 956 shl v5.4s, v5.4s, #24 957 eor v7.16b, v18.16b, v7.16b 958 orr v26.16b, v26.16b, v31.16b 959 eor v6.16b, v17.16b, v6.16b 960 orr v5.16b, v5.16b, v11.16b 961 ushr v31.4s, v7.4s, #8 962 shl v7.4s, v7.4s, #24 963 add v23.4s, v26.4s, v23.4s 964 ushr v11.4s, v6.4s, #8 965 shl v6.4s, v6.4s, #24 966 orr v7.16b, v7.16b, v31.16b 967 add v3.4s, v5.4s, v3.4s 968 eor v0.16b, v23.16b, v0.16b 969 ldp q28, q12, [x29, #-256] 970 orr v6.16b, v6.16b, v11.16b 971 add v16.4s, v7.4s, v16.4s 972 eor v25.16b, v3.16b, v25.16b 973 ushr v31.4s, v0.4s, #7 974 shl v0.4s, v0.4s, #25 975 add v4.4s, v6.4s, v4.4s 976 ushr v11.4s, v25.4s, #7 977 shl v25.4s, v25.4s, #25 978 eor v1.16b, v16.16b, v1.16b 979 orr v0.16b, v0.16b, v31.16b 980 add v18.4s, v18.4s, v12.4s 981 mov v15.16b, v29.16b 982 ldur q29, [x29, #-208] 983 eor v2.16b, v4.16b, v2.16b 984 orr v25.16b, v25.16b, v11.16b 985 ushr v31.4s, v1.4s, #7 986 shl v1.4s, v1.4s, #25 987 str q15, [sp, #160] 988 add v20.4s, v20.4s, v29.4s 989 add v18.4s, v18.4s, v0.4s 990 ushr v11.4s, v2.4s, #7 991 shl v2.4s, v2.4s, #25 992 orr v1.16b, v1.16b, v31.16b 993 add v20.4s, v20.4s, v25.4s 994 add v17.4s, v17.4s, v27.4s 995 eor v6.16b, v6.16b, v18.16b 996 orr v2.16b, v2.16b, v11.16b 997 add v19.4s, v19.4s, v28.4s 998 eor v7.16b, v7.16b, v20.16b 999 add v17.4s, v17.4s, v1.4s 1000 rev32 v6.8h, v6.8h 1001 add v19.4s, v19.4s, v2.4s 1002 rev32 v7.8h, v7.8h 1003 eor v5.16b, v17.16b, v5.16b 1004 add v3.4s, v3.4s, v6.4s 1005 eor v26.16b, v19.16b, v26.16b 1006 add v4.4s, v4.4s, v7.4s 1007 rev32 v5.8h, v5.8h 1008 eor v0.16b, v3.16b, v0.16b 1009 rev32 v26.8h, v26.8h 1010 eor v25.16b, v4.16b, v25.16b 1011 add v23.4s, v23.4s, v5.4s 1012 ushr v11.4s, v0.4s, #12 1013 shl v0.4s, v0.4s, #20 1014 add v16.4s, v16.4s, v26.4s 1015 ushr v31.4s, v25.4s, #12 1016 shl v25.4s, v25.4s, #20 1017 eor v1.16b, v23.16b, v1.16b 1018 orr v0.16b, v0.16b, v11.16b 1019 add v18.4s, v18.4s, v24.4s 1020 orr v25.16b, v25.16b, v31.16b 1021 eor v2.16b, v16.16b, v2.16b 1022 ushr v31.4s, v1.4s, #12 1023 shl v1.4s, v1.4s, #20 1024 add v20.4s, v20.4s, v22.4s 1025 add v18.4s, v18.4s, v0.4s 1026 mov v9.16b, v30.16b 1027 mov v30.16b, v21.16b 1028 ldur q21, [x29, #-224] 1029 ushr v11.4s, v2.4s, #12 1030 shl v2.4s, v2.4s, #20 1031 orr v1.16b, v1.16b, v31.16b 1032 add v20.4s, v20.4s, v25.4s 1033 str q30, [sp, #144] 1034 add v17.4s, v17.4s, v21.4s 1035 ldur q21, [x29, #-192] 1036 eor v6.16b, v18.16b, v6.16b 1037 orr v2.16b, v2.16b, v11.16b 1038 add v19.4s, v19.4s, v30.4s 1039 eor v7.16b, v20.16b, v7.16b 1040 add v17.4s, v17.4s, v1.4s 1041 ushr v11.4s, v6.4s, #8 1042 shl v6.4s, v6.4s, #24 1043 add v19.4s, v19.4s, v2.4s 1044 ushr v31.4s, v7.4s, #8 1045 shl v7.4s, v7.4s, #24 1046 eor v5.16b, v17.16b, v5.16b 1047 orr v6.16b, v6.16b, v11.16b 1048 eor v26.16b, v19.16b, v26.16b 1049 orr v7.16b, v7.16b, v31.16b 1050 ushr v31.4s, v5.4s, #8 1051 shl v5.4s, v5.4s, #24 1052 add v3.4s, v6.4s, v3.4s 1053 ushr v11.4s, v26.4s, #8 1054 shl v26.4s, v26.4s, #24 1055 add v4.4s, v7.4s, v4.4s 1056 orr v5.16b, v5.16b, v31.16b 1057 eor v0.16b, v3.16b, v0.16b 1058 orr v26.16b, v26.16b, v11.16b 1059 eor v25.16b, v4.16b, v25.16b 1060 add v23.4s, v5.4s, v23.4s 1061 ushr v11.4s, v0.4s, #7 1062 shl v0.4s, v0.4s, #25 1063 add v16.4s, v26.4s, v16.4s 1064 ushr v31.4s, v25.4s, #7 1065 shl v25.4s, v25.4s, #25 1066 eor v1.16b, v23.16b, v1.16b 1067 orr v0.16b, v0.16b, v11.16b 1068 add v20.4s, v20.4s, v21.4s 1069 orr v25.16b, v25.16b, v31.16b 1070 eor v2.16b, v16.16b, v2.16b 1071 ushr v31.4s, v1.4s, #7 1072 shl v1.4s, v1.4s, #25 1073 add v20.4s, v20.4s, v0.4s 1074 add v19.4s, v19.4s, v10.4s 1075 ushr v11.4s, v2.4s, #7 1076 shl v2.4s, v2.4s, #25 1077 orr v1.16b, v1.16b, v31.16b 1078 add v18.4s, v18.4s, v14.4s 1079 eor v26.16b, v20.16b, v26.16b 1080 add v19.4s, v19.4s, v25.4s 1081 orr v2.16b, v2.16b, v11.16b 1082 add v17.4s, v17.4s, v9.4s 1083 ldr q9, [sp, #208] 1084 add v18.4s, v18.4s, v1.4s 1085 rev32 v26.8h, v26.8h 1086 eor v5.16b, v19.16b, v5.16b 1087 add v17.4s, v17.4s, v2.4s 1088 eor v7.16b, v18.16b, v7.16b 1089 add v23.4s, v23.4s, v26.4s 1090 rev32 v5.8h, v5.8h 1091 eor v6.16b, v17.16b, v6.16b 1092 rev32 v7.8h, v7.8h 1093 eor v0.16b, v23.16b, v0.16b 1094 add v3.4s, v3.4s, v5.4s 1095 rev32 v6.8h, v6.8h 1096 add v16.4s, v16.4s, v7.4s 1097 ushr v31.4s, v0.4s, #12 1098 shl v0.4s, v0.4s, #20 1099 eor v25.16b, v3.16b, v25.16b 1100 add v4.4s, v4.4s, v6.4s 1101 eor v1.16b, v16.16b, v1.16b 1102 orr v0.16b, v0.16b, v31.16b 1103 ushr v31.4s, v25.4s, #12 1104 shl v25.4s, v25.4s, #20 1105 add v20.4s, v20.4s, v8.4s 1106 ushr v11.4s, v1.4s, #12 1107 shl v1.4s, v1.4s, #20 1108 eor v2.16b, v4.16b, v2.16b 1109 orr v25.16b, v25.16b, v31.16b 1110 add v19.4s, v19.4s, v15.4s 1111 add v20.4s, v20.4s, v0.4s 1112 orr v1.16b, v1.16b, v11.16b 1113 ushr v11.4s, v2.4s, #12 1114 shl v2.4s, v2.4s, #20 1115 add v18.4s, v18.4s, v9.4s 1116 add v19.4s, v19.4s, v25.4s 1117 eor v26.16b, v20.16b, v26.16b 1118 orr v2.16b, v2.16b, v11.16b 1119 add v17.4s, v17.4s, v13.4s 1120 add v18.4s, v18.4s, v1.4s 1121 eor v5.16b, v19.16b, v5.16b 1122 ushr v31.4s, v26.4s, #8 1123 shl v26.4s, v26.4s, #24 1124 add v17.4s, v17.4s, v2.4s 1125 ushr v11.4s, v5.4s, #8 1126 shl v5.4s, v5.4s, #24 1127 eor v7.16b, v18.16b, v7.16b 1128 orr v26.16b, v26.16b, v31.16b 1129 eor v6.16b, v17.16b, v6.16b 1130 orr v5.16b, v5.16b, v11.16b 1131 ushr v31.4s, v7.4s, #8 1132 shl v7.4s, v7.4s, #24 1133 add v23.4s, v26.4s, v23.4s 1134 ushr v11.4s, v6.4s, #8 1135 shl v6.4s, v6.4s, #24 1136 orr v7.16b, v7.16b, v31.16b 1137 add v3.4s, v5.4s, v3.4s 1138 eor v0.16b, v23.16b, v0.16b 1139 orr v6.16b, v6.16b, v11.16b 1140 add v16.4s, v7.4s, v16.4s 1141 eor v25.16b, v3.16b, v25.16b 1142 ushr v31.4s, v0.4s, #7 1143 shl v0.4s, v0.4s, #25 1144 add v4.4s, v6.4s, v4.4s 1145 ushr v11.4s, v25.4s, #7 1146 shl v25.4s, v25.4s, #25 1147 eor v1.16b, v16.16b, v1.16b 1148 orr v0.16b, v0.16b, v31.16b 1149 add v18.4s, v18.4s, v24.4s 1150 eor v2.16b, v4.16b, v2.16b 1151 orr v25.16b, v25.16b, v11.16b 1152 ushr v31.4s, v1.4s, #7 1153 shl v1.4s, v1.4s, #25 1154 add v20.4s, v20.4s, v12.4s 1155 add v18.4s, v18.4s, v0.4s 1156 ushr v11.4s, v2.4s, #7 1157 shl v2.4s, v2.4s, #25 1158 orr v1.16b, v1.16b, v31.16b 1159 add v20.4s, v20.4s, v25.4s 1160 add v17.4s, v17.4s, v30.4s 1161 eor v6.16b, v6.16b, v18.16b 1162 orr v2.16b, v2.16b, v11.16b 1163 add v19.4s, v19.4s, v27.4s 1164 eor v7.16b, v7.16b, v20.16b 1165 add v17.4s, v17.4s, v1.4s 1166 rev32 v6.8h, v6.8h 1167 add v19.4s, v19.4s, v2.4s 1168 rev32 v7.8h, v7.8h 1169 eor v5.16b, v17.16b, v5.16b 1170 add v3.4s, v3.4s, v6.4s 1171 eor v26.16b, v19.16b, v26.16b 1172 add v4.4s, v4.4s, v7.4s 1173 rev32 v5.8h, v5.8h 1174 eor v0.16b, v3.16b, v0.16b 1175 rev32 v26.8h, v26.8h 1176 eor v25.16b, v4.16b, v25.16b 1177 add v23.4s, v23.4s, v5.4s 1178 ushr v11.4s, v0.4s, #12 1179 shl v0.4s, v0.4s, #20 1180 add v16.4s, v16.4s, v26.4s 1181 ushr v31.4s, v25.4s, #12 1182 shl v25.4s, v25.4s, #20 1183 eor v1.16b, v23.16b, v1.16b 1184 orr v0.16b, v0.16b, v11.16b 1185 add v18.4s, v18.4s, v14.4s 1186 orr v25.16b, v25.16b, v31.16b 1187 eor v2.16b, v16.16b, v2.16b 1188 ushr v31.4s, v1.4s, #12 1189 shl v1.4s, v1.4s, #20 1190 add v20.4s, v20.4s, v28.4s 1191 add v18.4s, v18.4s, v0.4s 1192 mov v10.16b, v13.16b 1193 ushr v11.4s, v2.4s, #12 1194 shl v2.4s, v2.4s, #20 1195 orr v1.16b, v1.16b, v31.16b 1196 add v20.4s, v20.4s, v25.4s 1197 add v17.4s, v17.4s, v29.4s 1198 eor v6.16b, v18.16b, v6.16b 1199 orr v2.16b, v2.16b, v11.16b 1200 add v19.4s, v19.4s, v10.4s 1201 eor v7.16b, v20.16b, v7.16b 1202 add v17.4s, v17.4s, v1.4s 1203 ushr v11.4s, v6.4s, #8 1204 shl v6.4s, v6.4s, #24 1205 add v19.4s, v19.4s, v2.4s 1206 ushr v31.4s, v7.4s, #8 1207 shl v7.4s, v7.4s, #24 1208 eor v5.16b, v17.16b, v5.16b 1209 orr v6.16b, v6.16b, v11.16b 1210 eor v26.16b, v19.16b, v26.16b 1211 orr v7.16b, v7.16b, v31.16b 1212 ushr v31.4s, v5.4s, #8 1213 shl v5.4s, v5.4s, #24 1214 add v3.4s, v6.4s, v3.4s 1215 ushr v11.4s, v26.4s, #8 1216 shl v26.4s, v26.4s, #24 1217 add v4.4s, v7.4s, v4.4s 1218 orr v5.16b, v5.16b, v31.16b 1219 eor v0.16b, v3.16b, v0.16b 1220 mov v22.16b, v8.16b 1221 ldp q8, q28, [sp, #240] 1222 orr v26.16b, v26.16b, v11.16b 1223 eor v25.16b, v4.16b, v25.16b 1224 add v23.4s, v5.4s, v23.4s 1225 ushr v11.4s, v0.4s, #7 1226 shl v0.4s, v0.4s, #25 1227 add v16.4s, v26.4s, v16.4s 1228 ushr v31.4s, v25.4s, #7 1229 shl v25.4s, v25.4s, #25 1230 eor v1.16b, v23.16b, v1.16b 1231 orr v0.16b, v0.16b, v11.16b 1232 add v20.4s, v20.4s, v28.4s 1233 orr v25.16b, v25.16b, v31.16b 1234 eor v2.16b, v16.16b, v2.16b 1235 ushr v31.4s, v1.4s, #7 1236 shl v1.4s, v1.4s, #25 1237 add v20.4s, v20.4s, v0.4s 1238 add v19.4s, v19.4s, v15.4s 1239 ushr v11.4s, v2.4s, #7 1240 shl v2.4s, v2.4s, #25 1241 orr v1.16b, v1.16b, v31.16b 1242 add v18.4s, v18.4s, v8.4s 1243 eor v26.16b, v20.16b, v26.16b 1244 add v19.4s, v19.4s, v25.4s 1245 orr v2.16b, v2.16b, v11.16b 1246 add v17.4s, v17.4s, v22.4s 1247 ldur q22, [x29, #-256] 1248 add v18.4s, v18.4s, v1.4s 1249 rev32 v26.8h, v26.8h 1250 eor v5.16b, v19.16b, v5.16b 1251 add v17.4s, v17.4s, v2.4s 1252 eor v7.16b, v18.16b, v7.16b 1253 add v23.4s, v23.4s, v26.4s 1254 rev32 v5.8h, v5.8h 1255 eor v6.16b, v17.16b, v6.16b 1256 rev32 v7.8h, v7.8h 1257 eor v0.16b, v23.16b, v0.16b 1258 add v3.4s, v3.4s, v5.4s 1259 rev32 v6.8h, v6.8h 1260 add v16.4s, v16.4s, v7.4s 1261 ushr v31.4s, v0.4s, #12 1262 shl v0.4s, v0.4s, #20 1263 eor v25.16b, v3.16b, v25.16b 1264 add v4.4s, v4.4s, v6.4s 1265 eor v1.16b, v16.16b, v1.16b 1266 orr v0.16b, v0.16b, v31.16b 1267 ushr v31.4s, v25.4s, #12 1268 shl v25.4s, v25.4s, #20 1269 add v20.4s, v20.4s, v9.4s 1270 mov v13.16b, v12.16b 1271 mov v12.16b, v27.16b 1272 mov v27.16b, v9.16b 1273 ldur q9, [x29, #-192] 1274 mov v21.16b, v15.16b 1275 ldr q15, [sp, #224] 1276 ushr v11.4s, v1.4s, #12 1277 ldur q21, [x29, #-224] 1278 shl v1.4s, v1.4s, #20 1279 eor v2.16b, v4.16b, v2.16b 1280 orr v25.16b, v25.16b, v31.16b 1281 add v19.4s, v19.4s, v9.4s 1282 add v20.4s, v20.4s, v0.4s 1283 orr v1.16b, v1.16b, v11.16b 1284 ushr v11.4s, v2.4s, #12 1285 shl v2.4s, v2.4s, #20 1286 add v18.4s, v18.4s, v21.4s 1287 add v19.4s, v19.4s, v25.4s 1288 eor v26.16b, v20.16b, v26.16b 1289 orr v2.16b, v2.16b, v11.16b 1290 add v17.4s, v17.4s, v15.4s 1291 add v18.4s, v18.4s, v1.4s 1292 eor v5.16b, v19.16b, v5.16b 1293 ushr v31.4s, v26.4s, #8 1294 shl v26.4s, v26.4s, #24 1295 add v17.4s, v17.4s, v2.4s 1296 ushr v11.4s, v5.4s, #8 1297 shl v5.4s, v5.4s, #24 1298 eor v7.16b, v18.16b, v7.16b 1299 orr v26.16b, v26.16b, v31.16b 1300 eor v6.16b, v17.16b, v6.16b 1301 orr v5.16b, v5.16b, v11.16b 1302 ushr v31.4s, v7.4s, #8 1303 shl v7.4s, v7.4s, #24 1304 add v23.4s, v26.4s, v23.4s 1305 ushr v11.4s, v6.4s, #8 1306 shl v6.4s, v6.4s, #24 1307 orr v7.16b, v7.16b, v31.16b 1308 add v3.4s, v5.4s, v3.4s 1309 eor v0.16b, v23.16b, v0.16b 1310 orr v6.16b, v6.16b, v11.16b 1311 add v16.4s, v7.4s, v16.4s 1312 eor v25.16b, v3.16b, v25.16b 1313 ushr v31.4s, v0.4s, #7 1314 shl v0.4s, v0.4s, #25 1315 add v4.4s, v6.4s, v4.4s 1316 ushr v11.4s, v25.4s, #7 1317 shl v25.4s, v25.4s, #25 1318 eor v1.16b, v16.16b, v1.16b 1319 orr v0.16b, v0.16b, v31.16b 1320 add v18.4s, v18.4s, v14.4s 1321 eor v2.16b, v4.16b, v2.16b 1322 orr v25.16b, v25.16b, v11.16b 1323 ushr v31.4s, v1.4s, #7 1324 shl v1.4s, v1.4s, #25 1325 add v20.4s, v20.4s, v24.4s 1326 add v18.4s, v18.4s, v0.4s 1327 ushr v11.4s, v2.4s, #7 1328 shl v2.4s, v2.4s, #25 1329 orr v1.16b, v1.16b, v31.16b 1330 add v20.4s, v20.4s, v25.4s 1331 add v17.4s, v17.4s, v10.4s 1332 eor v6.16b, v6.16b, v18.16b 1333 orr v2.16b, v2.16b, v11.16b 1334 add v19.4s, v19.4s, v30.4s 1335 eor v7.16b, v7.16b, v20.16b 1336 add v17.4s, v17.4s, v1.4s 1337 rev32 v6.8h, v6.8h 1338 add v19.4s, v19.4s, v2.4s 1339 rev32 v7.8h, v7.8h 1340 eor v5.16b, v17.16b, v5.16b 1341 add v3.4s, v3.4s, v6.4s 1342 eor v26.16b, v19.16b, v26.16b 1343 add v4.4s, v4.4s, v7.4s 1344 rev32 v5.8h, v5.8h 1345 eor v0.16b, v3.16b, v0.16b 1346 rev32 v26.8h, v26.8h 1347 eor v25.16b, v4.16b, v25.16b 1348 add v23.4s, v23.4s, v5.4s 1349 ushr v11.4s, v0.4s, #12 1350 shl v0.4s, v0.4s, #20 1351 add v16.4s, v16.4s, v26.4s 1352 ushr v31.4s, v25.4s, #12 1353 shl v25.4s, v25.4s, #20 1354 eor v1.16b, v23.16b, v1.16b 1355 orr v0.16b, v0.16b, v11.16b 1356 add v18.4s, v18.4s, v8.4s 1357 orr v25.16b, v25.16b, v31.16b 1358 eor v2.16b, v16.16b, v2.16b 1359 ushr v31.4s, v1.4s, #12 1360 shl v1.4s, v1.4s, #20 1361 add v20.4s, v20.4s, v12.4s 1362 add v18.4s, v18.4s, v0.4s 1363 ushr v11.4s, v2.4s, #12 1364 shl v2.4s, v2.4s, #20 1365 orr v1.16b, v1.16b, v31.16b 1366 add v20.4s, v20.4s, v25.4s 1367 add v17.4s, v17.4s, v13.4s 1368 ldr q13, [sp, #160] 1369 eor v6.16b, v18.16b, v6.16b 1370 orr v2.16b, v2.16b, v11.16b 1371 add v19.4s, v19.4s, v15.4s 1372 eor v7.16b, v20.16b, v7.16b 1373 add v17.4s, v17.4s, v1.4s 1374 ushr v11.4s, v6.4s, #8 1375 shl v6.4s, v6.4s, #24 1376 add v19.4s, v19.4s, v2.4s 1377 ushr v31.4s, v7.4s, #8 1378 shl v7.4s, v7.4s, #24 1379 eor v5.16b, v17.16b, v5.16b 1380 orr v6.16b, v6.16b, v11.16b 1381 eor v26.16b, v19.16b, v26.16b 1382 orr v7.16b, v7.16b, v31.16b 1383 ushr v31.4s, v5.4s, #8 1384 shl v5.4s, v5.4s, #24 1385 add v3.4s, v6.4s, v3.4s 1386 ushr v11.4s, v26.4s, #8 1387 shl v26.4s, v26.4s, #24 1388 add v4.4s, v7.4s, v4.4s 1389 orr v5.16b, v5.16b, v31.16b 1390 eor v0.16b, v3.16b, v0.16b 1391 orr v26.16b, v26.16b, v11.16b 1392 eor v25.16b, v4.16b, v25.16b 1393 add v23.4s, v5.4s, v23.4s 1394 ushr v11.4s, v0.4s, #7 1395 shl v0.4s, v0.4s, #25 1396 add v16.4s, v26.4s, v16.4s 1397 ushr v31.4s, v25.4s, #7 1398 shl v25.4s, v25.4s, #25 1399 eor v1.16b, v23.16b, v1.16b 1400 orr v0.16b, v0.16b, v11.16b 1401 add v20.4s, v20.4s, v22.4s 1402 orr v25.16b, v25.16b, v31.16b 1403 eor v2.16b, v16.16b, v2.16b 1404 ushr v31.4s, v1.4s, #7 1405 shl v1.4s, v1.4s, #25 1406 add v20.4s, v20.4s, v0.4s 1407 add v19.4s, v19.4s, v9.4s 1408 mov v29.16b, v14.16b 1409 ldr q14, [sp, #128] 1410 ushr v11.4s, v2.4s, #7 1411 shl v2.4s, v2.4s, #25 1412 orr v1.16b, v1.16b, v31.16b 1413 add v18.4s, v18.4s, v14.4s 1414 eor v26.16b, v20.16b, v26.16b 1415 add v19.4s, v19.4s, v25.4s 1416 orr v2.16b, v2.16b, v11.16b 1417 add v17.4s, v17.4s, v27.4s 1418 add v18.4s, v18.4s, v1.4s 1419 rev32 v26.8h, v26.8h 1420 eor v5.16b, v19.16b, v5.16b 1421 add v17.4s, v17.4s, v2.4s 1422 eor v7.16b, v18.16b, v7.16b 1423 add v23.4s, v23.4s, v26.4s 1424 rev32 v5.8h, v5.8h 1425 eor v6.16b, v17.16b, v6.16b 1426 rev32 v7.8h, v7.8h 1427 eor v0.16b, v23.16b, v0.16b 1428 add v3.4s, v3.4s, v5.4s 1429 rev32 v6.8h, v6.8h 1430 add v16.4s, v16.4s, v7.4s 1431 ushr v31.4s, v0.4s, #12 1432 shl v0.4s, v0.4s, #20 1433 eor v25.16b, v3.16b, v25.16b 1434 add v4.4s, v4.4s, v6.4s 1435 eor v1.16b, v16.16b, v1.16b 1436 orr v0.16b, v0.16b, v31.16b 1437 ushr v31.4s, v25.4s, #12 1438 shl v25.4s, v25.4s, #20 1439 add v20.4s, v20.4s, v21.4s 1440 ushr v11.4s, v1.4s, #12 1441 shl v1.4s, v1.4s, #20 1442 eor v2.16b, v4.16b, v2.16b 1443 orr v25.16b, v25.16b, v31.16b 1444 add v19.4s, v19.4s, v28.4s 1445 add v20.4s, v20.4s, v0.4s 1446 mov v12.16b, v27.16b 1447 ldur q27, [x29, #-208] 1448 orr v1.16b, v1.16b, v11.16b 1449 ushr v11.4s, v2.4s, #12 1450 shl v2.4s, v2.4s, #20 1451 add v18.4s, v18.4s, v27.4s 1452 add v19.4s, v19.4s, v25.4s 1453 eor v26.16b, v20.16b, v26.16b 1454 orr v2.16b, v2.16b, v11.16b 1455 add v17.4s, v17.4s, v13.4s 1456 add v18.4s, v18.4s, v1.4s 1457 eor v5.16b, v19.16b, v5.16b 1458 ushr v31.4s, v26.4s, #8 1459 shl v26.4s, v26.4s, #24 1460 add v17.4s, v17.4s, v2.4s 1461 ushr v11.4s, v5.4s, #8 1462 shl v5.4s, v5.4s, #24 1463 eor v7.16b, v18.16b, v7.16b 1464 orr v26.16b, v26.16b, v31.16b 1465 eor v6.16b, v17.16b, v6.16b 1466 orr v5.16b, v5.16b, v11.16b 1467 ushr v31.4s, v7.4s, #8 1468 shl v7.4s, v7.4s, #24 1469 add v23.4s, v26.4s, v23.4s 1470 ushr v11.4s, v6.4s, #8 1471 shl v6.4s, v6.4s, #24 1472 orr v7.16b, v7.16b, v31.16b 1473 add v3.4s, v5.4s, v3.4s 1474 eor v0.16b, v23.16b, v0.16b 1475 orr v6.16b, v6.16b, v11.16b 1476 add v16.4s, v7.4s, v16.4s 1477 eor v25.16b, v3.16b, v25.16b 1478 ushr v31.4s, v0.4s, #7 1479 shl v0.4s, v0.4s, #25 1480 add v4.4s, v6.4s, v4.4s 1481 ushr v11.4s, v25.4s, #7 1482 shl v25.4s, v25.4s, #25 1483 eor v1.16b, v16.16b, v1.16b 1484 orr v0.16b, v0.16b, v31.16b 1485 add v18.4s, v18.4s, v8.4s 1486 eor v2.16b, v4.16b, v2.16b 1487 orr v25.16b, v25.16b, v11.16b 1488 ushr v31.4s, v1.4s, #7 1489 shl v1.4s, v1.4s, #25 1490 add v20.4s, v20.4s, v29.4s 1491 add v18.4s, v18.4s, v0.4s 1492 ushr v11.4s, v2.4s, #7 1493 shl v2.4s, v2.4s, #25 1494 orr v1.16b, v1.16b, v31.16b 1495 add v20.4s, v20.4s, v25.4s 1496 add v17.4s, v17.4s, v15.4s 1497 eor v6.16b, v6.16b, v18.16b 1498 orr v2.16b, v2.16b, v11.16b 1499 add v19.4s, v19.4s, v10.4s 1500 eor v7.16b, v7.16b, v20.16b 1501 add v17.4s, v17.4s, v1.4s 1502 rev32 v6.8h, v6.8h 1503 add v19.4s, v19.4s, v2.4s 1504 rev32 v7.8h, v7.8h 1505 eor v5.16b, v17.16b, v5.16b 1506 add v3.4s, v3.4s, v6.4s 1507 eor v26.16b, v19.16b, v26.16b 1508 add v4.4s, v4.4s, v7.4s 1509 rev32 v5.8h, v5.8h 1510 eor v0.16b, v3.16b, v0.16b 1511 rev32 v26.8h, v26.8h 1512 eor v25.16b, v4.16b, v25.16b 1513 add v23.4s, v23.4s, v5.4s 1514 ushr v11.4s, v0.4s, #12 1515 shl v0.4s, v0.4s, #20 1516 add v16.4s, v16.4s, v26.4s 1517 ushr v31.4s, v25.4s, #12 1518 shl v25.4s, v25.4s, #20 1519 eor v1.16b, v23.16b, v1.16b 1520 orr v0.16b, v0.16b, v11.16b 1521 add v18.4s, v18.4s, v14.4s 1522 mov v30.16b, v29.16b 1523 mov v29.16b, v15.16b 1524 ldr q15, [sp, #144] 1525 orr v25.16b, v25.16b, v31.16b 1526 eor v2.16b, v16.16b, v2.16b 1527 ushr v31.4s, v1.4s, #12 1528 shl v1.4s, v1.4s, #20 1529 add v20.4s, v20.4s, v15.4s 1530 add v18.4s, v18.4s, v0.4s 1531 ushr v11.4s, v2.4s, #12 1532 shl v2.4s, v2.4s, #20 1533 orr v1.16b, v1.16b, v31.16b 1534 add v20.4s, v20.4s, v25.4s 1535 add v17.4s, v17.4s, v24.4s 1536 eor v6.16b, v18.16b, v6.16b 1537 orr v2.16b, v2.16b, v11.16b 1538 add v19.4s, v19.4s, v13.4s 1539 eor v7.16b, v20.16b, v7.16b 1540 add v17.4s, v17.4s, v1.4s 1541 ushr v11.4s, v6.4s, #8 1542 shl v6.4s, v6.4s, #24 1543 add v19.4s, v19.4s, v2.4s 1544 ushr v31.4s, v7.4s, #8 1545 shl v7.4s, v7.4s, #24 1546 eor v5.16b, v17.16b, v5.16b 1547 orr v6.16b, v6.16b, v11.16b 1548 eor v26.16b, v19.16b, v26.16b 1549 orr v7.16b, v7.16b, v31.16b 1550 ushr v31.4s, v5.4s, #8 1551 shl v5.4s, v5.4s, #24 1552 add v3.4s, v6.4s, v3.4s 1553 ushr v11.4s, v26.4s, #8 1554 shl v26.4s, v26.4s, #24 1555 add v4.4s, v7.4s, v4.4s 1556 orr v5.16b, v5.16b, v31.16b 1557 eor v0.16b, v3.16b, v0.16b 1558 orr v26.16b, v26.16b, v11.16b 1559 eor v25.16b, v4.16b, v25.16b 1560 add v23.4s, v5.4s, v23.4s 1561 ushr v11.4s, v0.4s, #7 1562 shl v0.4s, v0.4s, #25 1563 mov v9.16b, v28.16b 1564 mov v28.16b, v10.16b 1565 ldr q10, [sp, #176] 1566 add v16.4s, v26.4s, v16.4s 1567 ushr v31.4s, v25.4s, #7 1568 shl v25.4s, v25.4s, #25 1569 eor v1.16b, v23.16b, v1.16b 1570 orr v0.16b, v0.16b, v11.16b 1571 add v20.4s, v20.4s, v10.4s 1572 orr v25.16b, v25.16b, v31.16b 1573 eor v2.16b, v16.16b, v2.16b 1574 ushr v31.4s, v1.4s, #7 1575 shl v1.4s, v1.4s, #25 1576 add v20.4s, v20.4s, v0.4s 1577 add v19.4s, v19.4s, v9.4s 1578 ushr v11.4s, v2.4s, #7 1579 shl v2.4s, v2.4s, #25 1580 orr v1.16b, v1.16b, v31.16b 1581 add v18.4s, v18.4s, v12.4s 1582 eor v26.16b, v20.16b, v26.16b 1583 add v19.4s, v19.4s, v25.4s 1584 orr v2.16b, v2.16b, v11.16b 1585 add v17.4s, v17.4s, v21.4s 1586 add v18.4s, v18.4s, v1.4s 1587 rev32 v26.8h, v26.8h 1588 eor v5.16b, v19.16b, v5.16b 1589 add v17.4s, v17.4s, v2.4s 1590 eor v7.16b, v18.16b, v7.16b 1591 add v23.4s, v23.4s, v26.4s 1592 rev32 v5.8h, v5.8h 1593 eor v6.16b, v17.16b, v6.16b 1594 rev32 v7.8h, v7.8h 1595 eor v0.16b, v23.16b, v0.16b 1596 add v3.4s, v3.4s, v5.4s 1597 rev32 v6.8h, v6.8h 1598 add v16.4s, v16.4s, v7.4s 1599 ushr v31.4s, v0.4s, #12 1600 shl v0.4s, v0.4s, #20 1601 eor v25.16b, v3.16b, v25.16b 1602 add v4.4s, v4.4s, v6.4s 1603 eor v1.16b, v16.16b, v1.16b 1604 orr v0.16b, v0.16b, v31.16b 1605 ushr v31.4s, v25.4s, #12 1606 shl v25.4s, v25.4s, #20 1607 ushr v11.4s, v1.4s, #12 1608 shl v1.4s, v1.4s, #20 1609 eor v2.16b, v4.16b, v2.16b 1610 add v20.4s, v20.4s, v27.4s 1611 orr v25.16b, v25.16b, v31.16b 1612 add v19.4s, v19.4s, v22.4s 1613 mov v9.16b, v22.16b 1614 ldur q22, [x29, #-240] 1615 orr v1.16b, v1.16b, v11.16b 1616 ushr v11.4s, v2.4s, #12 1617 shl v2.4s, v2.4s, #20 1618 add v20.4s, v20.4s, v0.4s 1619 add v18.4s, v18.4s, v22.4s 1620 add v19.4s, v19.4s, v25.4s 1621 mov v24.16b, v21.16b 1622 ldur q21, [x29, #-192] 1623 orr v2.16b, v2.16b, v11.16b 1624 eor v26.16b, v20.16b, v26.16b 1625 add v17.4s, v17.4s, v21.4s 1626 add v18.4s, v18.4s, v1.4s 1627 eor v5.16b, v19.16b, v5.16b 1628 ushr v31.4s, v26.4s, #8 1629 add v17.4s, v17.4s, v2.4s 1630 shl v26.4s, v26.4s, #24 1631 ushr v11.4s, v5.4s, #8 1632 shl v5.4s, v5.4s, #24 1633 eor v7.16b, v18.16b, v7.16b 1634 orr v26.16b, v26.16b, v31.16b 1635 eor v6.16b, v17.16b, v6.16b 1636 orr v5.16b, v5.16b, v11.16b 1637 ushr v31.4s, v7.4s, #8 1638 shl v7.4s, v7.4s, #24 1639 ushr v11.4s, v6.4s, #8 1640 shl v6.4s, v6.4s, #24 1641 add v23.4s, v26.4s, v23.4s 1642 orr v7.16b, v7.16b, v31.16b 1643 add v3.4s, v5.4s, v3.4s 1644 orr v6.16b, v6.16b, v11.16b 1645 eor v0.16b, v23.16b, v0.16b 1646 add v16.4s, v7.4s, v16.4s 1647 eor v25.16b, v3.16b, v25.16b 1648 add v4.4s, v6.4s, v4.4s 1649 ushr v31.4s, v0.4s, #7 1650 shl v0.4s, v0.4s, #25 1651 ushr v11.4s, v25.4s, #7 1652 shl v25.4s, v25.4s, #25 1653 eor v1.16b, v16.16b, v1.16b 1654 orr v0.16b, v0.16b, v31.16b 1655 eor v2.16b, v4.16b, v2.16b 1656 orr v25.16b, v25.16b, v11.16b 1657 ushr v31.4s, v1.4s, #7 1658 shl v1.4s, v1.4s, #25 1659 add v20.4s, v20.4s, v8.4s 1660 add v18.4s, v18.4s, v14.4s 1661 ushr v11.4s, v2.4s, #7 1662 shl v2.4s, v2.4s, #25 1663 orr v1.16b, v1.16b, v31.16b 1664 add v20.4s, v20.4s, v25.4s 1665 add v17.4s, v17.4s, v13.4s 1666 add v18.4s, v18.4s, v0.4s 1667 orr v2.16b, v2.16b, v11.16b 1668 add v19.4s, v19.4s, v29.4s 1669 eor v7.16b, v7.16b, v20.16b 1670 add v17.4s, v17.4s, v1.4s 1671 eor v6.16b, v6.16b, v18.16b 1672 add v19.4s, v19.4s, v2.4s 1673 rev32 v7.8h, v7.8h 1674 eor v5.16b, v17.16b, v5.16b 1675 rev32 v6.8h, v6.8h 1676 eor v26.16b, v19.16b, v26.16b 1677 add v4.4s, v4.4s, v7.4s 1678 rev32 v5.8h, v5.8h 1679 add v3.4s, v3.4s, v6.4s 1680 rev32 v26.8h, v26.8h 1681 eor v25.16b, v4.16b, v25.16b 1682 add v23.4s, v23.4s, v5.4s 1683 eor v0.16b, v3.16b, v0.16b 1684 add v16.4s, v16.4s, v26.4s 1685 ushr v31.4s, v25.4s, #12 1686 shl v25.4s, v25.4s, #20 1687 ushr v11.4s, v0.4s, #12 1688 shl v0.4s, v0.4s, #20 1689 eor v1.16b, v23.16b, v1.16b 1690 orr v25.16b, v25.16b, v31.16b 1691 eor v2.16b, v16.16b, v2.16b 1692 orr v0.16b, v0.16b, v11.16b 1693 ushr v31.4s, v1.4s, #12 1694 shl v1.4s, v1.4s, #20 1695 add v20.4s, v20.4s, v28.4s 1696 add v18.4s, v18.4s, v12.4s 1697 ushr v11.4s, v2.4s, #12 1698 shl v2.4s, v2.4s, #20 1699 orr v1.16b, v1.16b, v31.16b 1700 add v20.4s, v20.4s, v25.4s 1701 add v17.4s, v17.4s, v30.4s 1702 add v18.4s, v18.4s, v0.4s 1703 orr v2.16b, v2.16b, v11.16b 1704 add v19.4s, v19.4s, v21.4s 1705 eor v7.16b, v20.16b, v7.16b 1706 add v17.4s, v17.4s, v1.4s 1707 eor v6.16b, v18.16b, v6.16b 1708 add v19.4s, v19.4s, v2.4s 1709 ushr v31.4s, v7.4s, #8 1710 shl v7.4s, v7.4s, #24 1711 ushr v11.4s, v6.4s, #8 1712 shl v6.4s, v6.4s, #24 1713 eor v5.16b, v17.16b, v5.16b 1714 orr v7.16b, v7.16b, v31.16b 1715 eor v26.16b, v19.16b, v26.16b 1716 orr v6.16b, v6.16b, v11.16b 1717 ushr v31.4s, v5.4s, #8 1718 shl v5.4s, v5.4s, #24 1719 ushr v11.4s, v26.4s, #8 1720 shl v26.4s, v26.4s, #24 1721 add v4.4s, v7.4s, v4.4s 1722 orr v5.16b, v5.16b, v31.16b 1723 add v3.4s, v6.4s, v3.4s 1724 orr v26.16b, v26.16b, v11.16b 1725 eor v25.16b, v4.16b, v25.16b 1726 add v23.4s, v5.4s, v23.4s 1727 eor v0.16b, v3.16b, v0.16b 1728 add v16.4s, v26.4s, v16.4s 1729 ushr v31.4s, v25.4s, #7 1730 shl v25.4s, v25.4s, #25 1731 ushr v11.4s, v0.4s, #7 1732 shl v0.4s, v0.4s, #25 1733 eor v1.16b, v23.16b, v1.16b 1734 orr v25.16b, v25.16b, v31.16b 1735 eor v2.16b, v16.16b, v2.16b 1736 orr v0.16b, v0.16b, v11.16b 1737 ushr v31.4s, v1.4s, #7 1738 shl v1.4s, v1.4s, #25 1739 add v20.4s, v20.4s, v15.4s 1740 ushr v11.4s, v2.4s, #7 1741 shl v2.4s, v2.4s, #25 1742 orr v1.16b, v1.16b, v31.16b 1743 add v18.4s, v18.4s, v24.4s 1744 add v20.4s, v20.4s, v0.4s 1745 add v19.4s, v19.4s, v9.4s 1746 mov v8.16b, v13.16b 1747 ldur q13, [x29, #-208] 1748 orr v2.16b, v2.16b, v11.16b 1749 add v18.4s, v18.4s, v1.4s 1750 add v17.4s, v17.4s, v13.4s 1751 eor v26.16b, v20.16b, v26.16b 1752 add v19.4s, v19.4s, v25.4s 1753 eor v7.16b, v18.16b, v7.16b 1754 add v17.4s, v17.4s, v2.4s 1755 rev32 v26.8h, v26.8h 1756 eor v5.16b, v19.16b, v5.16b 1757 rev32 v7.8h, v7.8h 1758 eor v6.16b, v17.16b, v6.16b 1759 add v23.4s, v23.4s, v26.4s 1760 rev32 v5.8h, v5.8h 1761 add v16.4s, v16.4s, v7.4s 1762 rev32 v6.8h, v6.8h 1763 eor v0.16b, v23.16b, v0.16b 1764 add v3.4s, v3.4s, v5.4s 1765 eor v1.16b, v16.16b, v1.16b 1766 add v4.4s, v4.4s, v6.4s 1767 ushr v31.4s, v0.4s, #12 1768 shl v0.4s, v0.4s, #20 1769 eor v25.16b, v3.16b, v25.16b 1770 ushr v11.4s, v1.4s, #12 1771 shl v1.4s, v1.4s, #20 1772 orr v0.16b, v0.16b, v31.16b 1773 eor v2.16b, v4.16b, v2.16b 1774 ushr v31.4s, v25.4s, #12 1775 shl v25.4s, v25.4s, #20 1776 orr v1.16b, v1.16b, v11.16b 1777 ushr v11.4s, v2.4s, #12 1778 shl v2.4s, v2.4s, #20 1779 add v20.4s, v20.4s, v22.4s 1780 orr v25.16b, v25.16b, v31.16b 1781 add v19.4s, v19.4s, v10.4s 1782 mov v27.16b, v12.16b 1783 mov v12.16b, v30.16b 1784 mov v29.16b, v21.16b 1785 mov v21.16b, v24.16b 1786 ldr q24, [sp, #192] 1787 mov v30.16b, v22.16b 1788 ldr q22, [sp, #256] 1789 orr v2.16b, v2.16b, v11.16b 1790 add v20.4s, v20.4s, v0.4s 1791 add v18.4s, v18.4s, v24.4s 1792 add v19.4s, v19.4s, v25.4s 1793 add v17.4s, v17.4s, v22.4s 1794 eor v26.16b, v20.16b, v26.16b 1795 add v18.4s, v18.4s, v1.4s 1796 eor v5.16b, v19.16b, v5.16b 1797 add v17.4s, v17.4s, v2.4s 1798 ushr v31.4s, v26.4s, #8 1799 shl v26.4s, v26.4s, #24 1800 ushr v11.4s, v5.4s, #8 1801 shl v5.4s, v5.4s, #24 1802 eor v7.16b, v18.16b, v7.16b 1803 eor v6.16b, v17.16b, v6.16b 1804 orr v26.16b, v26.16b, v31.16b 1805 orr v5.16b, v5.16b, v11.16b 1806 ushr v31.4s, v7.4s, #8 1807 shl v7.4s, v7.4s, #24 1808 ushr v11.4s, v6.4s, #8 1809 shl v6.4s, v6.4s, #24 1810 add v23.4s, v26.4s, v23.4s 1811 orr v7.16b, v7.16b, v31.16b 1812 add v3.4s, v5.4s, v3.4s 1813 orr v6.16b, v6.16b, v11.16b 1814 eor v0.16b, v23.16b, v0.16b 1815 add v16.4s, v7.4s, v16.4s 1816 eor v25.16b, v3.16b, v25.16b 1817 add v4.4s, v6.4s, v4.4s 1818 ushr v31.4s, v0.4s, #7 1819 shl v0.4s, v0.4s, #25 1820 ushr v11.4s, v25.4s, #7 1821 shl v25.4s, v25.4s, #25 1822 eor v1.16b, v16.16b, v1.16b 1823 eor v2.16b, v4.16b, v2.16b 1824 orr v0.16b, v0.16b, v31.16b 1825 orr v25.16b, v25.16b, v11.16b 1826 ushr v31.4s, v1.4s, #7 1827 shl v1.4s, v1.4s, #25 1828 ushr v11.4s, v2.4s, #7 1829 shl v2.4s, v2.4s, #25 1830 add v20.4s, v20.4s, v14.4s 1831 add v18.4s, v18.4s, v27.4s 1832 ldr q27, [sp, #224] 1833 orr v1.16b, v1.16b, v31.16b 1834 orr v2.16b, v2.16b, v11.16b 1835 add v20.4s, v20.4s, v25.4s 1836 add v17.4s, v17.4s, v29.4s 1837 add v18.4s, v18.4s, v0.4s 1838 add v19.4s, v19.4s, v8.4s 1839 eor v7.16b, v7.16b, v20.16b 1840 add v17.4s, v17.4s, v1.4s 1841 eor v6.16b, v6.16b, v18.16b 1842 add v19.4s, v19.4s, v2.4s 1843 rev32 v7.8h, v7.8h 1844 eor v5.16b, v17.16b, v5.16b 1845 rev32 v6.8h, v6.8h 1846 eor v26.16b, v19.16b, v26.16b 1847 add v4.4s, v4.4s, v7.4s 1848 rev32 v5.8h, v5.8h 1849 add v3.4s, v3.4s, v6.4s 1850 rev32 v26.8h, v26.8h 1851 eor v25.16b, v4.16b, v25.16b 1852 add v23.4s, v23.4s, v5.4s 1853 eor v0.16b, v3.16b, v0.16b 1854 add v16.4s, v16.4s, v26.4s 1855 ushr v29.4s, v25.4s, #12 1856 shl v25.4s, v25.4s, #20 1857 ushr v31.4s, v0.4s, #12 1858 shl v0.4s, v0.4s, #20 1859 eor v1.16b, v23.16b, v1.16b 1860 eor v2.16b, v16.16b, v2.16b 1861 orr v25.16b, v25.16b, v29.16b 1862 orr v0.16b, v0.16b, v31.16b 1863 ushr v29.4s, v1.4s, #12 1864 shl v1.4s, v1.4s, #20 1865 ushr v31.4s, v2.4s, #12 1866 shl v2.4s, v2.4s, #20 1867 add v18.4s, v18.4s, v21.4s 1868 ldr q21, [sp, #240] 1869 add v20.4s, v20.4s, v27.4s 1870 prfm pldl1keep, [x17, #256] 1871 orr v1.16b, v1.16b, v29.16b 1872 prfm pldl1keep, [x21, #256] 1873 orr v2.16b, v2.16b, v31.16b 1874 prfm pldl1keep, [x16, #256] 1875 add v18.4s, v18.4s, v0.4s 1876 prfm pldl1keep, [x6, #256] 1877 add v17.4s, v17.4s, v21.4s 1878 add v19.4s, v19.4s, v22.4s 1879 add v20.4s, v20.4s, v25.4s 1880 eor v6.16b, v18.16b, v6.16b 1881 add v17.4s, v17.4s, v1.4s 1882 add v19.4s, v19.4s, v2.4s 1883 eor v7.16b, v20.16b, v7.16b 1884 ushr v22.4s, v6.4s, #8 1885 shl v6.4s, v6.4s, #24 1886 eor v5.16b, v17.16b, v5.16b 1887 eor v26.16b, v19.16b, v26.16b 1888 ushr v21.4s, v7.4s, #8 1889 shl v7.4s, v7.4s, #24 1890 orr v6.16b, v6.16b, v22.16b 1891 ushr v22.4s, v5.4s, #8 1892 shl v5.4s, v5.4s, #24 1893 ushr v29.4s, v26.4s, #8 1894 shl v26.4s, v26.4s, #24 1895 orr v7.16b, v7.16b, v21.16b 1896 orr v5.16b, v5.16b, v22.16b 1897 add v3.4s, v6.4s, v3.4s 1898 orr v21.16b, v26.16b, v29.16b 1899 add v4.4s, v7.4s, v4.4s 1900 add v22.4s, v5.4s, v23.4s 1901 eor v0.16b, v3.16b, v0.16b 1902 add v16.4s, v21.4s, v16.4s 1903 eor v23.16b, v4.16b, v25.16b 1904 eor v1.16b, v22.16b, v1.16b 1905 ushr v25.4s, v0.4s, #7 1906 shl v0.4s, v0.4s, #25 1907 eor v2.16b, v16.16b, v2.16b 1908 ushr v26.4s, v23.4s, #7 1909 shl v23.4s, v23.4s, #25 1910 orr v0.16b, v0.16b, v25.16b 1911 ushr v25.4s, v1.4s, #7 1912 shl v1.4s, v1.4s, #25 1913 ushr v29.4s, v2.4s, #7 1914 shl v2.4s, v2.4s, #25 1915 add v20.4s, v20.4s, v28.4s 1916 orr v23.16b, v23.16b, v26.16b 1917 orr v1.16b, v1.16b, v25.16b 1918 orr v2.16b, v2.16b, v29.16b 1919 add v20.4s, v20.4s, v0.4s 1920 add v18.4s, v18.4s, v13.4s 1921 add v17.4s, v17.4s, v30.4s 1922 add v19.4s, v19.4s, v10.4s 1923 eor v21.16b, v20.16b, v21.16b 1924 add v18.4s, v18.4s, v1.4s 1925 add v17.4s, v17.4s, v2.4s 1926 add v19.4s, v19.4s, v23.4s 1927 rev32 v21.8h, v21.8h 1928 eor v7.16b, v18.16b, v7.16b 1929 eor v6.16b, v17.16b, v6.16b 1930 eor v5.16b, v19.16b, v5.16b 1931 add v22.4s, v22.4s, v21.4s 1932 rev32 v7.8h, v7.8h 1933 rev32 v6.8h, v6.8h 1934 rev32 v5.8h, v5.8h 1935 eor v0.16b, v22.16b, v0.16b 1936 add v16.4s, v16.4s, v7.4s 1937 add v4.4s, v4.4s, v6.4s 1938 add v3.4s, v3.4s, v5.4s 1939 ushr v25.4s, v0.4s, #12 1940 shl v0.4s, v0.4s, #20 1941 eor v1.16b, v16.16b, v1.16b 1942 eor v2.16b, v4.16b, v2.16b 1943 eor v23.16b, v3.16b, v23.16b 1944 orr v0.16b, v0.16b, v25.16b 1945 ushr v25.4s, v1.4s, #12 1946 shl v1.4s, v1.4s, #20 1947 ushr v26.4s, v2.4s, #12 1948 shl v2.4s, v2.4s, #20 1949 ushr v27.4s, v23.4s, #12 1950 shl v23.4s, v23.4s, #20 1951 orr v1.16b, v1.16b, v25.16b 1952 add v20.4s, v20.4s, v24.4s 1953 orr v2.16b, v2.16b, v26.16b 1954 orr v23.16b, v23.16b, v27.16b 1955 add v18.4s, v18.4s, v12.4s 1956 add v17.4s, v17.4s, v9.4s 1957 add v19.4s, v19.4s, v15.4s 1958 add v20.4s, v20.4s, v0.4s 1959 add v18.4s, v18.4s, v1.4s 1960 add v17.4s, v17.4s, v2.4s 1961 add v19.4s, v19.4s, v23.4s 1962 eor v21.16b, v20.16b, v21.16b 1963 eor v7.16b, v18.16b, v7.16b 1964 eor v6.16b, v17.16b, v6.16b 1965 eor v5.16b, v19.16b, v5.16b 1966 ushr v24.4s, v21.4s, #8 1967 shl v21.4s, v21.4s, #24 1968 ushr v25.4s, v7.4s, #8 1969 shl v7.4s, v7.4s, #24 1970 ushr v26.4s, v6.4s, #8 1971 shl v6.4s, v6.4s, #24 1972 ushr v27.4s, v5.4s, #8 1973 shl v5.4s, v5.4s, #24 1974 orr v21.16b, v21.16b, v24.16b 1975 orr v7.16b, v7.16b, v25.16b 1976 orr v6.16b, v6.16b, v26.16b 1977 orr v5.16b, v5.16b, v27.16b 1978 add v22.4s, v21.4s, v22.4s 1979 add v16.4s, v7.4s, v16.4s 1980 add v4.4s, v6.4s, v4.4s 1981 add v3.4s, v5.4s, v3.4s 1982 eor v0.16b, v22.16b, v0.16b 1983 eor v1.16b, v16.16b, v1.16b 1984 eor v2.16b, v4.16b, v2.16b 1985 eor v23.16b, v3.16b, v23.16b 1986 ushr v24.4s, v0.4s, #7 1987 shl v0.4s, v0.4s, #25 1988 ushr v25.4s, v1.4s, #7 1989 shl v1.4s, v1.4s, #25 1990 ushr v26.4s, v2.4s, #7 1991 shl v2.4s, v2.4s, #25 1992 ushr v27.4s, v23.4s, #7 1993 shl v23.4s, v23.4s, #25 1994 orr v0.16b, v0.16b, v24.16b 1995 orr v1.16b, v1.16b, v25.16b 1996 orr v2.16b, v2.16b, v26.16b 1997 orr v23.16b, v23.16b, v27.16b 1998 movi v24.4s, #64 1999 eor v12.16b, v4.16b, v20.16b 2000 eor v31.16b, v18.16b, v3.16b 2001 eor v29.16b, v17.16b, v22.16b 2002 eor v30.16b, v16.16b, v19.16b 2003 eor v28.16b, v7.16b, v23.16b 2004 eor v23.16b, v6.16b, v0.16b 2005 eor v13.16b, v1.16b, v5.16b 2006 eor v25.16b, v2.16b, v21.16b 2007 cbnz x15, .LBB3_5 2008 b .LBB3_2 2009.LBB3_6: 2010 cbz x24, .LBB3_14 2011 orr w8, w7, w19 2012 and x22, x5, #0x1 2013 stur w8, [x29, #-192] 2014.LBB3_8: 2015 ldr x8, [sp, #40] 2016 mov x28, x0 2017 ldr x25, [x0] 2018 mov x23, x2 2019 ldur w5, [x29, #-192] 2020 ldp q0, q1, [x8] 2021 mov x8, x2 2022 b .LBB3_11 2023.LBB3_9: 2024 orr w5, w5, w27 2025.LBB3_10: 2026 sub x0, x29, #144 2027 sub x1, x29, #176 2028 mov x2, x25 2029 mov w3, #64 2030 mov x4, x20 2031 bl compress_pre 2032 ldp q0, q1, [x29, #-144] 2033 add x25, x25, #64 2034 mov x8, x21 2035 mov w5, w19 2036 ldp q2, q3, [x29, #-112] 2037 eor v0.16b, v2.16b, v0.16b 2038 eor v1.16b, v3.16b, v1.16b 2039.LBB3_11: 2040 subs x21, x8, #1 2041 stp q0, q1, [x29, #-176] 2042 b.eq .LBB3_9 2043 cbnz x8, .LBB3_10 2044 ldp q1, q0, [x29, #-176] 2045 mov x0, x28 2046 add x20, x20, x22 2047 add x0, x28, #8 2048 subs x24, x24, #1 2049 mov x2, x23 2050 stp q1, q0, [x26], #32 2051 b.ne .LBB3_8 2052.LBB3_14: 2053 add sp, sp, #464 2054 ldp x20, x19, [sp, #144] 2055 ldp x22, x21, [sp, #128] 2056 ldp x24, x23, [sp, #112] 2057 ldp x26, x25, [sp, #96] 2058 ldp x28, x27, [sp, #80] 2059 ldp x29, x30, [sp, #64] 2060 ldp d9, d8, [sp, #48] 2061 ldp d11, d10, [sp, #32] 2062 ldp d13, d12, [sp, #16] 2063 ldp d15, d14, [sp], #160 2064 hint #29 2065 ret 2066.Lfunc_end3: 2067 .size zfs_blake3_hash_many_sse2, .Lfunc_end3-zfs_blake3_hash_many_sse2 2068 .cfi_endproc 2069 .section ".note.GNU-stack","",@progbits 2070#endif 2071