1// SPDX-License-Identifier: Apache-2.0 2/* 3 * Copyright 2004-2022 The OpenSSL Project Authors. All Rights Reserved. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * https://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18/* 19 * Portions Copyright (c) 2022 Tino Reichardt <milky-zfs@mcmilk.de> 20 * - modified assembly to fit into OpenZFS 21 */ 22 23#if defined(__x86_64) 24 25#define _ASM 26#include <sys/asm_linkage.h> 27 28SECTION_STATIC 29 30.balign 64 31SET_OBJ(K512) 32K512: 33.quad 0x428a2f98d728ae22,0x7137449123ef65cd 34.quad 0x428a2f98d728ae22,0x7137449123ef65cd 35.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc 36.quad 0xb5c0fbcfec4d3b2f,0xe9b5dba58189dbbc 37.quad 0x3956c25bf348b538,0x59f111f1b605d019 38.quad 0x3956c25bf348b538,0x59f111f1b605d019 39.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 40.quad 0x923f82a4af194f9b,0xab1c5ed5da6d8118 41.quad 0xd807aa98a3030242,0x12835b0145706fbe 42.quad 0xd807aa98a3030242,0x12835b0145706fbe 43.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 44.quad 0x243185be4ee4b28c,0x550c7dc3d5ffb4e2 45.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 46.quad 0x72be5d74f27b896f,0x80deb1fe3b1696b1 47.quad 0x9bdc06a725c71235,0xc19bf174cf692694 48.quad 0x9bdc06a725c71235,0xc19bf174cf692694 49.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 50.quad 0xe49b69c19ef14ad2,0xefbe4786384f25e3 51.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 52.quad 0x0fc19dc68b8cd5b5,0x240ca1cc77ac9c65 53.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 54.quad 0x2de92c6f592b0275,0x4a7484aa6ea6e483 55.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 56.quad 0x5cb0a9dcbd41fbd4,0x76f988da831153b5 57.quad 0x983e5152ee66dfab,0xa831c66d2db43210 58.quad 0x983e5152ee66dfab,0xa831c66d2db43210 59.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 60.quad 0xb00327c898fb213f,0xbf597fc7beef0ee4 61.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 62.quad 0xc6e00bf33da88fc2,0xd5a79147930aa725 63.quad 0x06ca6351e003826f,0x142929670a0e6e70 64.quad 0x06ca6351e003826f,0x142929670a0e6e70 65.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 66.quad 0x27b70a8546d22ffc,0x2e1b21385c26c926 67.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df 68.quad 0x4d2c6dfc5ac42aed,0x53380d139d95b3df 69.quad 0x650a73548baf63de,0x766a0abb3c77b2a8 70.quad 0x650a73548baf63de,0x766a0abb3c77b2a8 71.quad 0x81c2c92e47edaee6,0x92722c851482353b 72.quad 0x81c2c92e47edaee6,0x92722c851482353b 73.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 74.quad 0xa2bfe8a14cf10364,0xa81a664bbc423001 75.quad 0xc24b8b70d0f89791,0xc76c51a30654be30 76.quad 0xc24b8b70d0f89791,0xc76c51a30654be30 77.quad 0xd192e819d6ef5218,0xd69906245565a910 78.quad 0xd192e819d6ef5218,0xd69906245565a910 79.quad 0xf40e35855771202a,0x106aa07032bbd1b8 80.quad 0xf40e35855771202a,0x106aa07032bbd1b8 81.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 82.quad 0x19a4c116b8d2d0c8,0x1e376c085141ab53 83.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 84.quad 0x2748774cdf8eeb99,0x34b0bcb5e19b48a8 85.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb 86.quad 0x391c0cb3c5c95a63,0x4ed8aa4ae3418acb 87.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 88.quad 0x5b9cca4f7763e373,0x682e6ff3d6b2b8a3 89.quad 0x748f82ee5defb2fc,0x78a5636f43172f60 90.quad 0x748f82ee5defb2fc,0x78a5636f43172f60 91.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec 92.quad 0x84c87814a1f0ab72,0x8cc702081a6439ec 93.quad 0x90befffa23631e28,0xa4506cebde82bde9 94.quad 0x90befffa23631e28,0xa4506cebde82bde9 95.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b 96.quad 0xbef9a3f7b2c67915,0xc67178f2e372532b 97.quad 0xca273eceea26619c,0xd186b8c721c0c207 98.quad 0xca273eceea26619c,0xd186b8c721c0c207 99.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 100.quad 0xeada7dd6cde0eb1e,0xf57d4f7fee6ed178 101.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 102.quad 0x06f067aa72176fba,0x0a637dc5a2c898a6 103.quad 0x113f9804bef90dae,0x1b710b35131c471b 104.quad 0x113f9804bef90dae,0x1b710b35131c471b 105.quad 0x28db77f523047d84,0x32caab7b40c72493 106.quad 0x28db77f523047d84,0x32caab7b40c72493 107.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 108.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c 109.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 110.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a 111.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 112.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817 113.quad 0x0001020304050607,0x08090a0b0c0d0e0f 114.quad 0x0001020304050607,0x08090a0b0c0d0e0f 115 116ENTRY_ALIGN(zfs_sha512_transform_x64, 16) 117.cfi_startproc 118 ENDBR 119 movq %rsp,%rax 120.cfi_def_cfa_register %rax 121 pushq %rbx 122.cfi_offset %rbx,-16 123 pushq %rbp 124.cfi_offset %rbp,-24 125 pushq %r12 126.cfi_offset %r12,-32 127 pushq %r13 128.cfi_offset %r13,-40 129 pushq %r14 130.cfi_offset %r14,-48 131 pushq %r15 132.cfi_offset %r15,-56 133 shlq $4,%rdx 134 subq $128+32,%rsp 135 leaq (%rsi,%rdx,8),%rdx 136 andq $-64,%rsp 137 movq %rdi,128+0(%rsp) 138 movq %rsi,128+8(%rsp) 139 movq %rdx,128+16(%rsp) 140 movq %rax,152(%rsp) 141.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 142.Lprologue: 143 movq 0(%rdi),%rax 144 movq 8(%rdi),%rbx 145 movq 16(%rdi),%rcx 146 movq 24(%rdi),%rdx 147 movq 32(%rdi),%r8 148 movq 40(%rdi),%r9 149 movq 48(%rdi),%r10 150 movq 56(%rdi),%r11 151 jmp .Lloop 152.balign 16 153.Lloop: 154 movq %rbx,%rdi 155 leaq K512(%rip),%rbp 156 xorq %rcx,%rdi 157 movq 0(%rsi),%r12 158 movq %r8,%r13 159 movq %rax,%r14 160 bswapq %r12 161 rorq $23,%r13 162 movq %r9,%r15 163 xorq %r8,%r13 164 rorq $5,%r14 165 xorq %r10,%r15 166 movq %r12,0(%rsp) 167 xorq %rax,%r14 168 andq %r8,%r15 169 rorq $4,%r13 170 addq %r11,%r12 171 xorq %r10,%r15 172 rorq $6,%r14 173 xorq %r8,%r13 174 addq %r15,%r12 175 movq %rax,%r15 176 addq (%rbp),%r12 177 xorq %rax,%r14 178 xorq %rbx,%r15 179 rorq $14,%r13 180 movq %rbx,%r11 181 andq %r15,%rdi 182 rorq $28,%r14 183 addq %r13,%r12 184 xorq %rdi,%r11 185 addq %r12,%rdx 186 addq %r12,%r11 187 leaq 8(%rbp),%rbp 188 addq %r14,%r11 189 movq 8(%rsi),%r12 190 movq %rdx,%r13 191 movq %r11,%r14 192 bswapq %r12 193 rorq $23,%r13 194 movq %r8,%rdi 195 xorq %rdx,%r13 196 rorq $5,%r14 197 xorq %r9,%rdi 198 movq %r12,8(%rsp) 199 xorq %r11,%r14 200 andq %rdx,%rdi 201 rorq $4,%r13 202 addq %r10,%r12 203 xorq %r9,%rdi 204 rorq $6,%r14 205 xorq %rdx,%r13 206 addq %rdi,%r12 207 movq %r11,%rdi 208 addq (%rbp),%r12 209 xorq %r11,%r14 210 xorq %rax,%rdi 211 rorq $14,%r13 212 movq %rax,%r10 213 andq %rdi,%r15 214 rorq $28,%r14 215 addq %r13,%r12 216 xorq %r15,%r10 217 addq %r12,%rcx 218 addq %r12,%r10 219 leaq 24(%rbp),%rbp 220 addq %r14,%r10 221 movq 16(%rsi),%r12 222 movq %rcx,%r13 223 movq %r10,%r14 224 bswapq %r12 225 rorq $23,%r13 226 movq %rdx,%r15 227 xorq %rcx,%r13 228 rorq $5,%r14 229 xorq %r8,%r15 230 movq %r12,16(%rsp) 231 xorq %r10,%r14 232 andq %rcx,%r15 233 rorq $4,%r13 234 addq %r9,%r12 235 xorq %r8,%r15 236 rorq $6,%r14 237 xorq %rcx,%r13 238 addq %r15,%r12 239 movq %r10,%r15 240 addq (%rbp),%r12 241 xorq %r10,%r14 242 xorq %r11,%r15 243 rorq $14,%r13 244 movq %r11,%r9 245 andq %r15,%rdi 246 rorq $28,%r14 247 addq %r13,%r12 248 xorq %rdi,%r9 249 addq %r12,%rbx 250 addq %r12,%r9 251 leaq 8(%rbp),%rbp 252 addq %r14,%r9 253 movq 24(%rsi),%r12 254 movq %rbx,%r13 255 movq %r9,%r14 256 bswapq %r12 257 rorq $23,%r13 258 movq %rcx,%rdi 259 xorq %rbx,%r13 260 rorq $5,%r14 261 xorq %rdx,%rdi 262 movq %r12,24(%rsp) 263 xorq %r9,%r14 264 andq %rbx,%rdi 265 rorq $4,%r13 266 addq %r8,%r12 267 xorq %rdx,%rdi 268 rorq $6,%r14 269 xorq %rbx,%r13 270 addq %rdi,%r12 271 movq %r9,%rdi 272 addq (%rbp),%r12 273 xorq %r9,%r14 274 xorq %r10,%rdi 275 rorq $14,%r13 276 movq %r10,%r8 277 andq %rdi,%r15 278 rorq $28,%r14 279 addq %r13,%r12 280 xorq %r15,%r8 281 addq %r12,%rax 282 addq %r12,%r8 283 leaq 24(%rbp),%rbp 284 addq %r14,%r8 285 movq 32(%rsi),%r12 286 movq %rax,%r13 287 movq %r8,%r14 288 bswapq %r12 289 rorq $23,%r13 290 movq %rbx,%r15 291 xorq %rax,%r13 292 rorq $5,%r14 293 xorq %rcx,%r15 294 movq %r12,32(%rsp) 295 xorq %r8,%r14 296 andq %rax,%r15 297 rorq $4,%r13 298 addq %rdx,%r12 299 xorq %rcx,%r15 300 rorq $6,%r14 301 xorq %rax,%r13 302 addq %r15,%r12 303 movq %r8,%r15 304 addq (%rbp),%r12 305 xorq %r8,%r14 306 xorq %r9,%r15 307 rorq $14,%r13 308 movq %r9,%rdx 309 andq %r15,%rdi 310 rorq $28,%r14 311 addq %r13,%r12 312 xorq %rdi,%rdx 313 addq %r12,%r11 314 addq %r12,%rdx 315 leaq 8(%rbp),%rbp 316 addq %r14,%rdx 317 movq 40(%rsi),%r12 318 movq %r11,%r13 319 movq %rdx,%r14 320 bswapq %r12 321 rorq $23,%r13 322 movq %rax,%rdi 323 xorq %r11,%r13 324 rorq $5,%r14 325 xorq %rbx,%rdi 326 movq %r12,40(%rsp) 327 xorq %rdx,%r14 328 andq %r11,%rdi 329 rorq $4,%r13 330 addq %rcx,%r12 331 xorq %rbx,%rdi 332 rorq $6,%r14 333 xorq %r11,%r13 334 addq %rdi,%r12 335 movq %rdx,%rdi 336 addq (%rbp),%r12 337 xorq %rdx,%r14 338 xorq %r8,%rdi 339 rorq $14,%r13 340 movq %r8,%rcx 341 andq %rdi,%r15 342 rorq $28,%r14 343 addq %r13,%r12 344 xorq %r15,%rcx 345 addq %r12,%r10 346 addq %r12,%rcx 347 leaq 24(%rbp),%rbp 348 addq %r14,%rcx 349 movq 48(%rsi),%r12 350 movq %r10,%r13 351 movq %rcx,%r14 352 bswapq %r12 353 rorq $23,%r13 354 movq %r11,%r15 355 xorq %r10,%r13 356 rorq $5,%r14 357 xorq %rax,%r15 358 movq %r12,48(%rsp) 359 xorq %rcx,%r14 360 andq %r10,%r15 361 rorq $4,%r13 362 addq %rbx,%r12 363 xorq %rax,%r15 364 rorq $6,%r14 365 xorq %r10,%r13 366 addq %r15,%r12 367 movq %rcx,%r15 368 addq (%rbp),%r12 369 xorq %rcx,%r14 370 xorq %rdx,%r15 371 rorq $14,%r13 372 movq %rdx,%rbx 373 andq %r15,%rdi 374 rorq $28,%r14 375 addq %r13,%r12 376 xorq %rdi,%rbx 377 addq %r12,%r9 378 addq %r12,%rbx 379 leaq 8(%rbp),%rbp 380 addq %r14,%rbx 381 movq 56(%rsi),%r12 382 movq %r9,%r13 383 movq %rbx,%r14 384 bswapq %r12 385 rorq $23,%r13 386 movq %r10,%rdi 387 xorq %r9,%r13 388 rorq $5,%r14 389 xorq %r11,%rdi 390 movq %r12,56(%rsp) 391 xorq %rbx,%r14 392 andq %r9,%rdi 393 rorq $4,%r13 394 addq %rax,%r12 395 xorq %r11,%rdi 396 rorq $6,%r14 397 xorq %r9,%r13 398 addq %rdi,%r12 399 movq %rbx,%rdi 400 addq (%rbp),%r12 401 xorq %rbx,%r14 402 xorq %rcx,%rdi 403 rorq $14,%r13 404 movq %rcx,%rax 405 andq %rdi,%r15 406 rorq $28,%r14 407 addq %r13,%r12 408 xorq %r15,%rax 409 addq %r12,%r8 410 addq %r12,%rax 411 leaq 24(%rbp),%rbp 412 addq %r14,%rax 413 movq 64(%rsi),%r12 414 movq %r8,%r13 415 movq %rax,%r14 416 bswapq %r12 417 rorq $23,%r13 418 movq %r9,%r15 419 xorq %r8,%r13 420 rorq $5,%r14 421 xorq %r10,%r15 422 movq %r12,64(%rsp) 423 xorq %rax,%r14 424 andq %r8,%r15 425 rorq $4,%r13 426 addq %r11,%r12 427 xorq %r10,%r15 428 rorq $6,%r14 429 xorq %r8,%r13 430 addq %r15,%r12 431 movq %rax,%r15 432 addq (%rbp),%r12 433 xorq %rax,%r14 434 xorq %rbx,%r15 435 rorq $14,%r13 436 movq %rbx,%r11 437 andq %r15,%rdi 438 rorq $28,%r14 439 addq %r13,%r12 440 xorq %rdi,%r11 441 addq %r12,%rdx 442 addq %r12,%r11 443 leaq 8(%rbp),%rbp 444 addq %r14,%r11 445 movq 72(%rsi),%r12 446 movq %rdx,%r13 447 movq %r11,%r14 448 bswapq %r12 449 rorq $23,%r13 450 movq %r8,%rdi 451 xorq %rdx,%r13 452 rorq $5,%r14 453 xorq %r9,%rdi 454 movq %r12,72(%rsp) 455 xorq %r11,%r14 456 andq %rdx,%rdi 457 rorq $4,%r13 458 addq %r10,%r12 459 xorq %r9,%rdi 460 rorq $6,%r14 461 xorq %rdx,%r13 462 addq %rdi,%r12 463 movq %r11,%rdi 464 addq (%rbp),%r12 465 xorq %r11,%r14 466 xorq %rax,%rdi 467 rorq $14,%r13 468 movq %rax,%r10 469 andq %rdi,%r15 470 rorq $28,%r14 471 addq %r13,%r12 472 xorq %r15,%r10 473 addq %r12,%rcx 474 addq %r12,%r10 475 leaq 24(%rbp),%rbp 476 addq %r14,%r10 477 movq 80(%rsi),%r12 478 movq %rcx,%r13 479 movq %r10,%r14 480 bswapq %r12 481 rorq $23,%r13 482 movq %rdx,%r15 483 xorq %rcx,%r13 484 rorq $5,%r14 485 xorq %r8,%r15 486 movq %r12,80(%rsp) 487 xorq %r10,%r14 488 andq %rcx,%r15 489 rorq $4,%r13 490 addq %r9,%r12 491 xorq %r8,%r15 492 rorq $6,%r14 493 xorq %rcx,%r13 494 addq %r15,%r12 495 movq %r10,%r15 496 addq (%rbp),%r12 497 xorq %r10,%r14 498 xorq %r11,%r15 499 rorq $14,%r13 500 movq %r11,%r9 501 andq %r15,%rdi 502 rorq $28,%r14 503 addq %r13,%r12 504 xorq %rdi,%r9 505 addq %r12,%rbx 506 addq %r12,%r9 507 leaq 8(%rbp),%rbp 508 addq %r14,%r9 509 movq 88(%rsi),%r12 510 movq %rbx,%r13 511 movq %r9,%r14 512 bswapq %r12 513 rorq $23,%r13 514 movq %rcx,%rdi 515 xorq %rbx,%r13 516 rorq $5,%r14 517 xorq %rdx,%rdi 518 movq %r12,88(%rsp) 519 xorq %r9,%r14 520 andq %rbx,%rdi 521 rorq $4,%r13 522 addq %r8,%r12 523 xorq %rdx,%rdi 524 rorq $6,%r14 525 xorq %rbx,%r13 526 addq %rdi,%r12 527 movq %r9,%rdi 528 addq (%rbp),%r12 529 xorq %r9,%r14 530 xorq %r10,%rdi 531 rorq $14,%r13 532 movq %r10,%r8 533 andq %rdi,%r15 534 rorq $28,%r14 535 addq %r13,%r12 536 xorq %r15,%r8 537 addq %r12,%rax 538 addq %r12,%r8 539 leaq 24(%rbp),%rbp 540 addq %r14,%r8 541 movq 96(%rsi),%r12 542 movq %rax,%r13 543 movq %r8,%r14 544 bswapq %r12 545 rorq $23,%r13 546 movq %rbx,%r15 547 xorq %rax,%r13 548 rorq $5,%r14 549 xorq %rcx,%r15 550 movq %r12,96(%rsp) 551 xorq %r8,%r14 552 andq %rax,%r15 553 rorq $4,%r13 554 addq %rdx,%r12 555 xorq %rcx,%r15 556 rorq $6,%r14 557 xorq %rax,%r13 558 addq %r15,%r12 559 movq %r8,%r15 560 addq (%rbp),%r12 561 xorq %r8,%r14 562 xorq %r9,%r15 563 rorq $14,%r13 564 movq %r9,%rdx 565 andq %r15,%rdi 566 rorq $28,%r14 567 addq %r13,%r12 568 xorq %rdi,%rdx 569 addq %r12,%r11 570 addq %r12,%rdx 571 leaq 8(%rbp),%rbp 572 addq %r14,%rdx 573 movq 104(%rsi),%r12 574 movq %r11,%r13 575 movq %rdx,%r14 576 bswapq %r12 577 rorq $23,%r13 578 movq %rax,%rdi 579 xorq %r11,%r13 580 rorq $5,%r14 581 xorq %rbx,%rdi 582 movq %r12,104(%rsp) 583 xorq %rdx,%r14 584 andq %r11,%rdi 585 rorq $4,%r13 586 addq %rcx,%r12 587 xorq %rbx,%rdi 588 rorq $6,%r14 589 xorq %r11,%r13 590 addq %rdi,%r12 591 movq %rdx,%rdi 592 addq (%rbp),%r12 593 xorq %rdx,%r14 594 xorq %r8,%rdi 595 rorq $14,%r13 596 movq %r8,%rcx 597 andq %rdi,%r15 598 rorq $28,%r14 599 addq %r13,%r12 600 xorq %r15,%rcx 601 addq %r12,%r10 602 addq %r12,%rcx 603 leaq 24(%rbp),%rbp 604 addq %r14,%rcx 605 movq 112(%rsi),%r12 606 movq %r10,%r13 607 movq %rcx,%r14 608 bswapq %r12 609 rorq $23,%r13 610 movq %r11,%r15 611 xorq %r10,%r13 612 rorq $5,%r14 613 xorq %rax,%r15 614 movq %r12,112(%rsp) 615 xorq %rcx,%r14 616 andq %r10,%r15 617 rorq $4,%r13 618 addq %rbx,%r12 619 xorq %rax,%r15 620 rorq $6,%r14 621 xorq %r10,%r13 622 addq %r15,%r12 623 movq %rcx,%r15 624 addq (%rbp),%r12 625 xorq %rcx,%r14 626 xorq %rdx,%r15 627 rorq $14,%r13 628 movq %rdx,%rbx 629 andq %r15,%rdi 630 rorq $28,%r14 631 addq %r13,%r12 632 xorq %rdi,%rbx 633 addq %r12,%r9 634 addq %r12,%rbx 635 leaq 8(%rbp),%rbp 636 addq %r14,%rbx 637 movq 120(%rsi),%r12 638 movq %r9,%r13 639 movq %rbx,%r14 640 bswapq %r12 641 rorq $23,%r13 642 movq %r10,%rdi 643 xorq %r9,%r13 644 rorq $5,%r14 645 xorq %r11,%rdi 646 movq %r12,120(%rsp) 647 xorq %rbx,%r14 648 andq %r9,%rdi 649 rorq $4,%r13 650 addq %rax,%r12 651 xorq %r11,%rdi 652 rorq $6,%r14 653 xorq %r9,%r13 654 addq %rdi,%r12 655 movq %rbx,%rdi 656 addq (%rbp),%r12 657 xorq %rbx,%r14 658 xorq %rcx,%rdi 659 rorq $14,%r13 660 movq %rcx,%rax 661 andq %rdi,%r15 662 rorq $28,%r14 663 addq %r13,%r12 664 xorq %r15,%rax 665 addq %r12,%r8 666 addq %r12,%rax 667 leaq 24(%rbp),%rbp 668 jmp .Lrounds_16_xx 669.balign 16 670.Lrounds_16_xx: 671 movq 8(%rsp),%r13 672 movq 112(%rsp),%r15 673 movq %r13,%r12 674 rorq $7,%r13 675 addq %r14,%rax 676 movq %r15,%r14 677 rorq $42,%r15 678 xorq %r12,%r13 679 shrq $7,%r12 680 rorq $1,%r13 681 xorq %r14,%r15 682 shrq $6,%r14 683 rorq $19,%r15 684 xorq %r13,%r12 685 xorq %r14,%r15 686 addq 72(%rsp),%r12 687 addq 0(%rsp),%r12 688 movq %r8,%r13 689 addq %r15,%r12 690 movq %rax,%r14 691 rorq $23,%r13 692 movq %r9,%r15 693 xorq %r8,%r13 694 rorq $5,%r14 695 xorq %r10,%r15 696 movq %r12,0(%rsp) 697 xorq %rax,%r14 698 andq %r8,%r15 699 rorq $4,%r13 700 addq %r11,%r12 701 xorq %r10,%r15 702 rorq $6,%r14 703 xorq %r8,%r13 704 addq %r15,%r12 705 movq %rax,%r15 706 addq (%rbp),%r12 707 xorq %rax,%r14 708 xorq %rbx,%r15 709 rorq $14,%r13 710 movq %rbx,%r11 711 andq %r15,%rdi 712 rorq $28,%r14 713 addq %r13,%r12 714 xorq %rdi,%r11 715 addq %r12,%rdx 716 addq %r12,%r11 717 leaq 8(%rbp),%rbp 718 movq 16(%rsp),%r13 719 movq 120(%rsp),%rdi 720 movq %r13,%r12 721 rorq $7,%r13 722 addq %r14,%r11 723 movq %rdi,%r14 724 rorq $42,%rdi 725 xorq %r12,%r13 726 shrq $7,%r12 727 rorq $1,%r13 728 xorq %r14,%rdi 729 shrq $6,%r14 730 rorq $19,%rdi 731 xorq %r13,%r12 732 xorq %r14,%rdi 733 addq 80(%rsp),%r12 734 addq 8(%rsp),%r12 735 movq %rdx,%r13 736 addq %rdi,%r12 737 movq %r11,%r14 738 rorq $23,%r13 739 movq %r8,%rdi 740 xorq %rdx,%r13 741 rorq $5,%r14 742 xorq %r9,%rdi 743 movq %r12,8(%rsp) 744 xorq %r11,%r14 745 andq %rdx,%rdi 746 rorq $4,%r13 747 addq %r10,%r12 748 xorq %r9,%rdi 749 rorq $6,%r14 750 xorq %rdx,%r13 751 addq %rdi,%r12 752 movq %r11,%rdi 753 addq (%rbp),%r12 754 xorq %r11,%r14 755 xorq %rax,%rdi 756 rorq $14,%r13 757 movq %rax,%r10 758 andq %rdi,%r15 759 rorq $28,%r14 760 addq %r13,%r12 761 xorq %r15,%r10 762 addq %r12,%rcx 763 addq %r12,%r10 764 leaq 24(%rbp),%rbp 765 movq 24(%rsp),%r13 766 movq 0(%rsp),%r15 767 movq %r13,%r12 768 rorq $7,%r13 769 addq %r14,%r10 770 movq %r15,%r14 771 rorq $42,%r15 772 xorq %r12,%r13 773 shrq $7,%r12 774 rorq $1,%r13 775 xorq %r14,%r15 776 shrq $6,%r14 777 rorq $19,%r15 778 xorq %r13,%r12 779 xorq %r14,%r15 780 addq 88(%rsp),%r12 781 addq 16(%rsp),%r12 782 movq %rcx,%r13 783 addq %r15,%r12 784 movq %r10,%r14 785 rorq $23,%r13 786 movq %rdx,%r15 787 xorq %rcx,%r13 788 rorq $5,%r14 789 xorq %r8,%r15 790 movq %r12,16(%rsp) 791 xorq %r10,%r14 792 andq %rcx,%r15 793 rorq $4,%r13 794 addq %r9,%r12 795 xorq %r8,%r15 796 rorq $6,%r14 797 xorq %rcx,%r13 798 addq %r15,%r12 799 movq %r10,%r15 800 addq (%rbp),%r12 801 xorq %r10,%r14 802 xorq %r11,%r15 803 rorq $14,%r13 804 movq %r11,%r9 805 andq %r15,%rdi 806 rorq $28,%r14 807 addq %r13,%r12 808 xorq %rdi,%r9 809 addq %r12,%rbx 810 addq %r12,%r9 811 leaq 8(%rbp),%rbp 812 movq 32(%rsp),%r13 813 movq 8(%rsp),%rdi 814 movq %r13,%r12 815 rorq $7,%r13 816 addq %r14,%r9 817 movq %rdi,%r14 818 rorq $42,%rdi 819 xorq %r12,%r13 820 shrq $7,%r12 821 rorq $1,%r13 822 xorq %r14,%rdi 823 shrq $6,%r14 824 rorq $19,%rdi 825 xorq %r13,%r12 826 xorq %r14,%rdi 827 addq 96(%rsp),%r12 828 addq 24(%rsp),%r12 829 movq %rbx,%r13 830 addq %rdi,%r12 831 movq %r9,%r14 832 rorq $23,%r13 833 movq %rcx,%rdi 834 xorq %rbx,%r13 835 rorq $5,%r14 836 xorq %rdx,%rdi 837 movq %r12,24(%rsp) 838 xorq %r9,%r14 839 andq %rbx,%rdi 840 rorq $4,%r13 841 addq %r8,%r12 842 xorq %rdx,%rdi 843 rorq $6,%r14 844 xorq %rbx,%r13 845 addq %rdi,%r12 846 movq %r9,%rdi 847 addq (%rbp),%r12 848 xorq %r9,%r14 849 xorq %r10,%rdi 850 rorq $14,%r13 851 movq %r10,%r8 852 andq %rdi,%r15 853 rorq $28,%r14 854 addq %r13,%r12 855 xorq %r15,%r8 856 addq %r12,%rax 857 addq %r12,%r8 858 leaq 24(%rbp),%rbp 859 movq 40(%rsp),%r13 860 movq 16(%rsp),%r15 861 movq %r13,%r12 862 rorq $7,%r13 863 addq %r14,%r8 864 movq %r15,%r14 865 rorq $42,%r15 866 xorq %r12,%r13 867 shrq $7,%r12 868 rorq $1,%r13 869 xorq %r14,%r15 870 shrq $6,%r14 871 rorq $19,%r15 872 xorq %r13,%r12 873 xorq %r14,%r15 874 addq 104(%rsp),%r12 875 addq 32(%rsp),%r12 876 movq %rax,%r13 877 addq %r15,%r12 878 movq %r8,%r14 879 rorq $23,%r13 880 movq %rbx,%r15 881 xorq %rax,%r13 882 rorq $5,%r14 883 xorq %rcx,%r15 884 movq %r12,32(%rsp) 885 xorq %r8,%r14 886 andq %rax,%r15 887 rorq $4,%r13 888 addq %rdx,%r12 889 xorq %rcx,%r15 890 rorq $6,%r14 891 xorq %rax,%r13 892 addq %r15,%r12 893 movq %r8,%r15 894 addq (%rbp),%r12 895 xorq %r8,%r14 896 xorq %r9,%r15 897 rorq $14,%r13 898 movq %r9,%rdx 899 andq %r15,%rdi 900 rorq $28,%r14 901 addq %r13,%r12 902 xorq %rdi,%rdx 903 addq %r12,%r11 904 addq %r12,%rdx 905 leaq 8(%rbp),%rbp 906 movq 48(%rsp),%r13 907 movq 24(%rsp),%rdi 908 movq %r13,%r12 909 rorq $7,%r13 910 addq %r14,%rdx 911 movq %rdi,%r14 912 rorq $42,%rdi 913 xorq %r12,%r13 914 shrq $7,%r12 915 rorq $1,%r13 916 xorq %r14,%rdi 917 shrq $6,%r14 918 rorq $19,%rdi 919 xorq %r13,%r12 920 xorq %r14,%rdi 921 addq 112(%rsp),%r12 922 addq 40(%rsp),%r12 923 movq %r11,%r13 924 addq %rdi,%r12 925 movq %rdx,%r14 926 rorq $23,%r13 927 movq %rax,%rdi 928 xorq %r11,%r13 929 rorq $5,%r14 930 xorq %rbx,%rdi 931 movq %r12,40(%rsp) 932 xorq %rdx,%r14 933 andq %r11,%rdi 934 rorq $4,%r13 935 addq %rcx,%r12 936 xorq %rbx,%rdi 937 rorq $6,%r14 938 xorq %r11,%r13 939 addq %rdi,%r12 940 movq %rdx,%rdi 941 addq (%rbp),%r12 942 xorq %rdx,%r14 943 xorq %r8,%rdi 944 rorq $14,%r13 945 movq %r8,%rcx 946 andq %rdi,%r15 947 rorq $28,%r14 948 addq %r13,%r12 949 xorq %r15,%rcx 950 addq %r12,%r10 951 addq %r12,%rcx 952 leaq 24(%rbp),%rbp 953 movq 56(%rsp),%r13 954 movq 32(%rsp),%r15 955 movq %r13,%r12 956 rorq $7,%r13 957 addq %r14,%rcx 958 movq %r15,%r14 959 rorq $42,%r15 960 xorq %r12,%r13 961 shrq $7,%r12 962 rorq $1,%r13 963 xorq %r14,%r15 964 shrq $6,%r14 965 rorq $19,%r15 966 xorq %r13,%r12 967 xorq %r14,%r15 968 addq 120(%rsp),%r12 969 addq 48(%rsp),%r12 970 movq %r10,%r13 971 addq %r15,%r12 972 movq %rcx,%r14 973 rorq $23,%r13 974 movq %r11,%r15 975 xorq %r10,%r13 976 rorq $5,%r14 977 xorq %rax,%r15 978 movq %r12,48(%rsp) 979 xorq %rcx,%r14 980 andq %r10,%r15 981 rorq $4,%r13 982 addq %rbx,%r12 983 xorq %rax,%r15 984 rorq $6,%r14 985 xorq %r10,%r13 986 addq %r15,%r12 987 movq %rcx,%r15 988 addq (%rbp),%r12 989 xorq %rcx,%r14 990 xorq %rdx,%r15 991 rorq $14,%r13 992 movq %rdx,%rbx 993 andq %r15,%rdi 994 rorq $28,%r14 995 addq %r13,%r12 996 xorq %rdi,%rbx 997 addq %r12,%r9 998 addq %r12,%rbx 999 leaq 8(%rbp),%rbp 1000 movq 64(%rsp),%r13 1001 movq 40(%rsp),%rdi 1002 movq %r13,%r12 1003 rorq $7,%r13 1004 addq %r14,%rbx 1005 movq %rdi,%r14 1006 rorq $42,%rdi 1007 xorq %r12,%r13 1008 shrq $7,%r12 1009 rorq $1,%r13 1010 xorq %r14,%rdi 1011 shrq $6,%r14 1012 rorq $19,%rdi 1013 xorq %r13,%r12 1014 xorq %r14,%rdi 1015 addq 0(%rsp),%r12 1016 addq 56(%rsp),%r12 1017 movq %r9,%r13 1018 addq %rdi,%r12 1019 movq %rbx,%r14 1020 rorq $23,%r13 1021 movq %r10,%rdi 1022 xorq %r9,%r13 1023 rorq $5,%r14 1024 xorq %r11,%rdi 1025 movq %r12,56(%rsp) 1026 xorq %rbx,%r14 1027 andq %r9,%rdi 1028 rorq $4,%r13 1029 addq %rax,%r12 1030 xorq %r11,%rdi 1031 rorq $6,%r14 1032 xorq %r9,%r13 1033 addq %rdi,%r12 1034 movq %rbx,%rdi 1035 addq (%rbp),%r12 1036 xorq %rbx,%r14 1037 xorq %rcx,%rdi 1038 rorq $14,%r13 1039 movq %rcx,%rax 1040 andq %rdi,%r15 1041 rorq $28,%r14 1042 addq %r13,%r12 1043 xorq %r15,%rax 1044 addq %r12,%r8 1045 addq %r12,%rax 1046 leaq 24(%rbp),%rbp 1047 movq 72(%rsp),%r13 1048 movq 48(%rsp),%r15 1049 movq %r13,%r12 1050 rorq $7,%r13 1051 addq %r14,%rax 1052 movq %r15,%r14 1053 rorq $42,%r15 1054 xorq %r12,%r13 1055 shrq $7,%r12 1056 rorq $1,%r13 1057 xorq %r14,%r15 1058 shrq $6,%r14 1059 rorq $19,%r15 1060 xorq %r13,%r12 1061 xorq %r14,%r15 1062 addq 8(%rsp),%r12 1063 addq 64(%rsp),%r12 1064 movq %r8,%r13 1065 addq %r15,%r12 1066 movq %rax,%r14 1067 rorq $23,%r13 1068 movq %r9,%r15 1069 xorq %r8,%r13 1070 rorq $5,%r14 1071 xorq %r10,%r15 1072 movq %r12,64(%rsp) 1073 xorq %rax,%r14 1074 andq %r8,%r15 1075 rorq $4,%r13 1076 addq %r11,%r12 1077 xorq %r10,%r15 1078 rorq $6,%r14 1079 xorq %r8,%r13 1080 addq %r15,%r12 1081 movq %rax,%r15 1082 addq (%rbp),%r12 1083 xorq %rax,%r14 1084 xorq %rbx,%r15 1085 rorq $14,%r13 1086 movq %rbx,%r11 1087 andq %r15,%rdi 1088 rorq $28,%r14 1089 addq %r13,%r12 1090 xorq %rdi,%r11 1091 addq %r12,%rdx 1092 addq %r12,%r11 1093 leaq 8(%rbp),%rbp 1094 movq 80(%rsp),%r13 1095 movq 56(%rsp),%rdi 1096 movq %r13,%r12 1097 rorq $7,%r13 1098 addq %r14,%r11 1099 movq %rdi,%r14 1100 rorq $42,%rdi 1101 xorq %r12,%r13 1102 shrq $7,%r12 1103 rorq $1,%r13 1104 xorq %r14,%rdi 1105 shrq $6,%r14 1106 rorq $19,%rdi 1107 xorq %r13,%r12 1108 xorq %r14,%rdi 1109 addq 16(%rsp),%r12 1110 addq 72(%rsp),%r12 1111 movq %rdx,%r13 1112 addq %rdi,%r12 1113 movq %r11,%r14 1114 rorq $23,%r13 1115 movq %r8,%rdi 1116 xorq %rdx,%r13 1117 rorq $5,%r14 1118 xorq %r9,%rdi 1119 movq %r12,72(%rsp) 1120 xorq %r11,%r14 1121 andq %rdx,%rdi 1122 rorq $4,%r13 1123 addq %r10,%r12 1124 xorq %r9,%rdi 1125 rorq $6,%r14 1126 xorq %rdx,%r13 1127 addq %rdi,%r12 1128 movq %r11,%rdi 1129 addq (%rbp),%r12 1130 xorq %r11,%r14 1131 xorq %rax,%rdi 1132 rorq $14,%r13 1133 movq %rax,%r10 1134 andq %rdi,%r15 1135 rorq $28,%r14 1136 addq %r13,%r12 1137 xorq %r15,%r10 1138 addq %r12,%rcx 1139 addq %r12,%r10 1140 leaq 24(%rbp),%rbp 1141 movq 88(%rsp),%r13 1142 movq 64(%rsp),%r15 1143 movq %r13,%r12 1144 rorq $7,%r13 1145 addq %r14,%r10 1146 movq %r15,%r14 1147 rorq $42,%r15 1148 xorq %r12,%r13 1149 shrq $7,%r12 1150 rorq $1,%r13 1151 xorq %r14,%r15 1152 shrq $6,%r14 1153 rorq $19,%r15 1154 xorq %r13,%r12 1155 xorq %r14,%r15 1156 addq 24(%rsp),%r12 1157 addq 80(%rsp),%r12 1158 movq %rcx,%r13 1159 addq %r15,%r12 1160 movq %r10,%r14 1161 rorq $23,%r13 1162 movq %rdx,%r15 1163 xorq %rcx,%r13 1164 rorq $5,%r14 1165 xorq %r8,%r15 1166 movq %r12,80(%rsp) 1167 xorq %r10,%r14 1168 andq %rcx,%r15 1169 rorq $4,%r13 1170 addq %r9,%r12 1171 xorq %r8,%r15 1172 rorq $6,%r14 1173 xorq %rcx,%r13 1174 addq %r15,%r12 1175 movq %r10,%r15 1176 addq (%rbp),%r12 1177 xorq %r10,%r14 1178 xorq %r11,%r15 1179 rorq $14,%r13 1180 movq %r11,%r9 1181 andq %r15,%rdi 1182 rorq $28,%r14 1183 addq %r13,%r12 1184 xorq %rdi,%r9 1185 addq %r12,%rbx 1186 addq %r12,%r9 1187 leaq 8(%rbp),%rbp 1188 movq 96(%rsp),%r13 1189 movq 72(%rsp),%rdi 1190 movq %r13,%r12 1191 rorq $7,%r13 1192 addq %r14,%r9 1193 movq %rdi,%r14 1194 rorq $42,%rdi 1195 xorq %r12,%r13 1196 shrq $7,%r12 1197 rorq $1,%r13 1198 xorq %r14,%rdi 1199 shrq $6,%r14 1200 rorq $19,%rdi 1201 xorq %r13,%r12 1202 xorq %r14,%rdi 1203 addq 32(%rsp),%r12 1204 addq 88(%rsp),%r12 1205 movq %rbx,%r13 1206 addq %rdi,%r12 1207 movq %r9,%r14 1208 rorq $23,%r13 1209 movq %rcx,%rdi 1210 xorq %rbx,%r13 1211 rorq $5,%r14 1212 xorq %rdx,%rdi 1213 movq %r12,88(%rsp) 1214 xorq %r9,%r14 1215 andq %rbx,%rdi 1216 rorq $4,%r13 1217 addq %r8,%r12 1218 xorq %rdx,%rdi 1219 rorq $6,%r14 1220 xorq %rbx,%r13 1221 addq %rdi,%r12 1222 movq %r9,%rdi 1223 addq (%rbp),%r12 1224 xorq %r9,%r14 1225 xorq %r10,%rdi 1226 rorq $14,%r13 1227 movq %r10,%r8 1228 andq %rdi,%r15 1229 rorq $28,%r14 1230 addq %r13,%r12 1231 xorq %r15,%r8 1232 addq %r12,%rax 1233 addq %r12,%r8 1234 leaq 24(%rbp),%rbp 1235 movq 104(%rsp),%r13 1236 movq 80(%rsp),%r15 1237 movq %r13,%r12 1238 rorq $7,%r13 1239 addq %r14,%r8 1240 movq %r15,%r14 1241 rorq $42,%r15 1242 xorq %r12,%r13 1243 shrq $7,%r12 1244 rorq $1,%r13 1245 xorq %r14,%r15 1246 shrq $6,%r14 1247 rorq $19,%r15 1248 xorq %r13,%r12 1249 xorq %r14,%r15 1250 addq 40(%rsp),%r12 1251 addq 96(%rsp),%r12 1252 movq %rax,%r13 1253 addq %r15,%r12 1254 movq %r8,%r14 1255 rorq $23,%r13 1256 movq %rbx,%r15 1257 xorq %rax,%r13 1258 rorq $5,%r14 1259 xorq %rcx,%r15 1260 movq %r12,96(%rsp) 1261 xorq %r8,%r14 1262 andq %rax,%r15 1263 rorq $4,%r13 1264 addq %rdx,%r12 1265 xorq %rcx,%r15 1266 rorq $6,%r14 1267 xorq %rax,%r13 1268 addq %r15,%r12 1269 movq %r8,%r15 1270 addq (%rbp),%r12 1271 xorq %r8,%r14 1272 xorq %r9,%r15 1273 rorq $14,%r13 1274 movq %r9,%rdx 1275 andq %r15,%rdi 1276 rorq $28,%r14 1277 addq %r13,%r12 1278 xorq %rdi,%rdx 1279 addq %r12,%r11 1280 addq %r12,%rdx 1281 leaq 8(%rbp),%rbp 1282 movq 112(%rsp),%r13 1283 movq 88(%rsp),%rdi 1284 movq %r13,%r12 1285 rorq $7,%r13 1286 addq %r14,%rdx 1287 movq %rdi,%r14 1288 rorq $42,%rdi 1289 xorq %r12,%r13 1290 shrq $7,%r12 1291 rorq $1,%r13 1292 xorq %r14,%rdi 1293 shrq $6,%r14 1294 rorq $19,%rdi 1295 xorq %r13,%r12 1296 xorq %r14,%rdi 1297 addq 48(%rsp),%r12 1298 addq 104(%rsp),%r12 1299 movq %r11,%r13 1300 addq %rdi,%r12 1301 movq %rdx,%r14 1302 rorq $23,%r13 1303 movq %rax,%rdi 1304 xorq %r11,%r13 1305 rorq $5,%r14 1306 xorq %rbx,%rdi 1307 movq %r12,104(%rsp) 1308 xorq %rdx,%r14 1309 andq %r11,%rdi 1310 rorq $4,%r13 1311 addq %rcx,%r12 1312 xorq %rbx,%rdi 1313 rorq $6,%r14 1314 xorq %r11,%r13 1315 addq %rdi,%r12 1316 movq %rdx,%rdi 1317 addq (%rbp),%r12 1318 xorq %rdx,%r14 1319 xorq %r8,%rdi 1320 rorq $14,%r13 1321 movq %r8,%rcx 1322 andq %rdi,%r15 1323 rorq $28,%r14 1324 addq %r13,%r12 1325 xorq %r15,%rcx 1326 addq %r12,%r10 1327 addq %r12,%rcx 1328 leaq 24(%rbp),%rbp 1329 movq 120(%rsp),%r13 1330 movq 96(%rsp),%r15 1331 movq %r13,%r12 1332 rorq $7,%r13 1333 addq %r14,%rcx 1334 movq %r15,%r14 1335 rorq $42,%r15 1336 xorq %r12,%r13 1337 shrq $7,%r12 1338 rorq $1,%r13 1339 xorq %r14,%r15 1340 shrq $6,%r14 1341 rorq $19,%r15 1342 xorq %r13,%r12 1343 xorq %r14,%r15 1344 addq 56(%rsp),%r12 1345 addq 112(%rsp),%r12 1346 movq %r10,%r13 1347 addq %r15,%r12 1348 movq %rcx,%r14 1349 rorq $23,%r13 1350 movq %r11,%r15 1351 xorq %r10,%r13 1352 rorq $5,%r14 1353 xorq %rax,%r15 1354 movq %r12,112(%rsp) 1355 xorq %rcx,%r14 1356 andq %r10,%r15 1357 rorq $4,%r13 1358 addq %rbx,%r12 1359 xorq %rax,%r15 1360 rorq $6,%r14 1361 xorq %r10,%r13 1362 addq %r15,%r12 1363 movq %rcx,%r15 1364 addq (%rbp),%r12 1365 xorq %rcx,%r14 1366 xorq %rdx,%r15 1367 rorq $14,%r13 1368 movq %rdx,%rbx 1369 andq %r15,%rdi 1370 rorq $28,%r14 1371 addq %r13,%r12 1372 xorq %rdi,%rbx 1373 addq %r12,%r9 1374 addq %r12,%rbx 1375 leaq 8(%rbp),%rbp 1376 movq 0(%rsp),%r13 1377 movq 104(%rsp),%rdi 1378 movq %r13,%r12 1379 rorq $7,%r13 1380 addq %r14,%rbx 1381 movq %rdi,%r14 1382 rorq $42,%rdi 1383 xorq %r12,%r13 1384 shrq $7,%r12 1385 rorq $1,%r13 1386 xorq %r14,%rdi 1387 shrq $6,%r14 1388 rorq $19,%rdi 1389 xorq %r13,%r12 1390 xorq %r14,%rdi 1391 addq 64(%rsp),%r12 1392 addq 120(%rsp),%r12 1393 movq %r9,%r13 1394 addq %rdi,%r12 1395 movq %rbx,%r14 1396 rorq $23,%r13 1397 movq %r10,%rdi 1398 xorq %r9,%r13 1399 rorq $5,%r14 1400 xorq %r11,%rdi 1401 movq %r12,120(%rsp) 1402 xorq %rbx,%r14 1403 andq %r9,%rdi 1404 rorq $4,%r13 1405 addq %rax,%r12 1406 xorq %r11,%rdi 1407 rorq $6,%r14 1408 xorq %r9,%r13 1409 addq %rdi,%r12 1410 movq %rbx,%rdi 1411 addq (%rbp),%r12 1412 xorq %rbx,%r14 1413 xorq %rcx,%rdi 1414 rorq $14,%r13 1415 movq %rcx,%rax 1416 andq %rdi,%r15 1417 rorq $28,%r14 1418 addq %r13,%r12 1419 xorq %r15,%rax 1420 addq %r12,%r8 1421 addq %r12,%rax 1422 leaq 24(%rbp),%rbp 1423 cmpb $0,7(%rbp) 1424 jnz .Lrounds_16_xx 1425 movq 128+0(%rsp),%rdi 1426 addq %r14,%rax 1427 leaq 128(%rsi),%rsi 1428 addq 0(%rdi),%rax 1429 addq 8(%rdi),%rbx 1430 addq 16(%rdi),%rcx 1431 addq 24(%rdi),%rdx 1432 addq 32(%rdi),%r8 1433 addq 40(%rdi),%r9 1434 addq 48(%rdi),%r10 1435 addq 56(%rdi),%r11 1436 cmpq 128+16(%rsp),%rsi 1437 movq %rax,0(%rdi) 1438 movq %rbx,8(%rdi) 1439 movq %rcx,16(%rdi) 1440 movq %rdx,24(%rdi) 1441 movq %r8,32(%rdi) 1442 movq %r9,40(%rdi) 1443 movq %r10,48(%rdi) 1444 movq %r11,56(%rdi) 1445 jb .Lloop 1446 movq 152(%rsp),%rsi 1447.cfi_def_cfa %rsi,8 1448 movq -48(%rsi),%r15 1449.cfi_restore %r15 1450 movq -40(%rsi),%r14 1451.cfi_restore %r14 1452 movq -32(%rsi),%r13 1453.cfi_restore %r13 1454 movq -24(%rsi),%r12 1455.cfi_restore %r12 1456 movq -16(%rsi),%rbp 1457.cfi_restore %rbp 1458 movq -8(%rsi),%rbx 1459.cfi_restore %rbx 1460 leaq (%rsi),%rsp 1461.cfi_def_cfa_register %rsp 1462.Lepilogue: 1463 RET 1464.cfi_endproc 1465SET_SIZE(zfs_sha512_transform_x64) 1466 1467ENTRY_ALIGN(zfs_sha512_transform_avx, 64) 1468.cfi_startproc 1469 ENDBR 1470 movq %rsp,%rax 1471.cfi_def_cfa_register %rax 1472 pushq %rbx 1473.cfi_offset %rbx,-16 1474 pushq %rbp 1475.cfi_offset %rbp,-24 1476 pushq %r12 1477.cfi_offset %r12,-32 1478 pushq %r13 1479.cfi_offset %r13,-40 1480 pushq %r14 1481.cfi_offset %r14,-48 1482 pushq %r15 1483.cfi_offset %r15,-56 1484 shlq $4,%rdx 1485 subq $160,%rsp 1486 leaq (%rsi,%rdx,8),%rdx 1487 andq $-64,%rsp 1488 movq %rdi,128+0(%rsp) 1489 movq %rsi,128+8(%rsp) 1490 movq %rdx,128+16(%rsp) 1491 movq %rax,152(%rsp) 1492.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 1493.Lprologue_avx: 1494 1495 vzeroupper 1496 movq 0(%rdi),%rax 1497 movq 8(%rdi),%rbx 1498 movq 16(%rdi),%rcx 1499 movq 24(%rdi),%rdx 1500 movq 32(%rdi),%r8 1501 movq 40(%rdi),%r9 1502 movq 48(%rdi),%r10 1503 movq 56(%rdi),%r11 1504 jmp .Lloop_avx 1505.balign 16 1506.Lloop_avx: 1507 vmovdqa K512+1280(%rip),%xmm11 1508 vmovdqu 0(%rsi),%xmm0 1509 leaq K512+128(%rip),%rbp 1510 vmovdqu 16(%rsi),%xmm1 1511 vmovdqu 32(%rsi),%xmm2 1512 vpshufb %xmm11,%xmm0,%xmm0 1513 vmovdqu 48(%rsi),%xmm3 1514 vpshufb %xmm11,%xmm1,%xmm1 1515 vmovdqu 64(%rsi),%xmm4 1516 vpshufb %xmm11,%xmm2,%xmm2 1517 vmovdqu 80(%rsi),%xmm5 1518 vpshufb %xmm11,%xmm3,%xmm3 1519 vmovdqu 96(%rsi),%xmm6 1520 vpshufb %xmm11,%xmm4,%xmm4 1521 vmovdqu 112(%rsi),%xmm7 1522 vpshufb %xmm11,%xmm5,%xmm5 1523 vpaddq -128(%rbp),%xmm0,%xmm8 1524 vpshufb %xmm11,%xmm6,%xmm6 1525 vpaddq -96(%rbp),%xmm1,%xmm9 1526 vpshufb %xmm11,%xmm7,%xmm7 1527 vpaddq -64(%rbp),%xmm2,%xmm10 1528 vpaddq -32(%rbp),%xmm3,%xmm11 1529 vmovdqa %xmm8,0(%rsp) 1530 vpaddq 0(%rbp),%xmm4,%xmm8 1531 vmovdqa %xmm9,16(%rsp) 1532 vpaddq 32(%rbp),%xmm5,%xmm9 1533 vmovdqa %xmm10,32(%rsp) 1534 vpaddq 64(%rbp),%xmm6,%xmm10 1535 vmovdqa %xmm11,48(%rsp) 1536 vpaddq 96(%rbp),%xmm7,%xmm11 1537 vmovdqa %xmm8,64(%rsp) 1538 movq %rax,%r14 1539 vmovdqa %xmm9,80(%rsp) 1540 movq %rbx,%rdi 1541 vmovdqa %xmm10,96(%rsp) 1542 xorq %rcx,%rdi 1543 vmovdqa %xmm11,112(%rsp) 1544 movq %r8,%r13 1545 jmp .Lavx_00_47 1546 1547.balign 16 1548.Lavx_00_47: 1549 addq $256,%rbp 1550 vpalignr $8,%xmm0,%xmm1,%xmm8 1551 shrdq $23,%r13,%r13 1552 movq %r14,%rax 1553 vpalignr $8,%xmm4,%xmm5,%xmm11 1554 movq %r9,%r12 1555 shrdq $5,%r14,%r14 1556 vpsrlq $1,%xmm8,%xmm10 1557 xorq %r8,%r13 1558 xorq %r10,%r12 1559 vpaddq %xmm11,%xmm0,%xmm0 1560 shrdq $4,%r13,%r13 1561 xorq %rax,%r14 1562 vpsrlq $7,%xmm8,%xmm11 1563 andq %r8,%r12 1564 xorq %r8,%r13 1565 vpsllq $56,%xmm8,%xmm9 1566 addq 0(%rsp),%r11 1567 movq %rax,%r15 1568 vpxor %xmm10,%xmm11,%xmm8 1569 xorq %r10,%r12 1570 shrdq $6,%r14,%r14 1571 vpsrlq $7,%xmm10,%xmm10 1572 xorq %rbx,%r15 1573 addq %r12,%r11 1574 vpxor %xmm9,%xmm8,%xmm8 1575 shrdq $14,%r13,%r13 1576 andq %r15,%rdi 1577 vpsllq $7,%xmm9,%xmm9 1578 xorq %rax,%r14 1579 addq %r13,%r11 1580 vpxor %xmm10,%xmm8,%xmm8 1581 xorq %rbx,%rdi 1582 shrdq $28,%r14,%r14 1583 vpsrlq $6,%xmm7,%xmm11 1584 addq %r11,%rdx 1585 addq %rdi,%r11 1586 vpxor %xmm9,%xmm8,%xmm8 1587 movq %rdx,%r13 1588 addq %r11,%r14 1589 vpsllq $3,%xmm7,%xmm10 1590 shrdq $23,%r13,%r13 1591 movq %r14,%r11 1592 vpaddq %xmm8,%xmm0,%xmm0 1593 movq %r8,%r12 1594 shrdq $5,%r14,%r14 1595 vpsrlq $19,%xmm7,%xmm9 1596 xorq %rdx,%r13 1597 xorq %r9,%r12 1598 vpxor %xmm10,%xmm11,%xmm11 1599 shrdq $4,%r13,%r13 1600 xorq %r11,%r14 1601 vpsllq $42,%xmm10,%xmm10 1602 andq %rdx,%r12 1603 xorq %rdx,%r13 1604 vpxor %xmm9,%xmm11,%xmm11 1605 addq 8(%rsp),%r10 1606 movq %r11,%rdi 1607 vpsrlq $42,%xmm9,%xmm9 1608 xorq %r9,%r12 1609 shrdq $6,%r14,%r14 1610 vpxor %xmm10,%xmm11,%xmm11 1611 xorq %rax,%rdi 1612 addq %r12,%r10 1613 vpxor %xmm9,%xmm11,%xmm11 1614 shrdq $14,%r13,%r13 1615 andq %rdi,%r15 1616 vpaddq %xmm11,%xmm0,%xmm0 1617 xorq %r11,%r14 1618 addq %r13,%r10 1619 vpaddq -128(%rbp),%xmm0,%xmm10 1620 xorq %rax,%r15 1621 shrdq $28,%r14,%r14 1622 addq %r10,%rcx 1623 addq %r15,%r10 1624 movq %rcx,%r13 1625 addq %r10,%r14 1626 vmovdqa %xmm10,0(%rsp) 1627 vpalignr $8,%xmm1,%xmm2,%xmm8 1628 shrdq $23,%r13,%r13 1629 movq %r14,%r10 1630 vpalignr $8,%xmm5,%xmm6,%xmm11 1631 movq %rdx,%r12 1632 shrdq $5,%r14,%r14 1633 vpsrlq $1,%xmm8,%xmm10 1634 xorq %rcx,%r13 1635 xorq %r8,%r12 1636 vpaddq %xmm11,%xmm1,%xmm1 1637 shrdq $4,%r13,%r13 1638 xorq %r10,%r14 1639 vpsrlq $7,%xmm8,%xmm11 1640 andq %rcx,%r12 1641 xorq %rcx,%r13 1642 vpsllq $56,%xmm8,%xmm9 1643 addq 16(%rsp),%r9 1644 movq %r10,%r15 1645 vpxor %xmm10,%xmm11,%xmm8 1646 xorq %r8,%r12 1647 shrdq $6,%r14,%r14 1648 vpsrlq $7,%xmm10,%xmm10 1649 xorq %r11,%r15 1650 addq %r12,%r9 1651 vpxor %xmm9,%xmm8,%xmm8 1652 shrdq $14,%r13,%r13 1653 andq %r15,%rdi 1654 vpsllq $7,%xmm9,%xmm9 1655 xorq %r10,%r14 1656 addq %r13,%r9 1657 vpxor %xmm10,%xmm8,%xmm8 1658 xorq %r11,%rdi 1659 shrdq $28,%r14,%r14 1660 vpsrlq $6,%xmm0,%xmm11 1661 addq %r9,%rbx 1662 addq %rdi,%r9 1663 vpxor %xmm9,%xmm8,%xmm8 1664 movq %rbx,%r13 1665 addq %r9,%r14 1666 vpsllq $3,%xmm0,%xmm10 1667 shrdq $23,%r13,%r13 1668 movq %r14,%r9 1669 vpaddq %xmm8,%xmm1,%xmm1 1670 movq %rcx,%r12 1671 shrdq $5,%r14,%r14 1672 vpsrlq $19,%xmm0,%xmm9 1673 xorq %rbx,%r13 1674 xorq %rdx,%r12 1675 vpxor %xmm10,%xmm11,%xmm11 1676 shrdq $4,%r13,%r13 1677 xorq %r9,%r14 1678 vpsllq $42,%xmm10,%xmm10 1679 andq %rbx,%r12 1680 xorq %rbx,%r13 1681 vpxor %xmm9,%xmm11,%xmm11 1682 addq 24(%rsp),%r8 1683 movq %r9,%rdi 1684 vpsrlq $42,%xmm9,%xmm9 1685 xorq %rdx,%r12 1686 shrdq $6,%r14,%r14 1687 vpxor %xmm10,%xmm11,%xmm11 1688 xorq %r10,%rdi 1689 addq %r12,%r8 1690 vpxor %xmm9,%xmm11,%xmm11 1691 shrdq $14,%r13,%r13 1692 andq %rdi,%r15 1693 vpaddq %xmm11,%xmm1,%xmm1 1694 xorq %r9,%r14 1695 addq %r13,%r8 1696 vpaddq -96(%rbp),%xmm1,%xmm10 1697 xorq %r10,%r15 1698 shrdq $28,%r14,%r14 1699 addq %r8,%rax 1700 addq %r15,%r8 1701 movq %rax,%r13 1702 addq %r8,%r14 1703 vmovdqa %xmm10,16(%rsp) 1704 vpalignr $8,%xmm2,%xmm3,%xmm8 1705 shrdq $23,%r13,%r13 1706 movq %r14,%r8 1707 vpalignr $8,%xmm6,%xmm7,%xmm11 1708 movq %rbx,%r12 1709 shrdq $5,%r14,%r14 1710 vpsrlq $1,%xmm8,%xmm10 1711 xorq %rax,%r13 1712 xorq %rcx,%r12 1713 vpaddq %xmm11,%xmm2,%xmm2 1714 shrdq $4,%r13,%r13 1715 xorq %r8,%r14 1716 vpsrlq $7,%xmm8,%xmm11 1717 andq %rax,%r12 1718 xorq %rax,%r13 1719 vpsllq $56,%xmm8,%xmm9 1720 addq 32(%rsp),%rdx 1721 movq %r8,%r15 1722 vpxor %xmm10,%xmm11,%xmm8 1723 xorq %rcx,%r12 1724 shrdq $6,%r14,%r14 1725 vpsrlq $7,%xmm10,%xmm10 1726 xorq %r9,%r15 1727 addq %r12,%rdx 1728 vpxor %xmm9,%xmm8,%xmm8 1729 shrdq $14,%r13,%r13 1730 andq %r15,%rdi 1731 vpsllq $7,%xmm9,%xmm9 1732 xorq %r8,%r14 1733 addq %r13,%rdx 1734 vpxor %xmm10,%xmm8,%xmm8 1735 xorq %r9,%rdi 1736 shrdq $28,%r14,%r14 1737 vpsrlq $6,%xmm1,%xmm11 1738 addq %rdx,%r11 1739 addq %rdi,%rdx 1740 vpxor %xmm9,%xmm8,%xmm8 1741 movq %r11,%r13 1742 addq %rdx,%r14 1743 vpsllq $3,%xmm1,%xmm10 1744 shrdq $23,%r13,%r13 1745 movq %r14,%rdx 1746 vpaddq %xmm8,%xmm2,%xmm2 1747 movq %rax,%r12 1748 shrdq $5,%r14,%r14 1749 vpsrlq $19,%xmm1,%xmm9 1750 xorq %r11,%r13 1751 xorq %rbx,%r12 1752 vpxor %xmm10,%xmm11,%xmm11 1753 shrdq $4,%r13,%r13 1754 xorq %rdx,%r14 1755 vpsllq $42,%xmm10,%xmm10 1756 andq %r11,%r12 1757 xorq %r11,%r13 1758 vpxor %xmm9,%xmm11,%xmm11 1759 addq 40(%rsp),%rcx 1760 movq %rdx,%rdi 1761 vpsrlq $42,%xmm9,%xmm9 1762 xorq %rbx,%r12 1763 shrdq $6,%r14,%r14 1764 vpxor %xmm10,%xmm11,%xmm11 1765 xorq %r8,%rdi 1766 addq %r12,%rcx 1767 vpxor %xmm9,%xmm11,%xmm11 1768 shrdq $14,%r13,%r13 1769 andq %rdi,%r15 1770 vpaddq %xmm11,%xmm2,%xmm2 1771 xorq %rdx,%r14 1772 addq %r13,%rcx 1773 vpaddq -64(%rbp),%xmm2,%xmm10 1774 xorq %r8,%r15 1775 shrdq $28,%r14,%r14 1776 addq %rcx,%r10 1777 addq %r15,%rcx 1778 movq %r10,%r13 1779 addq %rcx,%r14 1780 vmovdqa %xmm10,32(%rsp) 1781 vpalignr $8,%xmm3,%xmm4,%xmm8 1782 shrdq $23,%r13,%r13 1783 movq %r14,%rcx 1784 vpalignr $8,%xmm7,%xmm0,%xmm11 1785 movq %r11,%r12 1786 shrdq $5,%r14,%r14 1787 vpsrlq $1,%xmm8,%xmm10 1788 xorq %r10,%r13 1789 xorq %rax,%r12 1790 vpaddq %xmm11,%xmm3,%xmm3 1791 shrdq $4,%r13,%r13 1792 xorq %rcx,%r14 1793 vpsrlq $7,%xmm8,%xmm11 1794 andq %r10,%r12 1795 xorq %r10,%r13 1796 vpsllq $56,%xmm8,%xmm9 1797 addq 48(%rsp),%rbx 1798 movq %rcx,%r15 1799 vpxor %xmm10,%xmm11,%xmm8 1800 xorq %rax,%r12 1801 shrdq $6,%r14,%r14 1802 vpsrlq $7,%xmm10,%xmm10 1803 xorq %rdx,%r15 1804 addq %r12,%rbx 1805 vpxor %xmm9,%xmm8,%xmm8 1806 shrdq $14,%r13,%r13 1807 andq %r15,%rdi 1808 vpsllq $7,%xmm9,%xmm9 1809 xorq %rcx,%r14 1810 addq %r13,%rbx 1811 vpxor %xmm10,%xmm8,%xmm8 1812 xorq %rdx,%rdi 1813 shrdq $28,%r14,%r14 1814 vpsrlq $6,%xmm2,%xmm11 1815 addq %rbx,%r9 1816 addq %rdi,%rbx 1817 vpxor %xmm9,%xmm8,%xmm8 1818 movq %r9,%r13 1819 addq %rbx,%r14 1820 vpsllq $3,%xmm2,%xmm10 1821 shrdq $23,%r13,%r13 1822 movq %r14,%rbx 1823 vpaddq %xmm8,%xmm3,%xmm3 1824 movq %r10,%r12 1825 shrdq $5,%r14,%r14 1826 vpsrlq $19,%xmm2,%xmm9 1827 xorq %r9,%r13 1828 xorq %r11,%r12 1829 vpxor %xmm10,%xmm11,%xmm11 1830 shrdq $4,%r13,%r13 1831 xorq %rbx,%r14 1832 vpsllq $42,%xmm10,%xmm10 1833 andq %r9,%r12 1834 xorq %r9,%r13 1835 vpxor %xmm9,%xmm11,%xmm11 1836 addq 56(%rsp),%rax 1837 movq %rbx,%rdi 1838 vpsrlq $42,%xmm9,%xmm9 1839 xorq %r11,%r12 1840 shrdq $6,%r14,%r14 1841 vpxor %xmm10,%xmm11,%xmm11 1842 xorq %rcx,%rdi 1843 addq %r12,%rax 1844 vpxor %xmm9,%xmm11,%xmm11 1845 shrdq $14,%r13,%r13 1846 andq %rdi,%r15 1847 vpaddq %xmm11,%xmm3,%xmm3 1848 xorq %rbx,%r14 1849 addq %r13,%rax 1850 vpaddq -32(%rbp),%xmm3,%xmm10 1851 xorq %rcx,%r15 1852 shrdq $28,%r14,%r14 1853 addq %rax,%r8 1854 addq %r15,%rax 1855 movq %r8,%r13 1856 addq %rax,%r14 1857 vmovdqa %xmm10,48(%rsp) 1858 vpalignr $8,%xmm4,%xmm5,%xmm8 1859 shrdq $23,%r13,%r13 1860 movq %r14,%rax 1861 vpalignr $8,%xmm0,%xmm1,%xmm11 1862 movq %r9,%r12 1863 shrdq $5,%r14,%r14 1864 vpsrlq $1,%xmm8,%xmm10 1865 xorq %r8,%r13 1866 xorq %r10,%r12 1867 vpaddq %xmm11,%xmm4,%xmm4 1868 shrdq $4,%r13,%r13 1869 xorq %rax,%r14 1870 vpsrlq $7,%xmm8,%xmm11 1871 andq %r8,%r12 1872 xorq %r8,%r13 1873 vpsllq $56,%xmm8,%xmm9 1874 addq 64(%rsp),%r11 1875 movq %rax,%r15 1876 vpxor %xmm10,%xmm11,%xmm8 1877 xorq %r10,%r12 1878 shrdq $6,%r14,%r14 1879 vpsrlq $7,%xmm10,%xmm10 1880 xorq %rbx,%r15 1881 addq %r12,%r11 1882 vpxor %xmm9,%xmm8,%xmm8 1883 shrdq $14,%r13,%r13 1884 andq %r15,%rdi 1885 vpsllq $7,%xmm9,%xmm9 1886 xorq %rax,%r14 1887 addq %r13,%r11 1888 vpxor %xmm10,%xmm8,%xmm8 1889 xorq %rbx,%rdi 1890 shrdq $28,%r14,%r14 1891 vpsrlq $6,%xmm3,%xmm11 1892 addq %r11,%rdx 1893 addq %rdi,%r11 1894 vpxor %xmm9,%xmm8,%xmm8 1895 movq %rdx,%r13 1896 addq %r11,%r14 1897 vpsllq $3,%xmm3,%xmm10 1898 shrdq $23,%r13,%r13 1899 movq %r14,%r11 1900 vpaddq %xmm8,%xmm4,%xmm4 1901 movq %r8,%r12 1902 shrdq $5,%r14,%r14 1903 vpsrlq $19,%xmm3,%xmm9 1904 xorq %rdx,%r13 1905 xorq %r9,%r12 1906 vpxor %xmm10,%xmm11,%xmm11 1907 shrdq $4,%r13,%r13 1908 xorq %r11,%r14 1909 vpsllq $42,%xmm10,%xmm10 1910 andq %rdx,%r12 1911 xorq %rdx,%r13 1912 vpxor %xmm9,%xmm11,%xmm11 1913 addq 72(%rsp),%r10 1914 movq %r11,%rdi 1915 vpsrlq $42,%xmm9,%xmm9 1916 xorq %r9,%r12 1917 shrdq $6,%r14,%r14 1918 vpxor %xmm10,%xmm11,%xmm11 1919 xorq %rax,%rdi 1920 addq %r12,%r10 1921 vpxor %xmm9,%xmm11,%xmm11 1922 shrdq $14,%r13,%r13 1923 andq %rdi,%r15 1924 vpaddq %xmm11,%xmm4,%xmm4 1925 xorq %r11,%r14 1926 addq %r13,%r10 1927 vpaddq 0(%rbp),%xmm4,%xmm10 1928 xorq %rax,%r15 1929 shrdq $28,%r14,%r14 1930 addq %r10,%rcx 1931 addq %r15,%r10 1932 movq %rcx,%r13 1933 addq %r10,%r14 1934 vmovdqa %xmm10,64(%rsp) 1935 vpalignr $8,%xmm5,%xmm6,%xmm8 1936 shrdq $23,%r13,%r13 1937 movq %r14,%r10 1938 vpalignr $8,%xmm1,%xmm2,%xmm11 1939 movq %rdx,%r12 1940 shrdq $5,%r14,%r14 1941 vpsrlq $1,%xmm8,%xmm10 1942 xorq %rcx,%r13 1943 xorq %r8,%r12 1944 vpaddq %xmm11,%xmm5,%xmm5 1945 shrdq $4,%r13,%r13 1946 xorq %r10,%r14 1947 vpsrlq $7,%xmm8,%xmm11 1948 andq %rcx,%r12 1949 xorq %rcx,%r13 1950 vpsllq $56,%xmm8,%xmm9 1951 addq 80(%rsp),%r9 1952 movq %r10,%r15 1953 vpxor %xmm10,%xmm11,%xmm8 1954 xorq %r8,%r12 1955 shrdq $6,%r14,%r14 1956 vpsrlq $7,%xmm10,%xmm10 1957 xorq %r11,%r15 1958 addq %r12,%r9 1959 vpxor %xmm9,%xmm8,%xmm8 1960 shrdq $14,%r13,%r13 1961 andq %r15,%rdi 1962 vpsllq $7,%xmm9,%xmm9 1963 xorq %r10,%r14 1964 addq %r13,%r9 1965 vpxor %xmm10,%xmm8,%xmm8 1966 xorq %r11,%rdi 1967 shrdq $28,%r14,%r14 1968 vpsrlq $6,%xmm4,%xmm11 1969 addq %r9,%rbx 1970 addq %rdi,%r9 1971 vpxor %xmm9,%xmm8,%xmm8 1972 movq %rbx,%r13 1973 addq %r9,%r14 1974 vpsllq $3,%xmm4,%xmm10 1975 shrdq $23,%r13,%r13 1976 movq %r14,%r9 1977 vpaddq %xmm8,%xmm5,%xmm5 1978 movq %rcx,%r12 1979 shrdq $5,%r14,%r14 1980 vpsrlq $19,%xmm4,%xmm9 1981 xorq %rbx,%r13 1982 xorq %rdx,%r12 1983 vpxor %xmm10,%xmm11,%xmm11 1984 shrdq $4,%r13,%r13 1985 xorq %r9,%r14 1986 vpsllq $42,%xmm10,%xmm10 1987 andq %rbx,%r12 1988 xorq %rbx,%r13 1989 vpxor %xmm9,%xmm11,%xmm11 1990 addq 88(%rsp),%r8 1991 movq %r9,%rdi 1992 vpsrlq $42,%xmm9,%xmm9 1993 xorq %rdx,%r12 1994 shrdq $6,%r14,%r14 1995 vpxor %xmm10,%xmm11,%xmm11 1996 xorq %r10,%rdi 1997 addq %r12,%r8 1998 vpxor %xmm9,%xmm11,%xmm11 1999 shrdq $14,%r13,%r13 2000 andq %rdi,%r15 2001 vpaddq %xmm11,%xmm5,%xmm5 2002 xorq %r9,%r14 2003 addq %r13,%r8 2004 vpaddq 32(%rbp),%xmm5,%xmm10 2005 xorq %r10,%r15 2006 shrdq $28,%r14,%r14 2007 addq %r8,%rax 2008 addq %r15,%r8 2009 movq %rax,%r13 2010 addq %r8,%r14 2011 vmovdqa %xmm10,80(%rsp) 2012 vpalignr $8,%xmm6,%xmm7,%xmm8 2013 shrdq $23,%r13,%r13 2014 movq %r14,%r8 2015 vpalignr $8,%xmm2,%xmm3,%xmm11 2016 movq %rbx,%r12 2017 shrdq $5,%r14,%r14 2018 vpsrlq $1,%xmm8,%xmm10 2019 xorq %rax,%r13 2020 xorq %rcx,%r12 2021 vpaddq %xmm11,%xmm6,%xmm6 2022 shrdq $4,%r13,%r13 2023 xorq %r8,%r14 2024 vpsrlq $7,%xmm8,%xmm11 2025 andq %rax,%r12 2026 xorq %rax,%r13 2027 vpsllq $56,%xmm8,%xmm9 2028 addq 96(%rsp),%rdx 2029 movq %r8,%r15 2030 vpxor %xmm10,%xmm11,%xmm8 2031 xorq %rcx,%r12 2032 shrdq $6,%r14,%r14 2033 vpsrlq $7,%xmm10,%xmm10 2034 xorq %r9,%r15 2035 addq %r12,%rdx 2036 vpxor %xmm9,%xmm8,%xmm8 2037 shrdq $14,%r13,%r13 2038 andq %r15,%rdi 2039 vpsllq $7,%xmm9,%xmm9 2040 xorq %r8,%r14 2041 addq %r13,%rdx 2042 vpxor %xmm10,%xmm8,%xmm8 2043 xorq %r9,%rdi 2044 shrdq $28,%r14,%r14 2045 vpsrlq $6,%xmm5,%xmm11 2046 addq %rdx,%r11 2047 addq %rdi,%rdx 2048 vpxor %xmm9,%xmm8,%xmm8 2049 movq %r11,%r13 2050 addq %rdx,%r14 2051 vpsllq $3,%xmm5,%xmm10 2052 shrdq $23,%r13,%r13 2053 movq %r14,%rdx 2054 vpaddq %xmm8,%xmm6,%xmm6 2055 movq %rax,%r12 2056 shrdq $5,%r14,%r14 2057 vpsrlq $19,%xmm5,%xmm9 2058 xorq %r11,%r13 2059 xorq %rbx,%r12 2060 vpxor %xmm10,%xmm11,%xmm11 2061 shrdq $4,%r13,%r13 2062 xorq %rdx,%r14 2063 vpsllq $42,%xmm10,%xmm10 2064 andq %r11,%r12 2065 xorq %r11,%r13 2066 vpxor %xmm9,%xmm11,%xmm11 2067 addq 104(%rsp),%rcx 2068 movq %rdx,%rdi 2069 vpsrlq $42,%xmm9,%xmm9 2070 xorq %rbx,%r12 2071 shrdq $6,%r14,%r14 2072 vpxor %xmm10,%xmm11,%xmm11 2073 xorq %r8,%rdi 2074 addq %r12,%rcx 2075 vpxor %xmm9,%xmm11,%xmm11 2076 shrdq $14,%r13,%r13 2077 andq %rdi,%r15 2078 vpaddq %xmm11,%xmm6,%xmm6 2079 xorq %rdx,%r14 2080 addq %r13,%rcx 2081 vpaddq 64(%rbp),%xmm6,%xmm10 2082 xorq %r8,%r15 2083 shrdq $28,%r14,%r14 2084 addq %rcx,%r10 2085 addq %r15,%rcx 2086 movq %r10,%r13 2087 addq %rcx,%r14 2088 vmovdqa %xmm10,96(%rsp) 2089 vpalignr $8,%xmm7,%xmm0,%xmm8 2090 shrdq $23,%r13,%r13 2091 movq %r14,%rcx 2092 vpalignr $8,%xmm3,%xmm4,%xmm11 2093 movq %r11,%r12 2094 shrdq $5,%r14,%r14 2095 vpsrlq $1,%xmm8,%xmm10 2096 xorq %r10,%r13 2097 xorq %rax,%r12 2098 vpaddq %xmm11,%xmm7,%xmm7 2099 shrdq $4,%r13,%r13 2100 xorq %rcx,%r14 2101 vpsrlq $7,%xmm8,%xmm11 2102 andq %r10,%r12 2103 xorq %r10,%r13 2104 vpsllq $56,%xmm8,%xmm9 2105 addq 112(%rsp),%rbx 2106 movq %rcx,%r15 2107 vpxor %xmm10,%xmm11,%xmm8 2108 xorq %rax,%r12 2109 shrdq $6,%r14,%r14 2110 vpsrlq $7,%xmm10,%xmm10 2111 xorq %rdx,%r15 2112 addq %r12,%rbx 2113 vpxor %xmm9,%xmm8,%xmm8 2114 shrdq $14,%r13,%r13 2115 andq %r15,%rdi 2116 vpsllq $7,%xmm9,%xmm9 2117 xorq %rcx,%r14 2118 addq %r13,%rbx 2119 vpxor %xmm10,%xmm8,%xmm8 2120 xorq %rdx,%rdi 2121 shrdq $28,%r14,%r14 2122 vpsrlq $6,%xmm6,%xmm11 2123 addq %rbx,%r9 2124 addq %rdi,%rbx 2125 vpxor %xmm9,%xmm8,%xmm8 2126 movq %r9,%r13 2127 addq %rbx,%r14 2128 vpsllq $3,%xmm6,%xmm10 2129 shrdq $23,%r13,%r13 2130 movq %r14,%rbx 2131 vpaddq %xmm8,%xmm7,%xmm7 2132 movq %r10,%r12 2133 shrdq $5,%r14,%r14 2134 vpsrlq $19,%xmm6,%xmm9 2135 xorq %r9,%r13 2136 xorq %r11,%r12 2137 vpxor %xmm10,%xmm11,%xmm11 2138 shrdq $4,%r13,%r13 2139 xorq %rbx,%r14 2140 vpsllq $42,%xmm10,%xmm10 2141 andq %r9,%r12 2142 xorq %r9,%r13 2143 vpxor %xmm9,%xmm11,%xmm11 2144 addq 120(%rsp),%rax 2145 movq %rbx,%rdi 2146 vpsrlq $42,%xmm9,%xmm9 2147 xorq %r11,%r12 2148 shrdq $6,%r14,%r14 2149 vpxor %xmm10,%xmm11,%xmm11 2150 xorq %rcx,%rdi 2151 addq %r12,%rax 2152 vpxor %xmm9,%xmm11,%xmm11 2153 shrdq $14,%r13,%r13 2154 andq %rdi,%r15 2155 vpaddq %xmm11,%xmm7,%xmm7 2156 xorq %rbx,%r14 2157 addq %r13,%rax 2158 vpaddq 96(%rbp),%xmm7,%xmm10 2159 xorq %rcx,%r15 2160 shrdq $28,%r14,%r14 2161 addq %rax,%r8 2162 addq %r15,%rax 2163 movq %r8,%r13 2164 addq %rax,%r14 2165 vmovdqa %xmm10,112(%rsp) 2166 cmpb $0,135(%rbp) 2167 jne .Lavx_00_47 2168 shrdq $23,%r13,%r13 2169 movq %r14,%rax 2170 movq %r9,%r12 2171 shrdq $5,%r14,%r14 2172 xorq %r8,%r13 2173 xorq %r10,%r12 2174 shrdq $4,%r13,%r13 2175 xorq %rax,%r14 2176 andq %r8,%r12 2177 xorq %r8,%r13 2178 addq 0(%rsp),%r11 2179 movq %rax,%r15 2180 xorq %r10,%r12 2181 shrdq $6,%r14,%r14 2182 xorq %rbx,%r15 2183 addq %r12,%r11 2184 shrdq $14,%r13,%r13 2185 andq %r15,%rdi 2186 xorq %rax,%r14 2187 addq %r13,%r11 2188 xorq %rbx,%rdi 2189 shrdq $28,%r14,%r14 2190 addq %r11,%rdx 2191 addq %rdi,%r11 2192 movq %rdx,%r13 2193 addq %r11,%r14 2194 shrdq $23,%r13,%r13 2195 movq %r14,%r11 2196 movq %r8,%r12 2197 shrdq $5,%r14,%r14 2198 xorq %rdx,%r13 2199 xorq %r9,%r12 2200 shrdq $4,%r13,%r13 2201 xorq %r11,%r14 2202 andq %rdx,%r12 2203 xorq %rdx,%r13 2204 addq 8(%rsp),%r10 2205 movq %r11,%rdi 2206 xorq %r9,%r12 2207 shrdq $6,%r14,%r14 2208 xorq %rax,%rdi 2209 addq %r12,%r10 2210 shrdq $14,%r13,%r13 2211 andq %rdi,%r15 2212 xorq %r11,%r14 2213 addq %r13,%r10 2214 xorq %rax,%r15 2215 shrdq $28,%r14,%r14 2216 addq %r10,%rcx 2217 addq %r15,%r10 2218 movq %rcx,%r13 2219 addq %r10,%r14 2220 shrdq $23,%r13,%r13 2221 movq %r14,%r10 2222 movq %rdx,%r12 2223 shrdq $5,%r14,%r14 2224 xorq %rcx,%r13 2225 xorq %r8,%r12 2226 shrdq $4,%r13,%r13 2227 xorq %r10,%r14 2228 andq %rcx,%r12 2229 xorq %rcx,%r13 2230 addq 16(%rsp),%r9 2231 movq %r10,%r15 2232 xorq %r8,%r12 2233 shrdq $6,%r14,%r14 2234 xorq %r11,%r15 2235 addq %r12,%r9 2236 shrdq $14,%r13,%r13 2237 andq %r15,%rdi 2238 xorq %r10,%r14 2239 addq %r13,%r9 2240 xorq %r11,%rdi 2241 shrdq $28,%r14,%r14 2242 addq %r9,%rbx 2243 addq %rdi,%r9 2244 movq %rbx,%r13 2245 addq %r9,%r14 2246 shrdq $23,%r13,%r13 2247 movq %r14,%r9 2248 movq %rcx,%r12 2249 shrdq $5,%r14,%r14 2250 xorq %rbx,%r13 2251 xorq %rdx,%r12 2252 shrdq $4,%r13,%r13 2253 xorq %r9,%r14 2254 andq %rbx,%r12 2255 xorq %rbx,%r13 2256 addq 24(%rsp),%r8 2257 movq %r9,%rdi 2258 xorq %rdx,%r12 2259 shrdq $6,%r14,%r14 2260 xorq %r10,%rdi 2261 addq %r12,%r8 2262 shrdq $14,%r13,%r13 2263 andq %rdi,%r15 2264 xorq %r9,%r14 2265 addq %r13,%r8 2266 xorq %r10,%r15 2267 shrdq $28,%r14,%r14 2268 addq %r8,%rax 2269 addq %r15,%r8 2270 movq %rax,%r13 2271 addq %r8,%r14 2272 shrdq $23,%r13,%r13 2273 movq %r14,%r8 2274 movq %rbx,%r12 2275 shrdq $5,%r14,%r14 2276 xorq %rax,%r13 2277 xorq %rcx,%r12 2278 shrdq $4,%r13,%r13 2279 xorq %r8,%r14 2280 andq %rax,%r12 2281 xorq %rax,%r13 2282 addq 32(%rsp),%rdx 2283 movq %r8,%r15 2284 xorq %rcx,%r12 2285 shrdq $6,%r14,%r14 2286 xorq %r9,%r15 2287 addq %r12,%rdx 2288 shrdq $14,%r13,%r13 2289 andq %r15,%rdi 2290 xorq %r8,%r14 2291 addq %r13,%rdx 2292 xorq %r9,%rdi 2293 shrdq $28,%r14,%r14 2294 addq %rdx,%r11 2295 addq %rdi,%rdx 2296 movq %r11,%r13 2297 addq %rdx,%r14 2298 shrdq $23,%r13,%r13 2299 movq %r14,%rdx 2300 movq %rax,%r12 2301 shrdq $5,%r14,%r14 2302 xorq %r11,%r13 2303 xorq %rbx,%r12 2304 shrdq $4,%r13,%r13 2305 xorq %rdx,%r14 2306 andq %r11,%r12 2307 xorq %r11,%r13 2308 addq 40(%rsp),%rcx 2309 movq %rdx,%rdi 2310 xorq %rbx,%r12 2311 shrdq $6,%r14,%r14 2312 xorq %r8,%rdi 2313 addq %r12,%rcx 2314 shrdq $14,%r13,%r13 2315 andq %rdi,%r15 2316 xorq %rdx,%r14 2317 addq %r13,%rcx 2318 xorq %r8,%r15 2319 shrdq $28,%r14,%r14 2320 addq %rcx,%r10 2321 addq %r15,%rcx 2322 movq %r10,%r13 2323 addq %rcx,%r14 2324 shrdq $23,%r13,%r13 2325 movq %r14,%rcx 2326 movq %r11,%r12 2327 shrdq $5,%r14,%r14 2328 xorq %r10,%r13 2329 xorq %rax,%r12 2330 shrdq $4,%r13,%r13 2331 xorq %rcx,%r14 2332 andq %r10,%r12 2333 xorq %r10,%r13 2334 addq 48(%rsp),%rbx 2335 movq %rcx,%r15 2336 xorq %rax,%r12 2337 shrdq $6,%r14,%r14 2338 xorq %rdx,%r15 2339 addq %r12,%rbx 2340 shrdq $14,%r13,%r13 2341 andq %r15,%rdi 2342 xorq %rcx,%r14 2343 addq %r13,%rbx 2344 xorq %rdx,%rdi 2345 shrdq $28,%r14,%r14 2346 addq %rbx,%r9 2347 addq %rdi,%rbx 2348 movq %r9,%r13 2349 addq %rbx,%r14 2350 shrdq $23,%r13,%r13 2351 movq %r14,%rbx 2352 movq %r10,%r12 2353 shrdq $5,%r14,%r14 2354 xorq %r9,%r13 2355 xorq %r11,%r12 2356 shrdq $4,%r13,%r13 2357 xorq %rbx,%r14 2358 andq %r9,%r12 2359 xorq %r9,%r13 2360 addq 56(%rsp),%rax 2361 movq %rbx,%rdi 2362 xorq %r11,%r12 2363 shrdq $6,%r14,%r14 2364 xorq %rcx,%rdi 2365 addq %r12,%rax 2366 shrdq $14,%r13,%r13 2367 andq %rdi,%r15 2368 xorq %rbx,%r14 2369 addq %r13,%rax 2370 xorq %rcx,%r15 2371 shrdq $28,%r14,%r14 2372 addq %rax,%r8 2373 addq %r15,%rax 2374 movq %r8,%r13 2375 addq %rax,%r14 2376 shrdq $23,%r13,%r13 2377 movq %r14,%rax 2378 movq %r9,%r12 2379 shrdq $5,%r14,%r14 2380 xorq %r8,%r13 2381 xorq %r10,%r12 2382 shrdq $4,%r13,%r13 2383 xorq %rax,%r14 2384 andq %r8,%r12 2385 xorq %r8,%r13 2386 addq 64(%rsp),%r11 2387 movq %rax,%r15 2388 xorq %r10,%r12 2389 shrdq $6,%r14,%r14 2390 xorq %rbx,%r15 2391 addq %r12,%r11 2392 shrdq $14,%r13,%r13 2393 andq %r15,%rdi 2394 xorq %rax,%r14 2395 addq %r13,%r11 2396 xorq %rbx,%rdi 2397 shrdq $28,%r14,%r14 2398 addq %r11,%rdx 2399 addq %rdi,%r11 2400 movq %rdx,%r13 2401 addq %r11,%r14 2402 shrdq $23,%r13,%r13 2403 movq %r14,%r11 2404 movq %r8,%r12 2405 shrdq $5,%r14,%r14 2406 xorq %rdx,%r13 2407 xorq %r9,%r12 2408 shrdq $4,%r13,%r13 2409 xorq %r11,%r14 2410 andq %rdx,%r12 2411 xorq %rdx,%r13 2412 addq 72(%rsp),%r10 2413 movq %r11,%rdi 2414 xorq %r9,%r12 2415 shrdq $6,%r14,%r14 2416 xorq %rax,%rdi 2417 addq %r12,%r10 2418 shrdq $14,%r13,%r13 2419 andq %rdi,%r15 2420 xorq %r11,%r14 2421 addq %r13,%r10 2422 xorq %rax,%r15 2423 shrdq $28,%r14,%r14 2424 addq %r10,%rcx 2425 addq %r15,%r10 2426 movq %rcx,%r13 2427 addq %r10,%r14 2428 shrdq $23,%r13,%r13 2429 movq %r14,%r10 2430 movq %rdx,%r12 2431 shrdq $5,%r14,%r14 2432 xorq %rcx,%r13 2433 xorq %r8,%r12 2434 shrdq $4,%r13,%r13 2435 xorq %r10,%r14 2436 andq %rcx,%r12 2437 xorq %rcx,%r13 2438 addq 80(%rsp),%r9 2439 movq %r10,%r15 2440 xorq %r8,%r12 2441 shrdq $6,%r14,%r14 2442 xorq %r11,%r15 2443 addq %r12,%r9 2444 shrdq $14,%r13,%r13 2445 andq %r15,%rdi 2446 xorq %r10,%r14 2447 addq %r13,%r9 2448 xorq %r11,%rdi 2449 shrdq $28,%r14,%r14 2450 addq %r9,%rbx 2451 addq %rdi,%r9 2452 movq %rbx,%r13 2453 addq %r9,%r14 2454 shrdq $23,%r13,%r13 2455 movq %r14,%r9 2456 movq %rcx,%r12 2457 shrdq $5,%r14,%r14 2458 xorq %rbx,%r13 2459 xorq %rdx,%r12 2460 shrdq $4,%r13,%r13 2461 xorq %r9,%r14 2462 andq %rbx,%r12 2463 xorq %rbx,%r13 2464 addq 88(%rsp),%r8 2465 movq %r9,%rdi 2466 xorq %rdx,%r12 2467 shrdq $6,%r14,%r14 2468 xorq %r10,%rdi 2469 addq %r12,%r8 2470 shrdq $14,%r13,%r13 2471 andq %rdi,%r15 2472 xorq %r9,%r14 2473 addq %r13,%r8 2474 xorq %r10,%r15 2475 shrdq $28,%r14,%r14 2476 addq %r8,%rax 2477 addq %r15,%r8 2478 movq %rax,%r13 2479 addq %r8,%r14 2480 shrdq $23,%r13,%r13 2481 movq %r14,%r8 2482 movq %rbx,%r12 2483 shrdq $5,%r14,%r14 2484 xorq %rax,%r13 2485 xorq %rcx,%r12 2486 shrdq $4,%r13,%r13 2487 xorq %r8,%r14 2488 andq %rax,%r12 2489 xorq %rax,%r13 2490 addq 96(%rsp),%rdx 2491 movq %r8,%r15 2492 xorq %rcx,%r12 2493 shrdq $6,%r14,%r14 2494 xorq %r9,%r15 2495 addq %r12,%rdx 2496 shrdq $14,%r13,%r13 2497 andq %r15,%rdi 2498 xorq %r8,%r14 2499 addq %r13,%rdx 2500 xorq %r9,%rdi 2501 shrdq $28,%r14,%r14 2502 addq %rdx,%r11 2503 addq %rdi,%rdx 2504 movq %r11,%r13 2505 addq %rdx,%r14 2506 shrdq $23,%r13,%r13 2507 movq %r14,%rdx 2508 movq %rax,%r12 2509 shrdq $5,%r14,%r14 2510 xorq %r11,%r13 2511 xorq %rbx,%r12 2512 shrdq $4,%r13,%r13 2513 xorq %rdx,%r14 2514 andq %r11,%r12 2515 xorq %r11,%r13 2516 addq 104(%rsp),%rcx 2517 movq %rdx,%rdi 2518 xorq %rbx,%r12 2519 shrdq $6,%r14,%r14 2520 xorq %r8,%rdi 2521 addq %r12,%rcx 2522 shrdq $14,%r13,%r13 2523 andq %rdi,%r15 2524 xorq %rdx,%r14 2525 addq %r13,%rcx 2526 xorq %r8,%r15 2527 shrdq $28,%r14,%r14 2528 addq %rcx,%r10 2529 addq %r15,%rcx 2530 movq %r10,%r13 2531 addq %rcx,%r14 2532 shrdq $23,%r13,%r13 2533 movq %r14,%rcx 2534 movq %r11,%r12 2535 shrdq $5,%r14,%r14 2536 xorq %r10,%r13 2537 xorq %rax,%r12 2538 shrdq $4,%r13,%r13 2539 xorq %rcx,%r14 2540 andq %r10,%r12 2541 xorq %r10,%r13 2542 addq 112(%rsp),%rbx 2543 movq %rcx,%r15 2544 xorq %rax,%r12 2545 shrdq $6,%r14,%r14 2546 xorq %rdx,%r15 2547 addq %r12,%rbx 2548 shrdq $14,%r13,%r13 2549 andq %r15,%rdi 2550 xorq %rcx,%r14 2551 addq %r13,%rbx 2552 xorq %rdx,%rdi 2553 shrdq $28,%r14,%r14 2554 addq %rbx,%r9 2555 addq %rdi,%rbx 2556 movq %r9,%r13 2557 addq %rbx,%r14 2558 shrdq $23,%r13,%r13 2559 movq %r14,%rbx 2560 movq %r10,%r12 2561 shrdq $5,%r14,%r14 2562 xorq %r9,%r13 2563 xorq %r11,%r12 2564 shrdq $4,%r13,%r13 2565 xorq %rbx,%r14 2566 andq %r9,%r12 2567 xorq %r9,%r13 2568 addq 120(%rsp),%rax 2569 movq %rbx,%rdi 2570 xorq %r11,%r12 2571 shrdq $6,%r14,%r14 2572 xorq %rcx,%rdi 2573 addq %r12,%rax 2574 shrdq $14,%r13,%r13 2575 andq %rdi,%r15 2576 xorq %rbx,%r14 2577 addq %r13,%rax 2578 xorq %rcx,%r15 2579 shrdq $28,%r14,%r14 2580 addq %rax,%r8 2581 addq %r15,%rax 2582 movq %r8,%r13 2583 addq %rax,%r14 2584 movq 128+0(%rsp),%rdi 2585 movq %r14,%rax 2586 2587 addq 0(%rdi),%rax 2588 leaq 128(%rsi),%rsi 2589 addq 8(%rdi),%rbx 2590 addq 16(%rdi),%rcx 2591 addq 24(%rdi),%rdx 2592 addq 32(%rdi),%r8 2593 addq 40(%rdi),%r9 2594 addq 48(%rdi),%r10 2595 addq 56(%rdi),%r11 2596 2597 cmpq 128+16(%rsp),%rsi 2598 2599 movq %rax,0(%rdi) 2600 movq %rbx,8(%rdi) 2601 movq %rcx,16(%rdi) 2602 movq %rdx,24(%rdi) 2603 movq %r8,32(%rdi) 2604 movq %r9,40(%rdi) 2605 movq %r10,48(%rdi) 2606 movq %r11,56(%rdi) 2607 jb .Lloop_avx 2608 2609 movq 152(%rsp),%rsi 2610.cfi_def_cfa %rsi,8 2611 vzeroupper 2612 movq -48(%rsi),%r15 2613.cfi_restore %r15 2614 movq -40(%rsi),%r14 2615.cfi_restore %r14 2616 movq -32(%rsi),%r13 2617.cfi_restore %r13 2618 movq -24(%rsi),%r12 2619.cfi_restore %r12 2620 movq -16(%rsi),%rbp 2621.cfi_restore %rbp 2622 movq -8(%rsi),%rbx 2623.cfi_restore %rbx 2624 leaq (%rsi),%rsp 2625.cfi_def_cfa_register %rsp 2626.Lepilogue_avx: 2627 RET 2628.cfi_endproc 2629SET_SIZE(zfs_sha512_transform_avx) 2630 2631ENTRY_ALIGN(zfs_sha512_transform_avx2, 64) 2632.cfi_startproc 2633 ENDBR 2634 movq %rsp,%rax 2635.cfi_def_cfa_register %rax 2636 pushq %rbx 2637.cfi_offset %rbx,-16 2638 pushq %rbp 2639.cfi_offset %rbp,-24 2640 pushq %r12 2641.cfi_offset %r12,-32 2642 pushq %r13 2643.cfi_offset %r13,-40 2644 pushq %r14 2645.cfi_offset %r14,-48 2646 pushq %r15 2647.cfi_offset %r15,-56 2648 subq $1312,%rsp 2649 shlq $4,%rdx 2650 andq $-2048,%rsp 2651 leaq (%rsi,%rdx,8),%rdx 2652 addq $1152,%rsp 2653 movq %rdi,128+0(%rsp) 2654 movq %rsi,128+8(%rsp) 2655 movq %rdx,128+16(%rsp) 2656 movq %rax,152(%rsp) 2657.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 2658.Lprologue_avx2: 2659 2660 vzeroupper 2661 subq $-128,%rsi 2662 movq 0(%rdi),%rax 2663 movq %rsi,%r12 2664 movq 8(%rdi),%rbx 2665 cmpq %rdx,%rsi 2666 movq 16(%rdi),%rcx 2667 cmoveq %rsp,%r12 2668 movq 24(%rdi),%rdx 2669 movq 32(%rdi),%r8 2670 movq 40(%rdi),%r9 2671 movq 48(%rdi),%r10 2672 movq 56(%rdi),%r11 2673 jmp .Loop_avx2 2674.balign 16 2675.Loop_avx2: 2676 vmovdqu -128(%rsi),%xmm0 2677 vmovdqu -128+16(%rsi),%xmm1 2678 vmovdqu -128+32(%rsi),%xmm2 2679 leaq K512+128(%rip),%rbp 2680 vmovdqu -128+48(%rsi),%xmm3 2681 vmovdqu -128+64(%rsi),%xmm4 2682 vmovdqu -128+80(%rsi),%xmm5 2683 vmovdqu -128+96(%rsi),%xmm6 2684 vmovdqu -128+112(%rsi),%xmm7 2685 2686 vmovdqa 1152(%rbp),%ymm10 2687 vinserti128 $1,(%r12),%ymm0,%ymm0 2688 vinserti128 $1,16(%r12),%ymm1,%ymm1 2689 vpshufb %ymm10,%ymm0,%ymm0 2690 vinserti128 $1,32(%r12),%ymm2,%ymm2 2691 vpshufb %ymm10,%ymm1,%ymm1 2692 vinserti128 $1,48(%r12),%ymm3,%ymm3 2693 vpshufb %ymm10,%ymm2,%ymm2 2694 vinserti128 $1,64(%r12),%ymm4,%ymm4 2695 vpshufb %ymm10,%ymm3,%ymm3 2696 vinserti128 $1,80(%r12),%ymm5,%ymm5 2697 vpshufb %ymm10,%ymm4,%ymm4 2698 vinserti128 $1,96(%r12),%ymm6,%ymm6 2699 vpshufb %ymm10,%ymm5,%ymm5 2700 vinserti128 $1,112(%r12),%ymm7,%ymm7 2701 2702 vpaddq -128(%rbp),%ymm0,%ymm8 2703 vpshufb %ymm10,%ymm6,%ymm6 2704 vpaddq -96(%rbp),%ymm1,%ymm9 2705 vpshufb %ymm10,%ymm7,%ymm7 2706 vpaddq -64(%rbp),%ymm2,%ymm10 2707 vpaddq -32(%rbp),%ymm3,%ymm11 2708 vmovdqa %ymm8,0(%rsp) 2709 vpaddq 0(%rbp),%ymm4,%ymm8 2710 vmovdqa %ymm9,32(%rsp) 2711 vpaddq 32(%rbp),%ymm5,%ymm9 2712 vmovdqa %ymm10,64(%rsp) 2713 vpaddq 64(%rbp),%ymm6,%ymm10 2714 vmovdqa %ymm11,96(%rsp) 2715 2716 movq 152(%rsp),%rdi 2717.cfi_def_cfa %rdi,8 2718 leaq -128(%rsp),%rsp 2719 2720 2721 2722 movq %rdi,-8(%rsp) 2723.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 2724 vpaddq 96(%rbp),%ymm7,%ymm11 2725 vmovdqa %ymm8,0(%rsp) 2726 xorq %r14,%r14 2727 vmovdqa %ymm9,32(%rsp) 2728 movq %rbx,%rdi 2729 vmovdqa %ymm10,64(%rsp) 2730 xorq %rcx,%rdi 2731 vmovdqa %ymm11,96(%rsp) 2732 movq %r9,%r12 2733 addq $32*8,%rbp 2734 jmp .Lavx2_00_47 2735 2736.balign 16 2737.Lavx2_00_47: 2738 leaq -128(%rsp),%rsp 2739.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 2740 2741 pushq 128-8(%rsp) 2742.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 2743 leaq 8(%rsp),%rsp 2744.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 2745 vpalignr $8,%ymm0,%ymm1,%ymm8 2746 addq 0+256(%rsp),%r11 2747 andq %r8,%r12 2748 rorxq $41,%r8,%r13 2749 vpalignr $8,%ymm4,%ymm5,%ymm11 2750 rorxq $18,%r8,%r15 2751 leaq (%rax,%r14,1),%rax 2752 leaq (%r11,%r12,1),%r11 2753 vpsrlq $1,%ymm8,%ymm10 2754 andnq %r10,%r8,%r12 2755 xorq %r15,%r13 2756 rorxq $14,%r8,%r14 2757 vpaddq %ymm11,%ymm0,%ymm0 2758 vpsrlq $7,%ymm8,%ymm11 2759 leaq (%r11,%r12,1),%r11 2760 xorq %r14,%r13 2761 movq %rax,%r15 2762 vpsllq $56,%ymm8,%ymm9 2763 vpxor %ymm10,%ymm11,%ymm8 2764 rorxq $39,%rax,%r12 2765 leaq (%r11,%r13,1),%r11 2766 xorq %rbx,%r15 2767 vpsrlq $7,%ymm10,%ymm10 2768 vpxor %ymm9,%ymm8,%ymm8 2769 rorxq $34,%rax,%r14 2770 rorxq $28,%rax,%r13 2771 leaq (%rdx,%r11,1),%rdx 2772 vpsllq $7,%ymm9,%ymm9 2773 vpxor %ymm10,%ymm8,%ymm8 2774 andq %r15,%rdi 2775 xorq %r12,%r14 2776 xorq %rbx,%rdi 2777 vpsrlq $6,%ymm7,%ymm11 2778 vpxor %ymm9,%ymm8,%ymm8 2779 xorq %r13,%r14 2780 leaq (%r11,%rdi,1),%r11 2781 movq %r8,%r12 2782 vpsllq $3,%ymm7,%ymm10 2783 vpaddq %ymm8,%ymm0,%ymm0 2784 addq 8+256(%rsp),%r10 2785 andq %rdx,%r12 2786 rorxq $41,%rdx,%r13 2787 vpsrlq $19,%ymm7,%ymm9 2788 vpxor %ymm10,%ymm11,%ymm11 2789 rorxq $18,%rdx,%rdi 2790 leaq (%r11,%r14,1),%r11 2791 leaq (%r10,%r12,1),%r10 2792 vpsllq $42,%ymm10,%ymm10 2793 vpxor %ymm9,%ymm11,%ymm11 2794 andnq %r9,%rdx,%r12 2795 xorq %rdi,%r13 2796 rorxq $14,%rdx,%r14 2797 vpsrlq $42,%ymm9,%ymm9 2798 vpxor %ymm10,%ymm11,%ymm11 2799 leaq (%r10,%r12,1),%r10 2800 xorq %r14,%r13 2801 movq %r11,%rdi 2802 vpxor %ymm9,%ymm11,%ymm11 2803 rorxq $39,%r11,%r12 2804 leaq (%r10,%r13,1),%r10 2805 xorq %rax,%rdi 2806 vpaddq %ymm11,%ymm0,%ymm0 2807 rorxq $34,%r11,%r14 2808 rorxq $28,%r11,%r13 2809 leaq (%rcx,%r10,1),%rcx 2810 vpaddq -128(%rbp),%ymm0,%ymm10 2811 andq %rdi,%r15 2812 xorq %r12,%r14 2813 xorq %rax,%r15 2814 xorq %r13,%r14 2815 leaq (%r10,%r15,1),%r10 2816 movq %rdx,%r12 2817 vmovdqa %ymm10,0(%rsp) 2818 vpalignr $8,%ymm1,%ymm2,%ymm8 2819 addq 32+256(%rsp),%r9 2820 andq %rcx,%r12 2821 rorxq $41,%rcx,%r13 2822 vpalignr $8,%ymm5,%ymm6,%ymm11 2823 rorxq $18,%rcx,%r15 2824 leaq (%r10,%r14,1),%r10 2825 leaq (%r9,%r12,1),%r9 2826 vpsrlq $1,%ymm8,%ymm10 2827 andnq %r8,%rcx,%r12 2828 xorq %r15,%r13 2829 rorxq $14,%rcx,%r14 2830 vpaddq %ymm11,%ymm1,%ymm1 2831 vpsrlq $7,%ymm8,%ymm11 2832 leaq (%r9,%r12,1),%r9 2833 xorq %r14,%r13 2834 movq %r10,%r15 2835 vpsllq $56,%ymm8,%ymm9 2836 vpxor %ymm10,%ymm11,%ymm8 2837 rorxq $39,%r10,%r12 2838 leaq (%r9,%r13,1),%r9 2839 xorq %r11,%r15 2840 vpsrlq $7,%ymm10,%ymm10 2841 vpxor %ymm9,%ymm8,%ymm8 2842 rorxq $34,%r10,%r14 2843 rorxq $28,%r10,%r13 2844 leaq (%rbx,%r9,1),%rbx 2845 vpsllq $7,%ymm9,%ymm9 2846 vpxor %ymm10,%ymm8,%ymm8 2847 andq %r15,%rdi 2848 xorq %r12,%r14 2849 xorq %r11,%rdi 2850 vpsrlq $6,%ymm0,%ymm11 2851 vpxor %ymm9,%ymm8,%ymm8 2852 xorq %r13,%r14 2853 leaq (%r9,%rdi,1),%r9 2854 movq %rcx,%r12 2855 vpsllq $3,%ymm0,%ymm10 2856 vpaddq %ymm8,%ymm1,%ymm1 2857 addq 40+256(%rsp),%r8 2858 andq %rbx,%r12 2859 rorxq $41,%rbx,%r13 2860 vpsrlq $19,%ymm0,%ymm9 2861 vpxor %ymm10,%ymm11,%ymm11 2862 rorxq $18,%rbx,%rdi 2863 leaq (%r9,%r14,1),%r9 2864 leaq (%r8,%r12,1),%r8 2865 vpsllq $42,%ymm10,%ymm10 2866 vpxor %ymm9,%ymm11,%ymm11 2867 andnq %rdx,%rbx,%r12 2868 xorq %rdi,%r13 2869 rorxq $14,%rbx,%r14 2870 vpsrlq $42,%ymm9,%ymm9 2871 vpxor %ymm10,%ymm11,%ymm11 2872 leaq (%r8,%r12,1),%r8 2873 xorq %r14,%r13 2874 movq %r9,%rdi 2875 vpxor %ymm9,%ymm11,%ymm11 2876 rorxq $39,%r9,%r12 2877 leaq (%r8,%r13,1),%r8 2878 xorq %r10,%rdi 2879 vpaddq %ymm11,%ymm1,%ymm1 2880 rorxq $34,%r9,%r14 2881 rorxq $28,%r9,%r13 2882 leaq (%rax,%r8,1),%rax 2883 vpaddq -96(%rbp),%ymm1,%ymm10 2884 andq %rdi,%r15 2885 xorq %r12,%r14 2886 xorq %r10,%r15 2887 xorq %r13,%r14 2888 leaq (%r8,%r15,1),%r8 2889 movq %rbx,%r12 2890 vmovdqa %ymm10,32(%rsp) 2891 vpalignr $8,%ymm2,%ymm3,%ymm8 2892 addq 64+256(%rsp),%rdx 2893 andq %rax,%r12 2894 rorxq $41,%rax,%r13 2895 vpalignr $8,%ymm6,%ymm7,%ymm11 2896 rorxq $18,%rax,%r15 2897 leaq (%r8,%r14,1),%r8 2898 leaq (%rdx,%r12,1),%rdx 2899 vpsrlq $1,%ymm8,%ymm10 2900 andnq %rcx,%rax,%r12 2901 xorq %r15,%r13 2902 rorxq $14,%rax,%r14 2903 vpaddq %ymm11,%ymm2,%ymm2 2904 vpsrlq $7,%ymm8,%ymm11 2905 leaq (%rdx,%r12,1),%rdx 2906 xorq %r14,%r13 2907 movq %r8,%r15 2908 vpsllq $56,%ymm8,%ymm9 2909 vpxor %ymm10,%ymm11,%ymm8 2910 rorxq $39,%r8,%r12 2911 leaq (%rdx,%r13,1),%rdx 2912 xorq %r9,%r15 2913 vpsrlq $7,%ymm10,%ymm10 2914 vpxor %ymm9,%ymm8,%ymm8 2915 rorxq $34,%r8,%r14 2916 rorxq $28,%r8,%r13 2917 leaq (%r11,%rdx,1),%r11 2918 vpsllq $7,%ymm9,%ymm9 2919 vpxor %ymm10,%ymm8,%ymm8 2920 andq %r15,%rdi 2921 xorq %r12,%r14 2922 xorq %r9,%rdi 2923 vpsrlq $6,%ymm1,%ymm11 2924 vpxor %ymm9,%ymm8,%ymm8 2925 xorq %r13,%r14 2926 leaq (%rdx,%rdi,1),%rdx 2927 movq %rax,%r12 2928 vpsllq $3,%ymm1,%ymm10 2929 vpaddq %ymm8,%ymm2,%ymm2 2930 addq 72+256(%rsp),%rcx 2931 andq %r11,%r12 2932 rorxq $41,%r11,%r13 2933 vpsrlq $19,%ymm1,%ymm9 2934 vpxor %ymm10,%ymm11,%ymm11 2935 rorxq $18,%r11,%rdi 2936 leaq (%rdx,%r14,1),%rdx 2937 leaq (%rcx,%r12,1),%rcx 2938 vpsllq $42,%ymm10,%ymm10 2939 vpxor %ymm9,%ymm11,%ymm11 2940 andnq %rbx,%r11,%r12 2941 xorq %rdi,%r13 2942 rorxq $14,%r11,%r14 2943 vpsrlq $42,%ymm9,%ymm9 2944 vpxor %ymm10,%ymm11,%ymm11 2945 leaq (%rcx,%r12,1),%rcx 2946 xorq %r14,%r13 2947 movq %rdx,%rdi 2948 vpxor %ymm9,%ymm11,%ymm11 2949 rorxq $39,%rdx,%r12 2950 leaq (%rcx,%r13,1),%rcx 2951 xorq %r8,%rdi 2952 vpaddq %ymm11,%ymm2,%ymm2 2953 rorxq $34,%rdx,%r14 2954 rorxq $28,%rdx,%r13 2955 leaq (%r10,%rcx,1),%r10 2956 vpaddq -64(%rbp),%ymm2,%ymm10 2957 andq %rdi,%r15 2958 xorq %r12,%r14 2959 xorq %r8,%r15 2960 xorq %r13,%r14 2961 leaq (%rcx,%r15,1),%rcx 2962 movq %r11,%r12 2963 vmovdqa %ymm10,64(%rsp) 2964 vpalignr $8,%ymm3,%ymm4,%ymm8 2965 addq 96+256(%rsp),%rbx 2966 andq %r10,%r12 2967 rorxq $41,%r10,%r13 2968 vpalignr $8,%ymm7,%ymm0,%ymm11 2969 rorxq $18,%r10,%r15 2970 leaq (%rcx,%r14,1),%rcx 2971 leaq (%rbx,%r12,1),%rbx 2972 vpsrlq $1,%ymm8,%ymm10 2973 andnq %rax,%r10,%r12 2974 xorq %r15,%r13 2975 rorxq $14,%r10,%r14 2976 vpaddq %ymm11,%ymm3,%ymm3 2977 vpsrlq $7,%ymm8,%ymm11 2978 leaq (%rbx,%r12,1),%rbx 2979 xorq %r14,%r13 2980 movq %rcx,%r15 2981 vpsllq $56,%ymm8,%ymm9 2982 vpxor %ymm10,%ymm11,%ymm8 2983 rorxq $39,%rcx,%r12 2984 leaq (%rbx,%r13,1),%rbx 2985 xorq %rdx,%r15 2986 vpsrlq $7,%ymm10,%ymm10 2987 vpxor %ymm9,%ymm8,%ymm8 2988 rorxq $34,%rcx,%r14 2989 rorxq $28,%rcx,%r13 2990 leaq (%r9,%rbx,1),%r9 2991 vpsllq $7,%ymm9,%ymm9 2992 vpxor %ymm10,%ymm8,%ymm8 2993 andq %r15,%rdi 2994 xorq %r12,%r14 2995 xorq %rdx,%rdi 2996 vpsrlq $6,%ymm2,%ymm11 2997 vpxor %ymm9,%ymm8,%ymm8 2998 xorq %r13,%r14 2999 leaq (%rbx,%rdi,1),%rbx 3000 movq %r10,%r12 3001 vpsllq $3,%ymm2,%ymm10 3002 vpaddq %ymm8,%ymm3,%ymm3 3003 addq 104+256(%rsp),%rax 3004 andq %r9,%r12 3005 rorxq $41,%r9,%r13 3006 vpsrlq $19,%ymm2,%ymm9 3007 vpxor %ymm10,%ymm11,%ymm11 3008 rorxq $18,%r9,%rdi 3009 leaq (%rbx,%r14,1),%rbx 3010 leaq (%rax,%r12,1),%rax 3011 vpsllq $42,%ymm10,%ymm10 3012 vpxor %ymm9,%ymm11,%ymm11 3013 andnq %r11,%r9,%r12 3014 xorq %rdi,%r13 3015 rorxq $14,%r9,%r14 3016 vpsrlq $42,%ymm9,%ymm9 3017 vpxor %ymm10,%ymm11,%ymm11 3018 leaq (%rax,%r12,1),%rax 3019 xorq %r14,%r13 3020 movq %rbx,%rdi 3021 vpxor %ymm9,%ymm11,%ymm11 3022 rorxq $39,%rbx,%r12 3023 leaq (%rax,%r13,1),%rax 3024 xorq %rcx,%rdi 3025 vpaddq %ymm11,%ymm3,%ymm3 3026 rorxq $34,%rbx,%r14 3027 rorxq $28,%rbx,%r13 3028 leaq (%r8,%rax,1),%r8 3029 vpaddq -32(%rbp),%ymm3,%ymm10 3030 andq %rdi,%r15 3031 xorq %r12,%r14 3032 xorq %rcx,%r15 3033 xorq %r13,%r14 3034 leaq (%rax,%r15,1),%rax 3035 movq %r9,%r12 3036 vmovdqa %ymm10,96(%rsp) 3037 leaq -128(%rsp),%rsp 3038.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08 3039 3040 pushq 128-8(%rsp) 3041.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08 3042 leaq 8(%rsp),%rsp 3043.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08 3044 vpalignr $8,%ymm4,%ymm5,%ymm8 3045 addq 0+256(%rsp),%r11 3046 andq %r8,%r12 3047 rorxq $41,%r8,%r13 3048 vpalignr $8,%ymm0,%ymm1,%ymm11 3049 rorxq $18,%r8,%r15 3050 leaq (%rax,%r14,1),%rax 3051 leaq (%r11,%r12,1),%r11 3052 vpsrlq $1,%ymm8,%ymm10 3053 andnq %r10,%r8,%r12 3054 xorq %r15,%r13 3055 rorxq $14,%r8,%r14 3056 vpaddq %ymm11,%ymm4,%ymm4 3057 vpsrlq $7,%ymm8,%ymm11 3058 leaq (%r11,%r12,1),%r11 3059 xorq %r14,%r13 3060 movq %rax,%r15 3061 vpsllq $56,%ymm8,%ymm9 3062 vpxor %ymm10,%ymm11,%ymm8 3063 rorxq $39,%rax,%r12 3064 leaq (%r11,%r13,1),%r11 3065 xorq %rbx,%r15 3066 vpsrlq $7,%ymm10,%ymm10 3067 vpxor %ymm9,%ymm8,%ymm8 3068 rorxq $34,%rax,%r14 3069 rorxq $28,%rax,%r13 3070 leaq (%rdx,%r11,1),%rdx 3071 vpsllq $7,%ymm9,%ymm9 3072 vpxor %ymm10,%ymm8,%ymm8 3073 andq %r15,%rdi 3074 xorq %r12,%r14 3075 xorq %rbx,%rdi 3076 vpsrlq $6,%ymm3,%ymm11 3077 vpxor %ymm9,%ymm8,%ymm8 3078 xorq %r13,%r14 3079 leaq (%r11,%rdi,1),%r11 3080 movq %r8,%r12 3081 vpsllq $3,%ymm3,%ymm10 3082 vpaddq %ymm8,%ymm4,%ymm4 3083 addq 8+256(%rsp),%r10 3084 andq %rdx,%r12 3085 rorxq $41,%rdx,%r13 3086 vpsrlq $19,%ymm3,%ymm9 3087 vpxor %ymm10,%ymm11,%ymm11 3088 rorxq $18,%rdx,%rdi 3089 leaq (%r11,%r14,1),%r11 3090 leaq (%r10,%r12,1),%r10 3091 vpsllq $42,%ymm10,%ymm10 3092 vpxor %ymm9,%ymm11,%ymm11 3093 andnq %r9,%rdx,%r12 3094 xorq %rdi,%r13 3095 rorxq $14,%rdx,%r14 3096 vpsrlq $42,%ymm9,%ymm9 3097 vpxor %ymm10,%ymm11,%ymm11 3098 leaq (%r10,%r12,1),%r10 3099 xorq %r14,%r13 3100 movq %r11,%rdi 3101 vpxor %ymm9,%ymm11,%ymm11 3102 rorxq $39,%r11,%r12 3103 leaq (%r10,%r13,1),%r10 3104 xorq %rax,%rdi 3105 vpaddq %ymm11,%ymm4,%ymm4 3106 rorxq $34,%r11,%r14 3107 rorxq $28,%r11,%r13 3108 leaq (%rcx,%r10,1),%rcx 3109 vpaddq 0(%rbp),%ymm4,%ymm10 3110 andq %rdi,%r15 3111 xorq %r12,%r14 3112 xorq %rax,%r15 3113 xorq %r13,%r14 3114 leaq (%r10,%r15,1),%r10 3115 movq %rdx,%r12 3116 vmovdqa %ymm10,0(%rsp) 3117 vpalignr $8,%ymm5,%ymm6,%ymm8 3118 addq 32+256(%rsp),%r9 3119 andq %rcx,%r12 3120 rorxq $41,%rcx,%r13 3121 vpalignr $8,%ymm1,%ymm2,%ymm11 3122 rorxq $18,%rcx,%r15 3123 leaq (%r10,%r14,1),%r10 3124 leaq (%r9,%r12,1),%r9 3125 vpsrlq $1,%ymm8,%ymm10 3126 andnq %r8,%rcx,%r12 3127 xorq %r15,%r13 3128 rorxq $14,%rcx,%r14 3129 vpaddq %ymm11,%ymm5,%ymm5 3130 vpsrlq $7,%ymm8,%ymm11 3131 leaq (%r9,%r12,1),%r9 3132 xorq %r14,%r13 3133 movq %r10,%r15 3134 vpsllq $56,%ymm8,%ymm9 3135 vpxor %ymm10,%ymm11,%ymm8 3136 rorxq $39,%r10,%r12 3137 leaq (%r9,%r13,1),%r9 3138 xorq %r11,%r15 3139 vpsrlq $7,%ymm10,%ymm10 3140 vpxor %ymm9,%ymm8,%ymm8 3141 rorxq $34,%r10,%r14 3142 rorxq $28,%r10,%r13 3143 leaq (%rbx,%r9,1),%rbx 3144 vpsllq $7,%ymm9,%ymm9 3145 vpxor %ymm10,%ymm8,%ymm8 3146 andq %r15,%rdi 3147 xorq %r12,%r14 3148 xorq %r11,%rdi 3149 vpsrlq $6,%ymm4,%ymm11 3150 vpxor %ymm9,%ymm8,%ymm8 3151 xorq %r13,%r14 3152 leaq (%r9,%rdi,1),%r9 3153 movq %rcx,%r12 3154 vpsllq $3,%ymm4,%ymm10 3155 vpaddq %ymm8,%ymm5,%ymm5 3156 addq 40+256(%rsp),%r8 3157 andq %rbx,%r12 3158 rorxq $41,%rbx,%r13 3159 vpsrlq $19,%ymm4,%ymm9 3160 vpxor %ymm10,%ymm11,%ymm11 3161 rorxq $18,%rbx,%rdi 3162 leaq (%r9,%r14,1),%r9 3163 leaq (%r8,%r12,1),%r8 3164 vpsllq $42,%ymm10,%ymm10 3165 vpxor %ymm9,%ymm11,%ymm11 3166 andnq %rdx,%rbx,%r12 3167 xorq %rdi,%r13 3168 rorxq $14,%rbx,%r14 3169 vpsrlq $42,%ymm9,%ymm9 3170 vpxor %ymm10,%ymm11,%ymm11 3171 leaq (%r8,%r12,1),%r8 3172 xorq %r14,%r13 3173 movq %r9,%rdi 3174 vpxor %ymm9,%ymm11,%ymm11 3175 rorxq $39,%r9,%r12 3176 leaq (%r8,%r13,1),%r8 3177 xorq %r10,%rdi 3178 vpaddq %ymm11,%ymm5,%ymm5 3179 rorxq $34,%r9,%r14 3180 rorxq $28,%r9,%r13 3181 leaq (%rax,%r8,1),%rax 3182 vpaddq 32(%rbp),%ymm5,%ymm10 3183 andq %rdi,%r15 3184 xorq %r12,%r14 3185 xorq %r10,%r15 3186 xorq %r13,%r14 3187 leaq (%r8,%r15,1),%r8 3188 movq %rbx,%r12 3189 vmovdqa %ymm10,32(%rsp) 3190 vpalignr $8,%ymm6,%ymm7,%ymm8 3191 addq 64+256(%rsp),%rdx 3192 andq %rax,%r12 3193 rorxq $41,%rax,%r13 3194 vpalignr $8,%ymm2,%ymm3,%ymm11 3195 rorxq $18,%rax,%r15 3196 leaq (%r8,%r14,1),%r8 3197 leaq (%rdx,%r12,1),%rdx 3198 vpsrlq $1,%ymm8,%ymm10 3199 andnq %rcx,%rax,%r12 3200 xorq %r15,%r13 3201 rorxq $14,%rax,%r14 3202 vpaddq %ymm11,%ymm6,%ymm6 3203 vpsrlq $7,%ymm8,%ymm11 3204 leaq (%rdx,%r12,1),%rdx 3205 xorq %r14,%r13 3206 movq %r8,%r15 3207 vpsllq $56,%ymm8,%ymm9 3208 vpxor %ymm10,%ymm11,%ymm8 3209 rorxq $39,%r8,%r12 3210 leaq (%rdx,%r13,1),%rdx 3211 xorq %r9,%r15 3212 vpsrlq $7,%ymm10,%ymm10 3213 vpxor %ymm9,%ymm8,%ymm8 3214 rorxq $34,%r8,%r14 3215 rorxq $28,%r8,%r13 3216 leaq (%r11,%rdx,1),%r11 3217 vpsllq $7,%ymm9,%ymm9 3218 vpxor %ymm10,%ymm8,%ymm8 3219 andq %r15,%rdi 3220 xorq %r12,%r14 3221 xorq %r9,%rdi 3222 vpsrlq $6,%ymm5,%ymm11 3223 vpxor %ymm9,%ymm8,%ymm8 3224 xorq %r13,%r14 3225 leaq (%rdx,%rdi,1),%rdx 3226 movq %rax,%r12 3227 vpsllq $3,%ymm5,%ymm10 3228 vpaddq %ymm8,%ymm6,%ymm6 3229 addq 72+256(%rsp),%rcx 3230 andq %r11,%r12 3231 rorxq $41,%r11,%r13 3232 vpsrlq $19,%ymm5,%ymm9 3233 vpxor %ymm10,%ymm11,%ymm11 3234 rorxq $18,%r11,%rdi 3235 leaq (%rdx,%r14,1),%rdx 3236 leaq (%rcx,%r12,1),%rcx 3237 vpsllq $42,%ymm10,%ymm10 3238 vpxor %ymm9,%ymm11,%ymm11 3239 andnq %rbx,%r11,%r12 3240 xorq %rdi,%r13 3241 rorxq $14,%r11,%r14 3242 vpsrlq $42,%ymm9,%ymm9 3243 vpxor %ymm10,%ymm11,%ymm11 3244 leaq (%rcx,%r12,1),%rcx 3245 xorq %r14,%r13 3246 movq %rdx,%rdi 3247 vpxor %ymm9,%ymm11,%ymm11 3248 rorxq $39,%rdx,%r12 3249 leaq (%rcx,%r13,1),%rcx 3250 xorq %r8,%rdi 3251 vpaddq %ymm11,%ymm6,%ymm6 3252 rorxq $34,%rdx,%r14 3253 rorxq $28,%rdx,%r13 3254 leaq (%r10,%rcx,1),%r10 3255 vpaddq 64(%rbp),%ymm6,%ymm10 3256 andq %rdi,%r15 3257 xorq %r12,%r14 3258 xorq %r8,%r15 3259 xorq %r13,%r14 3260 leaq (%rcx,%r15,1),%rcx 3261 movq %r11,%r12 3262 vmovdqa %ymm10,64(%rsp) 3263 vpalignr $8,%ymm7,%ymm0,%ymm8 3264 addq 96+256(%rsp),%rbx 3265 andq %r10,%r12 3266 rorxq $41,%r10,%r13 3267 vpalignr $8,%ymm3,%ymm4,%ymm11 3268 rorxq $18,%r10,%r15 3269 leaq (%rcx,%r14,1),%rcx 3270 leaq (%rbx,%r12,1),%rbx 3271 vpsrlq $1,%ymm8,%ymm10 3272 andnq %rax,%r10,%r12 3273 xorq %r15,%r13 3274 rorxq $14,%r10,%r14 3275 vpaddq %ymm11,%ymm7,%ymm7 3276 vpsrlq $7,%ymm8,%ymm11 3277 leaq (%rbx,%r12,1),%rbx 3278 xorq %r14,%r13 3279 movq %rcx,%r15 3280 vpsllq $56,%ymm8,%ymm9 3281 vpxor %ymm10,%ymm11,%ymm8 3282 rorxq $39,%rcx,%r12 3283 leaq (%rbx,%r13,1),%rbx 3284 xorq %rdx,%r15 3285 vpsrlq $7,%ymm10,%ymm10 3286 vpxor %ymm9,%ymm8,%ymm8 3287 rorxq $34,%rcx,%r14 3288 rorxq $28,%rcx,%r13 3289 leaq (%r9,%rbx,1),%r9 3290 vpsllq $7,%ymm9,%ymm9 3291 vpxor %ymm10,%ymm8,%ymm8 3292 andq %r15,%rdi 3293 xorq %r12,%r14 3294 xorq %rdx,%rdi 3295 vpsrlq $6,%ymm6,%ymm11 3296 vpxor %ymm9,%ymm8,%ymm8 3297 xorq %r13,%r14 3298 leaq (%rbx,%rdi,1),%rbx 3299 movq %r10,%r12 3300 vpsllq $3,%ymm6,%ymm10 3301 vpaddq %ymm8,%ymm7,%ymm7 3302 addq 104+256(%rsp),%rax 3303 andq %r9,%r12 3304 rorxq $41,%r9,%r13 3305 vpsrlq $19,%ymm6,%ymm9 3306 vpxor %ymm10,%ymm11,%ymm11 3307 rorxq $18,%r9,%rdi 3308 leaq (%rbx,%r14,1),%rbx 3309 leaq (%rax,%r12,1),%rax 3310 vpsllq $42,%ymm10,%ymm10 3311 vpxor %ymm9,%ymm11,%ymm11 3312 andnq %r11,%r9,%r12 3313 xorq %rdi,%r13 3314 rorxq $14,%r9,%r14 3315 vpsrlq $42,%ymm9,%ymm9 3316 vpxor %ymm10,%ymm11,%ymm11 3317 leaq (%rax,%r12,1),%rax 3318 xorq %r14,%r13 3319 movq %rbx,%rdi 3320 vpxor %ymm9,%ymm11,%ymm11 3321 rorxq $39,%rbx,%r12 3322 leaq (%rax,%r13,1),%rax 3323 xorq %rcx,%rdi 3324 vpaddq %ymm11,%ymm7,%ymm7 3325 rorxq $34,%rbx,%r14 3326 rorxq $28,%rbx,%r13 3327 leaq (%r8,%rax,1),%r8 3328 vpaddq 96(%rbp),%ymm7,%ymm10 3329 andq %rdi,%r15 3330 xorq %r12,%r14 3331 xorq %rcx,%r15 3332 xorq %r13,%r14 3333 leaq (%rax,%r15,1),%rax 3334 movq %r9,%r12 3335 vmovdqa %ymm10,96(%rsp) 3336 leaq 256(%rbp),%rbp 3337 cmpb $0,-121(%rbp) 3338 jne .Lavx2_00_47 3339 addq 0+128(%rsp),%r11 3340 andq %r8,%r12 3341 rorxq $41,%r8,%r13 3342 rorxq $18,%r8,%r15 3343 leaq (%rax,%r14,1),%rax 3344 leaq (%r11,%r12,1),%r11 3345 andnq %r10,%r8,%r12 3346 xorq %r15,%r13 3347 rorxq $14,%r8,%r14 3348 leaq (%r11,%r12,1),%r11 3349 xorq %r14,%r13 3350 movq %rax,%r15 3351 rorxq $39,%rax,%r12 3352 leaq (%r11,%r13,1),%r11 3353 xorq %rbx,%r15 3354 rorxq $34,%rax,%r14 3355 rorxq $28,%rax,%r13 3356 leaq (%rdx,%r11,1),%rdx 3357 andq %r15,%rdi 3358 xorq %r12,%r14 3359 xorq %rbx,%rdi 3360 xorq %r13,%r14 3361 leaq (%r11,%rdi,1),%r11 3362 movq %r8,%r12 3363 addq 8+128(%rsp),%r10 3364 andq %rdx,%r12 3365 rorxq $41,%rdx,%r13 3366 rorxq $18,%rdx,%rdi 3367 leaq (%r11,%r14,1),%r11 3368 leaq (%r10,%r12,1),%r10 3369 andnq %r9,%rdx,%r12 3370 xorq %rdi,%r13 3371 rorxq $14,%rdx,%r14 3372 leaq (%r10,%r12,1),%r10 3373 xorq %r14,%r13 3374 movq %r11,%rdi 3375 rorxq $39,%r11,%r12 3376 leaq (%r10,%r13,1),%r10 3377 xorq %rax,%rdi 3378 rorxq $34,%r11,%r14 3379 rorxq $28,%r11,%r13 3380 leaq (%rcx,%r10,1),%rcx 3381 andq %rdi,%r15 3382 xorq %r12,%r14 3383 xorq %rax,%r15 3384 xorq %r13,%r14 3385 leaq (%r10,%r15,1),%r10 3386 movq %rdx,%r12 3387 addq 32+128(%rsp),%r9 3388 andq %rcx,%r12 3389 rorxq $41,%rcx,%r13 3390 rorxq $18,%rcx,%r15 3391 leaq (%r10,%r14,1),%r10 3392 leaq (%r9,%r12,1),%r9 3393 andnq %r8,%rcx,%r12 3394 xorq %r15,%r13 3395 rorxq $14,%rcx,%r14 3396 leaq (%r9,%r12,1),%r9 3397 xorq %r14,%r13 3398 movq %r10,%r15 3399 rorxq $39,%r10,%r12 3400 leaq (%r9,%r13,1),%r9 3401 xorq %r11,%r15 3402 rorxq $34,%r10,%r14 3403 rorxq $28,%r10,%r13 3404 leaq (%rbx,%r9,1),%rbx 3405 andq %r15,%rdi 3406 xorq %r12,%r14 3407 xorq %r11,%rdi 3408 xorq %r13,%r14 3409 leaq (%r9,%rdi,1),%r9 3410 movq %rcx,%r12 3411 addq 40+128(%rsp),%r8 3412 andq %rbx,%r12 3413 rorxq $41,%rbx,%r13 3414 rorxq $18,%rbx,%rdi 3415 leaq (%r9,%r14,1),%r9 3416 leaq (%r8,%r12,1),%r8 3417 andnq %rdx,%rbx,%r12 3418 xorq %rdi,%r13 3419 rorxq $14,%rbx,%r14 3420 leaq (%r8,%r12,1),%r8 3421 xorq %r14,%r13 3422 movq %r9,%rdi 3423 rorxq $39,%r9,%r12 3424 leaq (%r8,%r13,1),%r8 3425 xorq %r10,%rdi 3426 rorxq $34,%r9,%r14 3427 rorxq $28,%r9,%r13 3428 leaq (%rax,%r8,1),%rax 3429 andq %rdi,%r15 3430 xorq %r12,%r14 3431 xorq %r10,%r15 3432 xorq %r13,%r14 3433 leaq (%r8,%r15,1),%r8 3434 movq %rbx,%r12 3435 addq 64+128(%rsp),%rdx 3436 andq %rax,%r12 3437 rorxq $41,%rax,%r13 3438 rorxq $18,%rax,%r15 3439 leaq (%r8,%r14,1),%r8 3440 leaq (%rdx,%r12,1),%rdx 3441 andnq %rcx,%rax,%r12 3442 xorq %r15,%r13 3443 rorxq $14,%rax,%r14 3444 leaq (%rdx,%r12,1),%rdx 3445 xorq %r14,%r13 3446 movq %r8,%r15 3447 rorxq $39,%r8,%r12 3448 leaq (%rdx,%r13,1),%rdx 3449 xorq %r9,%r15 3450 rorxq $34,%r8,%r14 3451 rorxq $28,%r8,%r13 3452 leaq (%r11,%rdx,1),%r11 3453 andq %r15,%rdi 3454 xorq %r12,%r14 3455 xorq %r9,%rdi 3456 xorq %r13,%r14 3457 leaq (%rdx,%rdi,1),%rdx 3458 movq %rax,%r12 3459 addq 72+128(%rsp),%rcx 3460 andq %r11,%r12 3461 rorxq $41,%r11,%r13 3462 rorxq $18,%r11,%rdi 3463 leaq (%rdx,%r14,1),%rdx 3464 leaq (%rcx,%r12,1),%rcx 3465 andnq %rbx,%r11,%r12 3466 xorq %rdi,%r13 3467 rorxq $14,%r11,%r14 3468 leaq (%rcx,%r12,1),%rcx 3469 xorq %r14,%r13 3470 movq %rdx,%rdi 3471 rorxq $39,%rdx,%r12 3472 leaq (%rcx,%r13,1),%rcx 3473 xorq %r8,%rdi 3474 rorxq $34,%rdx,%r14 3475 rorxq $28,%rdx,%r13 3476 leaq (%r10,%rcx,1),%r10 3477 andq %rdi,%r15 3478 xorq %r12,%r14 3479 xorq %r8,%r15 3480 xorq %r13,%r14 3481 leaq (%rcx,%r15,1),%rcx 3482 movq %r11,%r12 3483 addq 96+128(%rsp),%rbx 3484 andq %r10,%r12 3485 rorxq $41,%r10,%r13 3486 rorxq $18,%r10,%r15 3487 leaq (%rcx,%r14,1),%rcx 3488 leaq (%rbx,%r12,1),%rbx 3489 andnq %rax,%r10,%r12 3490 xorq %r15,%r13 3491 rorxq $14,%r10,%r14 3492 leaq (%rbx,%r12,1),%rbx 3493 xorq %r14,%r13 3494 movq %rcx,%r15 3495 rorxq $39,%rcx,%r12 3496 leaq (%rbx,%r13,1),%rbx 3497 xorq %rdx,%r15 3498 rorxq $34,%rcx,%r14 3499 rorxq $28,%rcx,%r13 3500 leaq (%r9,%rbx,1),%r9 3501 andq %r15,%rdi 3502 xorq %r12,%r14 3503 xorq %rdx,%rdi 3504 xorq %r13,%r14 3505 leaq (%rbx,%rdi,1),%rbx 3506 movq %r10,%r12 3507 addq 104+128(%rsp),%rax 3508 andq %r9,%r12 3509 rorxq $41,%r9,%r13 3510 rorxq $18,%r9,%rdi 3511 leaq (%rbx,%r14,1),%rbx 3512 leaq (%rax,%r12,1),%rax 3513 andnq %r11,%r9,%r12 3514 xorq %rdi,%r13 3515 rorxq $14,%r9,%r14 3516 leaq (%rax,%r12,1),%rax 3517 xorq %r14,%r13 3518 movq %rbx,%rdi 3519 rorxq $39,%rbx,%r12 3520 leaq (%rax,%r13,1),%rax 3521 xorq %rcx,%rdi 3522 rorxq $34,%rbx,%r14 3523 rorxq $28,%rbx,%r13 3524 leaq (%r8,%rax,1),%r8 3525 andq %rdi,%r15 3526 xorq %r12,%r14 3527 xorq %rcx,%r15 3528 xorq %r13,%r14 3529 leaq (%rax,%r15,1),%rax 3530 movq %r9,%r12 3531 addq 0(%rsp),%r11 3532 andq %r8,%r12 3533 rorxq $41,%r8,%r13 3534 rorxq $18,%r8,%r15 3535 leaq (%rax,%r14,1),%rax 3536 leaq (%r11,%r12,1),%r11 3537 andnq %r10,%r8,%r12 3538 xorq %r15,%r13 3539 rorxq $14,%r8,%r14 3540 leaq (%r11,%r12,1),%r11 3541 xorq %r14,%r13 3542 movq %rax,%r15 3543 rorxq $39,%rax,%r12 3544 leaq (%r11,%r13,1),%r11 3545 xorq %rbx,%r15 3546 rorxq $34,%rax,%r14 3547 rorxq $28,%rax,%r13 3548 leaq (%rdx,%r11,1),%rdx 3549 andq %r15,%rdi 3550 xorq %r12,%r14 3551 xorq %rbx,%rdi 3552 xorq %r13,%r14 3553 leaq (%r11,%rdi,1),%r11 3554 movq %r8,%r12 3555 addq 8(%rsp),%r10 3556 andq %rdx,%r12 3557 rorxq $41,%rdx,%r13 3558 rorxq $18,%rdx,%rdi 3559 leaq (%r11,%r14,1),%r11 3560 leaq (%r10,%r12,1),%r10 3561 andnq %r9,%rdx,%r12 3562 xorq %rdi,%r13 3563 rorxq $14,%rdx,%r14 3564 leaq (%r10,%r12,1),%r10 3565 xorq %r14,%r13 3566 movq %r11,%rdi 3567 rorxq $39,%r11,%r12 3568 leaq (%r10,%r13,1),%r10 3569 xorq %rax,%rdi 3570 rorxq $34,%r11,%r14 3571 rorxq $28,%r11,%r13 3572 leaq (%rcx,%r10,1),%rcx 3573 andq %rdi,%r15 3574 xorq %r12,%r14 3575 xorq %rax,%r15 3576 xorq %r13,%r14 3577 leaq (%r10,%r15,1),%r10 3578 movq %rdx,%r12 3579 addq 32(%rsp),%r9 3580 andq %rcx,%r12 3581 rorxq $41,%rcx,%r13 3582 rorxq $18,%rcx,%r15 3583 leaq (%r10,%r14,1),%r10 3584 leaq (%r9,%r12,1),%r9 3585 andnq %r8,%rcx,%r12 3586 xorq %r15,%r13 3587 rorxq $14,%rcx,%r14 3588 leaq (%r9,%r12,1),%r9 3589 xorq %r14,%r13 3590 movq %r10,%r15 3591 rorxq $39,%r10,%r12 3592 leaq (%r9,%r13,1),%r9 3593 xorq %r11,%r15 3594 rorxq $34,%r10,%r14 3595 rorxq $28,%r10,%r13 3596 leaq (%rbx,%r9,1),%rbx 3597 andq %r15,%rdi 3598 xorq %r12,%r14 3599 xorq %r11,%rdi 3600 xorq %r13,%r14 3601 leaq (%r9,%rdi,1),%r9 3602 movq %rcx,%r12 3603 addq 40(%rsp),%r8 3604 andq %rbx,%r12 3605 rorxq $41,%rbx,%r13 3606 rorxq $18,%rbx,%rdi 3607 leaq (%r9,%r14,1),%r9 3608 leaq (%r8,%r12,1),%r8 3609 andnq %rdx,%rbx,%r12 3610 xorq %rdi,%r13 3611 rorxq $14,%rbx,%r14 3612 leaq (%r8,%r12,1),%r8 3613 xorq %r14,%r13 3614 movq %r9,%rdi 3615 rorxq $39,%r9,%r12 3616 leaq (%r8,%r13,1),%r8 3617 xorq %r10,%rdi 3618 rorxq $34,%r9,%r14 3619 rorxq $28,%r9,%r13 3620 leaq (%rax,%r8,1),%rax 3621 andq %rdi,%r15 3622 xorq %r12,%r14 3623 xorq %r10,%r15 3624 xorq %r13,%r14 3625 leaq (%r8,%r15,1),%r8 3626 movq %rbx,%r12 3627 addq 64(%rsp),%rdx 3628 andq %rax,%r12 3629 rorxq $41,%rax,%r13 3630 rorxq $18,%rax,%r15 3631 leaq (%r8,%r14,1),%r8 3632 leaq (%rdx,%r12,1),%rdx 3633 andnq %rcx,%rax,%r12 3634 xorq %r15,%r13 3635 rorxq $14,%rax,%r14 3636 leaq (%rdx,%r12,1),%rdx 3637 xorq %r14,%r13 3638 movq %r8,%r15 3639 rorxq $39,%r8,%r12 3640 leaq (%rdx,%r13,1),%rdx 3641 xorq %r9,%r15 3642 rorxq $34,%r8,%r14 3643 rorxq $28,%r8,%r13 3644 leaq (%r11,%rdx,1),%r11 3645 andq %r15,%rdi 3646 xorq %r12,%r14 3647 xorq %r9,%rdi 3648 xorq %r13,%r14 3649 leaq (%rdx,%rdi,1),%rdx 3650 movq %rax,%r12 3651 addq 72(%rsp),%rcx 3652 andq %r11,%r12 3653 rorxq $41,%r11,%r13 3654 rorxq $18,%r11,%rdi 3655 leaq (%rdx,%r14,1),%rdx 3656 leaq (%rcx,%r12,1),%rcx 3657 andnq %rbx,%r11,%r12 3658 xorq %rdi,%r13 3659 rorxq $14,%r11,%r14 3660 leaq (%rcx,%r12,1),%rcx 3661 xorq %r14,%r13 3662 movq %rdx,%rdi 3663 rorxq $39,%rdx,%r12 3664 leaq (%rcx,%r13,1),%rcx 3665 xorq %r8,%rdi 3666 rorxq $34,%rdx,%r14 3667 rorxq $28,%rdx,%r13 3668 leaq (%r10,%rcx,1),%r10 3669 andq %rdi,%r15 3670 xorq %r12,%r14 3671 xorq %r8,%r15 3672 xorq %r13,%r14 3673 leaq (%rcx,%r15,1),%rcx 3674 movq %r11,%r12 3675 addq 96(%rsp),%rbx 3676 andq %r10,%r12 3677 rorxq $41,%r10,%r13 3678 rorxq $18,%r10,%r15 3679 leaq (%rcx,%r14,1),%rcx 3680 leaq (%rbx,%r12,1),%rbx 3681 andnq %rax,%r10,%r12 3682 xorq %r15,%r13 3683 rorxq $14,%r10,%r14 3684 leaq (%rbx,%r12,1),%rbx 3685 xorq %r14,%r13 3686 movq %rcx,%r15 3687 rorxq $39,%rcx,%r12 3688 leaq (%rbx,%r13,1),%rbx 3689 xorq %rdx,%r15 3690 rorxq $34,%rcx,%r14 3691 rorxq $28,%rcx,%r13 3692 leaq (%r9,%rbx,1),%r9 3693 andq %r15,%rdi 3694 xorq %r12,%r14 3695 xorq %rdx,%rdi 3696 xorq %r13,%r14 3697 leaq (%rbx,%rdi,1),%rbx 3698 movq %r10,%r12 3699 addq 104(%rsp),%rax 3700 andq %r9,%r12 3701 rorxq $41,%r9,%r13 3702 rorxq $18,%r9,%rdi 3703 leaq (%rbx,%r14,1),%rbx 3704 leaq (%rax,%r12,1),%rax 3705 andnq %r11,%r9,%r12 3706 xorq %rdi,%r13 3707 rorxq $14,%r9,%r14 3708 leaq (%rax,%r12,1),%rax 3709 xorq %r14,%r13 3710 movq %rbx,%rdi 3711 rorxq $39,%rbx,%r12 3712 leaq (%rax,%r13,1),%rax 3713 xorq %rcx,%rdi 3714 rorxq $34,%rbx,%r14 3715 rorxq $28,%rbx,%r13 3716 leaq (%r8,%rax,1),%r8 3717 andq %rdi,%r15 3718 xorq %r12,%r14 3719 xorq %rcx,%r15 3720 xorq %r13,%r14 3721 leaq (%rax,%r15,1),%rax 3722 movq %r9,%r12 3723 movq 1280(%rsp),%rdi 3724 addq %r14,%rax 3725 3726 leaq 1152(%rsp),%rbp 3727 3728 addq 0(%rdi),%rax 3729 addq 8(%rdi),%rbx 3730 addq 16(%rdi),%rcx 3731 addq 24(%rdi),%rdx 3732 addq 32(%rdi),%r8 3733 addq 40(%rdi),%r9 3734 addq 48(%rdi),%r10 3735 addq 56(%rdi),%r11 3736 3737 movq %rax,0(%rdi) 3738 movq %rbx,8(%rdi) 3739 movq %rcx,16(%rdi) 3740 movq %rdx,24(%rdi) 3741 movq %r8,32(%rdi) 3742 movq %r9,40(%rdi) 3743 movq %r10,48(%rdi) 3744 movq %r11,56(%rdi) 3745 3746 cmpq 144(%rbp),%rsi 3747 je .Ldone_avx2 3748 3749 xorq %r14,%r14 3750 movq %rbx,%rdi 3751 xorq %rcx,%rdi 3752 movq %r9,%r12 3753 jmp .Lower_avx2 3754.balign 16 3755.Lower_avx2: 3756 addq 0+16(%rbp),%r11 3757 andq %r8,%r12 3758 rorxq $41,%r8,%r13 3759 rorxq $18,%r8,%r15 3760 leaq (%rax,%r14,1),%rax 3761 leaq (%r11,%r12,1),%r11 3762 andnq %r10,%r8,%r12 3763 xorq %r15,%r13 3764 rorxq $14,%r8,%r14 3765 leaq (%r11,%r12,1),%r11 3766 xorq %r14,%r13 3767 movq %rax,%r15 3768 rorxq $39,%rax,%r12 3769 leaq (%r11,%r13,1),%r11 3770 xorq %rbx,%r15 3771 rorxq $34,%rax,%r14 3772 rorxq $28,%rax,%r13 3773 leaq (%rdx,%r11,1),%rdx 3774 andq %r15,%rdi 3775 xorq %r12,%r14 3776 xorq %rbx,%rdi 3777 xorq %r13,%r14 3778 leaq (%r11,%rdi,1),%r11 3779 movq %r8,%r12 3780 addq 8+16(%rbp),%r10 3781 andq %rdx,%r12 3782 rorxq $41,%rdx,%r13 3783 rorxq $18,%rdx,%rdi 3784 leaq (%r11,%r14,1),%r11 3785 leaq (%r10,%r12,1),%r10 3786 andnq %r9,%rdx,%r12 3787 xorq %rdi,%r13 3788 rorxq $14,%rdx,%r14 3789 leaq (%r10,%r12,1),%r10 3790 xorq %r14,%r13 3791 movq %r11,%rdi 3792 rorxq $39,%r11,%r12 3793 leaq (%r10,%r13,1),%r10 3794 xorq %rax,%rdi 3795 rorxq $34,%r11,%r14 3796 rorxq $28,%r11,%r13 3797 leaq (%rcx,%r10,1),%rcx 3798 andq %rdi,%r15 3799 xorq %r12,%r14 3800 xorq %rax,%r15 3801 xorq %r13,%r14 3802 leaq (%r10,%r15,1),%r10 3803 movq %rdx,%r12 3804 addq 32+16(%rbp),%r9 3805 andq %rcx,%r12 3806 rorxq $41,%rcx,%r13 3807 rorxq $18,%rcx,%r15 3808 leaq (%r10,%r14,1),%r10 3809 leaq (%r9,%r12,1),%r9 3810 andnq %r8,%rcx,%r12 3811 xorq %r15,%r13 3812 rorxq $14,%rcx,%r14 3813 leaq (%r9,%r12,1),%r9 3814 xorq %r14,%r13 3815 movq %r10,%r15 3816 rorxq $39,%r10,%r12 3817 leaq (%r9,%r13,1),%r9 3818 xorq %r11,%r15 3819 rorxq $34,%r10,%r14 3820 rorxq $28,%r10,%r13 3821 leaq (%rbx,%r9,1),%rbx 3822 andq %r15,%rdi 3823 xorq %r12,%r14 3824 xorq %r11,%rdi 3825 xorq %r13,%r14 3826 leaq (%r9,%rdi,1),%r9 3827 movq %rcx,%r12 3828 addq 40+16(%rbp),%r8 3829 andq %rbx,%r12 3830 rorxq $41,%rbx,%r13 3831 rorxq $18,%rbx,%rdi 3832 leaq (%r9,%r14,1),%r9 3833 leaq (%r8,%r12,1),%r8 3834 andnq %rdx,%rbx,%r12 3835 xorq %rdi,%r13 3836 rorxq $14,%rbx,%r14 3837 leaq (%r8,%r12,1),%r8 3838 xorq %r14,%r13 3839 movq %r9,%rdi 3840 rorxq $39,%r9,%r12 3841 leaq (%r8,%r13,1),%r8 3842 xorq %r10,%rdi 3843 rorxq $34,%r9,%r14 3844 rorxq $28,%r9,%r13 3845 leaq (%rax,%r8,1),%rax 3846 andq %rdi,%r15 3847 xorq %r12,%r14 3848 xorq %r10,%r15 3849 xorq %r13,%r14 3850 leaq (%r8,%r15,1),%r8 3851 movq %rbx,%r12 3852 addq 64+16(%rbp),%rdx 3853 andq %rax,%r12 3854 rorxq $41,%rax,%r13 3855 rorxq $18,%rax,%r15 3856 leaq (%r8,%r14,1),%r8 3857 leaq (%rdx,%r12,1),%rdx 3858 andnq %rcx,%rax,%r12 3859 xorq %r15,%r13 3860 rorxq $14,%rax,%r14 3861 leaq (%rdx,%r12,1),%rdx 3862 xorq %r14,%r13 3863 movq %r8,%r15 3864 rorxq $39,%r8,%r12 3865 leaq (%rdx,%r13,1),%rdx 3866 xorq %r9,%r15 3867 rorxq $34,%r8,%r14 3868 rorxq $28,%r8,%r13 3869 leaq (%r11,%rdx,1),%r11 3870 andq %r15,%rdi 3871 xorq %r12,%r14 3872 xorq %r9,%rdi 3873 xorq %r13,%r14 3874 leaq (%rdx,%rdi,1),%rdx 3875 movq %rax,%r12 3876 addq 72+16(%rbp),%rcx 3877 andq %r11,%r12 3878 rorxq $41,%r11,%r13 3879 rorxq $18,%r11,%rdi 3880 leaq (%rdx,%r14,1),%rdx 3881 leaq (%rcx,%r12,1),%rcx 3882 andnq %rbx,%r11,%r12 3883 xorq %rdi,%r13 3884 rorxq $14,%r11,%r14 3885 leaq (%rcx,%r12,1),%rcx 3886 xorq %r14,%r13 3887 movq %rdx,%rdi 3888 rorxq $39,%rdx,%r12 3889 leaq (%rcx,%r13,1),%rcx 3890 xorq %r8,%rdi 3891 rorxq $34,%rdx,%r14 3892 rorxq $28,%rdx,%r13 3893 leaq (%r10,%rcx,1),%r10 3894 andq %rdi,%r15 3895 xorq %r12,%r14 3896 xorq %r8,%r15 3897 xorq %r13,%r14 3898 leaq (%rcx,%r15,1),%rcx 3899 movq %r11,%r12 3900 addq 96+16(%rbp),%rbx 3901 andq %r10,%r12 3902 rorxq $41,%r10,%r13 3903 rorxq $18,%r10,%r15 3904 leaq (%rcx,%r14,1),%rcx 3905 leaq (%rbx,%r12,1),%rbx 3906 andnq %rax,%r10,%r12 3907 xorq %r15,%r13 3908 rorxq $14,%r10,%r14 3909 leaq (%rbx,%r12,1),%rbx 3910 xorq %r14,%r13 3911 movq %rcx,%r15 3912 rorxq $39,%rcx,%r12 3913 leaq (%rbx,%r13,1),%rbx 3914 xorq %rdx,%r15 3915 rorxq $34,%rcx,%r14 3916 rorxq $28,%rcx,%r13 3917 leaq (%r9,%rbx,1),%r9 3918 andq %r15,%rdi 3919 xorq %r12,%r14 3920 xorq %rdx,%rdi 3921 xorq %r13,%r14 3922 leaq (%rbx,%rdi,1),%rbx 3923 movq %r10,%r12 3924 addq 104+16(%rbp),%rax 3925 andq %r9,%r12 3926 rorxq $41,%r9,%r13 3927 rorxq $18,%r9,%rdi 3928 leaq (%rbx,%r14,1),%rbx 3929 leaq (%rax,%r12,1),%rax 3930 andnq %r11,%r9,%r12 3931 xorq %rdi,%r13 3932 rorxq $14,%r9,%r14 3933 leaq (%rax,%r12,1),%rax 3934 xorq %r14,%r13 3935 movq %rbx,%rdi 3936 rorxq $39,%rbx,%r12 3937 leaq (%rax,%r13,1),%rax 3938 xorq %rcx,%rdi 3939 rorxq $34,%rbx,%r14 3940 rorxq $28,%rbx,%r13 3941 leaq (%r8,%rax,1),%r8 3942 andq %rdi,%r15 3943 xorq %r12,%r14 3944 xorq %rcx,%r15 3945 xorq %r13,%r14 3946 leaq (%rax,%r15,1),%rax 3947 movq %r9,%r12 3948 leaq -128(%rbp),%rbp 3949 cmpq %rsp,%rbp 3950 jae .Lower_avx2 3951 3952 movq 1280(%rsp),%rdi 3953 addq %r14,%rax 3954 3955 leaq 1152(%rsp),%rsp 3956 3957.cfi_escape 0x0f,0x06,0x77,0x98,0x01,0x06,0x23,0x08 3958 3959 addq 0(%rdi),%rax 3960 addq 8(%rdi),%rbx 3961 addq 16(%rdi),%rcx 3962 addq 24(%rdi),%rdx 3963 addq 32(%rdi),%r8 3964 addq 40(%rdi),%r9 3965 leaq 256(%rsi),%rsi 3966 addq 48(%rdi),%r10 3967 movq %rsi,%r12 3968 addq 56(%rdi),%r11 3969 cmpq 128+16(%rsp),%rsi 3970 3971 movq %rax,0(%rdi) 3972 cmoveq %rsp,%r12 3973 movq %rbx,8(%rdi) 3974 movq %rcx,16(%rdi) 3975 movq %rdx,24(%rdi) 3976 movq %r8,32(%rdi) 3977 movq %r9,40(%rdi) 3978 movq %r10,48(%rdi) 3979 movq %r11,56(%rdi) 3980 3981 jbe .Loop_avx2 3982 leaq (%rsp),%rbp 3983 3984.cfi_escape 0x0f,0x06,0x76,0x98,0x01,0x06,0x23,0x08 3985 3986.Ldone_avx2: 3987 movq 152(%rbp),%rsi 3988.cfi_def_cfa %rsi,8 3989 vzeroupper 3990 movq -48(%rsi),%r15 3991.cfi_restore %r15 3992 movq -40(%rsi),%r14 3993.cfi_restore %r14 3994 movq -32(%rsi),%r13 3995.cfi_restore %r13 3996 movq -24(%rsi),%r12 3997.cfi_restore %r12 3998 movq -16(%rsi),%rbp 3999.cfi_restore %rbp 4000 movq -8(%rsi),%rbx 4001.cfi_restore %rbx 4002 leaq (%rsi),%rsp 4003.cfi_def_cfa_register %rsp 4004.Lepilogue_avx2: 4005 RET 4006.cfi_endproc 4007SET_SIZE(zfs_sha512_transform_avx2) 4008 4009#if defined(__ELF__) 4010 .section .note.GNU-stack,"",%progbits 4011#endif 4012#endif 4013