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