pq_crypto 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/SECURITY.md +7 -0
  4. data/ext/pqcrypto/pqcrypto_version.h +1 -1
  5. data/ext/pqcrypto/vendor/.vendored +4 -4
  6. data/ext/pqcrypto/vendor/mldsa-native/README.md +23 -10
  7. data/ext/pqcrypto/vendor/mldsa-native/mldsa/README.md +23 -0
  8. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.c +114 -58
  9. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native.h +498 -461
  10. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_asm.S +145 -85
  11. data/ext/pqcrypto/vendor/mldsa-native/mldsa/mldsa_native_config.h +456 -422
  12. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/cbmc.h +47 -25
  13. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/common.h +26 -14
  14. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/ct.h +56 -81
  15. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/debug.h +17 -24
  16. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.c +33 -40
  17. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202.h +67 -87
  18. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.c +19 -14
  19. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/fips202x4.h +13 -5
  20. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.c +84 -10
  21. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/keccakf1600.h +10 -5
  22. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/auto.h +6 -0
  23. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/fips202_native_aarch64.h +22 -15
  24. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_aarch64_asm.S +376 -0
  25. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_aarch64_asm.S +204 -0
  26. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_aarch64_asm.S +259 -0
  27. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_aarch64_asm.S +1077 -0
  28. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_aarch64_asm.S +987 -0
  29. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccakf1600_round_constants.c +16 -10
  30. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_scalar.h +2 -1
  31. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x1_v84a.h +1 -1
  32. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x2_v84a.h +4 -2
  33. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_scalar.h +2 -2
  34. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/x4_v8a_v84a_scalar.h +1 -1
  35. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/api.h +60 -0
  36. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/mve.h +48 -0
  37. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/fips202_native_armv81m.h +18 -1
  38. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.S +658 -582
  39. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccak_f1600_x4_mve.c +5 -100
  40. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/keccakf1600_round_constants.c +26 -25
  41. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_extract_bytes_x4_mve.S +334 -0
  42. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/armv81m/src/state_xor_bytes_x4_mve.S +355 -0
  43. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/auto.h +8 -3
  44. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/{xkcp.h → keccak_f1600_x4_avx2.h} +11 -8
  45. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/fips202_native_x86_64.h +44 -0
  46. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccak_f1600_x4_avx2_asm.S +454 -0
  47. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/keccakf1600_constants.c +52 -0
  48. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/meta.h +37 -28
  49. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/aarch64_zetas.c +213 -196
  50. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/arith_native_aarch64.h +248 -64
  51. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt_aarch64_asm.S +753 -0
  52. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4_aarch64_asm.S +129 -0
  53. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5_aarch64_asm.S +145 -0
  54. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7_aarch64_asm.S +177 -0
  55. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt_aarch64_asm.S +653 -0
  56. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery_aarch64_asm.S +84 -0
  57. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_aarch64_asm.S +53 -0
  58. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_aarch64_asm.S +55 -0
  59. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_aarch64_asm.S +86 -0
  60. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_aarch64_asm.S +86 -0
  61. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_aarch64_asm.S +103 -0
  62. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_aarch64_asm.S +111 -0
  63. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_aarch64_asm.S +75 -0
  64. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_aarch64_asm.S +72 -0
  65. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_table.c +23 -11
  66. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_aarch64_asm.S +189 -0
  67. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_aarch64_asm.S +137 -0
  68. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_aarch64_asm.S +130 -0
  69. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta_table.c +520 -516
  70. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_table.c +34 -33
  71. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/api.h +202 -242
  72. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/meta.h +25 -17
  73. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/arith_native_x86_64.h +112 -28
  74. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.c +1 -1
  75. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/consts.h +1 -1
  76. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt_avx2_asm.S +2311 -0
  77. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt_avx2_asm.S +2383 -0
  78. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack_avx2_asm.S +238 -0
  79. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4_avx2_asm.S +139 -0
  80. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5_avx2_asm.S +155 -0
  81. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7_avx2_asm.S +187 -0
  82. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_avx2_asm.S +130 -0
  83. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2_asm.S +190 -0
  84. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_32_avx2.c +6 -4
  85. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_decompose_88_avx2.c +6 -4
  86. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_32_avx2.c +9 -8
  87. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_use_hint_88_avx2.c +10 -9
  88. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_17_avx2.c +8 -5
  89. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/polyz_unpack_19_avx2.c +8 -5
  90. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta2_avx2.c +6 -4
  91. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_eta4_avx2.c +6 -4
  92. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/rej_uniform_table.c +130 -129
  93. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.c +109 -180
  94. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/packing.h +169 -150
  95. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.c +56 -40
  96. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly.h +149 -164
  97. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.c +52 -57
  98. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/poly_kl.h +132 -167
  99. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.c +57 -424
  100. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec.h +167 -474
  101. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.c +308 -0
  102. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/polyvec_lazy.h +653 -0
  103. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/reduce.h +22 -29
  104. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/rounding.h +37 -43
  105. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.c +511 -367
  106. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/sign.h +456 -417
  107. data/lib/pq_crypto/version.rb +1 -1
  108. data/script/vendor_libs.rb +3 -3
  109. metadata +41 -35
  110. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_scalar_asm.S +0 -376
  111. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x1_v84a_asm.S +0 -204
  112. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x2_v84a_asm.S +0 -259
  113. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S +0 -1077
  114. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S +0 -987
  115. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.c +0 -488
  116. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/fips202/native/x86_64/src/KeccakP_1600_times4_SIMD256.h +0 -16
  117. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/intt.S +0 -753
  118. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l4.S +0 -129
  119. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l5.S +0 -145
  120. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/mld_polyvecl_pointwise_acc_montgomery_l7.S +0 -177
  121. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/ntt.S +0 -653
  122. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/pointwise_montgomery.S +0 -79
  123. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_caddq_asm.S +0 -53
  124. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_chknorm_asm.S +0 -55
  125. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_32_asm.S +0 -85
  126. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_decompose_88_asm.S +0 -85
  127. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_32_asm.S +0 -102
  128. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/poly_use_hint_88_asm.S +0 -110
  129. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_17_asm.S +0 -72
  130. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/polyz_unpack_19_asm.S +0 -69
  131. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_asm.S +0 -189
  132. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta2_asm.S +0 -135
  133. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/aarch64/src/rej_uniform_eta4_asm.S +0 -128
  134. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/intt.S +0 -2311
  135. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/ntt.S +0 -2383
  136. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/nttunpack.S +0 -239
  137. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise.S +0 -131
  138. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l4.S +0 -139
  139. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l5.S +0 -155
  140. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/pointwise_acc_l7.S +0 -187
  141. data/ext/pqcrypto/vendor/mldsa-native/mldsa/src/native/x86_64/src/poly_caddq_avx2.c +0 -61
@@ -0,0 +1,2311 @@
1
+ /*
2
+ * Copyright (c) The mlkem-native project authors
3
+ * Copyright (c) The mldsa-native project authors
4
+ * SPDX-License-Identifier: Apache-2.0 OR ISC OR MIT
5
+ */
6
+
7
+ /* References
8
+ * ==========
9
+ *
10
+ * - [REF_AVX2]
11
+ * CRYSTALS-Dilithium optimized AVX2 implementation
12
+ * Bai, Ducas, Kiltz, Lepoint, Lyubashevsky, Schwabe, Seiler, Stehlé
13
+ * https://github.com/pq-crystals/dilithium/tree/master/avx2
14
+ */
15
+
16
+ /*
17
+ * This file is derived from the public domain
18
+ * AVX2 Dilithium implementation @[REF_AVX2].
19
+ */
20
+
21
+ #include "../../../common.h"
22
+ #if defined(MLD_ARITH_BACKEND_X86_64_DEFAULT) && \
23
+ !defined(MLD_CONFIG_MULTILEVEL_NO_SHARED)
24
+
25
+ /*
26
+ * WARNING: This file is auto-derived from the mldsa-native source file
27
+ * dev/x86_64/src/intt_avx2_asm.S using scripts/simpasm. Do not modify it directly.
28
+ */
29
+
30
+ .text
31
+ .balign 4
32
+ .global MLD_ASM_NAMESPACE(invntt_avx2_asm)
33
+ MLD_ASM_FN_SYMBOL(invntt_avx2_asm)
34
+
35
+ .cfi_startproc
36
+ vmovdqa (%rsi), %ymm0
37
+ vmovdqa (%rdi), %ymm4
38
+ vmovdqa 0x20(%rdi), %ymm5
39
+ vmovdqa 0x40(%rdi), %ymm6
40
+ vmovdqa 0x60(%rdi), %ymm7
41
+ vmovdqa 0x80(%rdi), %ymm8
42
+ vmovdqa 0xa0(%rdi), %ymm9
43
+ vmovdqa 0xc0(%rdi), %ymm10
44
+ vmovdqa 0xe0(%rdi), %ymm11
45
+ vpermq $0x1b, 0x500(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
46
+ vpermq $0x1b, 0x9a0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
47
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
48
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
49
+ vpsubd %ymm4, %ymm5, %ymm12
50
+ vpaddd %ymm5, %ymm4, %ymm4
51
+ vpmuldq %ymm1, %ymm12, %ymm13
52
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
53
+ vpmuldq %ymm3, %ymm5, %ymm14
54
+ vpmuldq %ymm2, %ymm12, %ymm12
55
+ vpmuldq %ymm15, %ymm5, %ymm5
56
+ vpmuldq %ymm0, %ymm13, %ymm13
57
+ vpmuldq %ymm0, %ymm14, %ymm14
58
+ vpsubd %ymm13, %ymm12, %ymm12
59
+ vpsubd %ymm14, %ymm5, %ymm5
60
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
61
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
62
+ vpermq $0x1b, 0x480(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
63
+ vpermq $0x1b, 0x920(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
64
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
65
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
66
+ vpsubd %ymm6, %ymm7, %ymm12
67
+ vpaddd %ymm7, %ymm6, %ymm6
68
+ vpmuldq %ymm1, %ymm12, %ymm13
69
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
70
+ vpmuldq %ymm3, %ymm7, %ymm14
71
+ vpmuldq %ymm2, %ymm12, %ymm12
72
+ vpmuldq %ymm15, %ymm7, %ymm7
73
+ vpmuldq %ymm0, %ymm13, %ymm13
74
+ vpmuldq %ymm0, %ymm14, %ymm14
75
+ vpsubd %ymm13, %ymm12, %ymm12
76
+ vpsubd %ymm14, %ymm7, %ymm7
77
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
78
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
79
+ vpermq $0x1b, 0x400(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
80
+ vpermq $0x1b, 0x8a0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
81
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
82
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
83
+ vpsubd %ymm8, %ymm9, %ymm12
84
+ vpaddd %ymm9, %ymm8, %ymm8
85
+ vpmuldq %ymm1, %ymm12, %ymm13
86
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
87
+ vpmuldq %ymm3, %ymm9, %ymm14
88
+ vpmuldq %ymm2, %ymm12, %ymm12
89
+ vpmuldq %ymm15, %ymm9, %ymm9
90
+ vpmuldq %ymm0, %ymm13, %ymm13
91
+ vpmuldq %ymm0, %ymm14, %ymm14
92
+ vpsubd %ymm13, %ymm12, %ymm12
93
+ vpsubd %ymm14, %ymm9, %ymm9
94
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
95
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
96
+ vpermq $0x1b, 0x380(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
97
+ vpermq $0x1b, 0x820(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
98
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
99
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
100
+ vpsubd %ymm10, %ymm11, %ymm12
101
+ vpaddd %ymm11, %ymm10, %ymm10
102
+ vpmuldq %ymm1, %ymm12, %ymm13
103
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
104
+ vpmuldq %ymm3, %ymm11, %ymm14
105
+ vpmuldq %ymm2, %ymm12, %ymm12
106
+ vpmuldq %ymm15, %ymm11, %ymm11
107
+ vpmuldq %ymm0, %ymm13, %ymm13
108
+ vpmuldq %ymm0, %ymm14, %ymm14
109
+ vpsubd %ymm13, %ymm12, %ymm12
110
+ vpsubd %ymm14, %ymm11, %ymm11
111
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
112
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
113
+ vpermq $0x1b, 0x300(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
114
+ vpermq $0x1b, 0x7a0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
115
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
116
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
117
+ vpsubd %ymm4, %ymm6, %ymm12
118
+ vpaddd %ymm6, %ymm4, %ymm4
119
+ vpmuldq %ymm1, %ymm12, %ymm13
120
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
121
+ vpmuldq %ymm3, %ymm6, %ymm14
122
+ vpmuldq %ymm2, %ymm12, %ymm12
123
+ vpmuldq %ymm15, %ymm6, %ymm6
124
+ vpmuldq %ymm0, %ymm13, %ymm13
125
+ vpmuldq %ymm0, %ymm14, %ymm14
126
+ vpsubd %ymm13, %ymm12, %ymm12
127
+ vpsubd %ymm14, %ymm6, %ymm6
128
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
129
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
130
+ vpsubd %ymm5, %ymm7, %ymm12
131
+ vpaddd %ymm7, %ymm5, %ymm5
132
+ vpmuldq %ymm1, %ymm12, %ymm13
133
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
134
+ vpmuldq %ymm3, %ymm7, %ymm14
135
+ vpmuldq %ymm2, %ymm12, %ymm12
136
+ vpmuldq %ymm15, %ymm7, %ymm7
137
+ vpmuldq %ymm0, %ymm13, %ymm13
138
+ vpmuldq %ymm0, %ymm14, %ymm14
139
+ vpsubd %ymm13, %ymm12, %ymm12
140
+ vpsubd %ymm14, %ymm7, %ymm7
141
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
142
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
143
+ vpermq $0x1b, 0x280(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
144
+ vpermq $0x1b, 0x720(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
145
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
146
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
147
+ vpsubd %ymm8, %ymm10, %ymm12
148
+ vpaddd %ymm10, %ymm8, %ymm8
149
+ vpmuldq %ymm1, %ymm12, %ymm13
150
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
151
+ vpmuldq %ymm3, %ymm10, %ymm14
152
+ vpmuldq %ymm2, %ymm12, %ymm12
153
+ vpmuldq %ymm15, %ymm10, %ymm10
154
+ vpmuldq %ymm0, %ymm13, %ymm13
155
+ vpmuldq %ymm0, %ymm14, %ymm14
156
+ vpsubd %ymm13, %ymm12, %ymm12
157
+ vpsubd %ymm14, %ymm10, %ymm10
158
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
159
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
160
+ vpsubd %ymm9, %ymm11, %ymm12
161
+ vpaddd %ymm11, %ymm9, %ymm9
162
+ vpmuldq %ymm1, %ymm12, %ymm13
163
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
164
+ vpmuldq %ymm3, %ymm11, %ymm14
165
+ vpmuldq %ymm2, %ymm12, %ymm12
166
+ vpmuldq %ymm15, %ymm11, %ymm11
167
+ vpmuldq %ymm0, %ymm13, %ymm13
168
+ vpmuldq %ymm0, %ymm14, %ymm14
169
+ vpsubd %ymm13, %ymm12, %ymm12
170
+ vpsubd %ymm14, %ymm11, %ymm11
171
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
172
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
173
+ vpermq $0x1b, 0x200(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
174
+ vpermq $0x1b, 0x6a0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
175
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
176
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
177
+ vpsubd %ymm4, %ymm8, %ymm12
178
+ vpaddd %ymm4, %ymm8, %ymm4
179
+ vpmuldq %ymm1, %ymm12, %ymm13
180
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
181
+ vpmuldq %ymm3, %ymm8, %ymm14
182
+ vpmuldq %ymm2, %ymm12, %ymm12
183
+ vpmuldq %ymm15, %ymm8, %ymm8
184
+ vpmuldq %ymm0, %ymm13, %ymm13
185
+ vpmuldq %ymm0, %ymm14, %ymm14
186
+ vpsubd %ymm13, %ymm12, %ymm12
187
+ vpsubd %ymm14, %ymm8, %ymm8
188
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
189
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
190
+ vpsubd %ymm5, %ymm9, %ymm12
191
+ vpaddd %ymm5, %ymm9, %ymm5
192
+ vpmuldq %ymm1, %ymm12, %ymm13
193
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
194
+ vpmuldq %ymm3, %ymm9, %ymm14
195
+ vpmuldq %ymm2, %ymm12, %ymm12
196
+ vpmuldq %ymm15, %ymm9, %ymm9
197
+ vpmuldq %ymm0, %ymm13, %ymm13
198
+ vpmuldq %ymm0, %ymm14, %ymm14
199
+ vpsubd %ymm13, %ymm12, %ymm12
200
+ vpsubd %ymm14, %ymm9, %ymm9
201
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
202
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
203
+ vpsubd %ymm6, %ymm10, %ymm12
204
+ vpaddd %ymm6, %ymm10, %ymm6
205
+ vpmuldq %ymm1, %ymm12, %ymm13
206
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
207
+ vpmuldq %ymm3, %ymm10, %ymm14
208
+ vpmuldq %ymm2, %ymm12, %ymm12
209
+ vpmuldq %ymm15, %ymm10, %ymm10
210
+ vpmuldq %ymm0, %ymm13, %ymm13
211
+ vpmuldq %ymm0, %ymm14, %ymm14
212
+ vpsubd %ymm13, %ymm12, %ymm12
213
+ vpsubd %ymm14, %ymm10, %ymm10
214
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
215
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
216
+ vpsubd %ymm7, %ymm11, %ymm12
217
+ vpaddd %ymm7, %ymm11, %ymm7
218
+ vpmuldq %ymm1, %ymm12, %ymm13
219
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
220
+ vpmuldq %ymm3, %ymm11, %ymm14
221
+ vpmuldq %ymm2, %ymm12, %ymm12
222
+ vpmuldq %ymm15, %ymm11, %ymm11
223
+ vpmuldq %ymm0, %ymm13, %ymm13
224
+ vpmuldq %ymm0, %ymm14, %ymm14
225
+ vpsubd %ymm13, %ymm12, %ymm12
226
+ vpsubd %ymm14, %ymm11, %ymm11
227
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
228
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
229
+ vmovsldup %ymm5, %ymm3 # ymm3 = ymm5[0,0,2,2,4,4,6,6]
230
+ vpblendd $0xaa, %ymm3, %ymm4, %ymm3 # ymm3 = ymm4[0],ymm3[1],ymm4[2],ymm3[3],ymm4[4],ymm3[5],ymm4[6],ymm3[7]
231
+ vpsrlq $0x20, %ymm4, %ymm4
232
+ vpblendd $0xaa, %ymm5, %ymm4, %ymm5 # ymm5 = ymm4[0],ymm5[1],ymm4[2],ymm5[3],ymm4[4],ymm5[5],ymm4[6],ymm5[7]
233
+ vmovsldup %ymm7, %ymm4 # ymm4 = ymm7[0,0,2,2,4,4,6,6]
234
+ vpblendd $0xaa, %ymm4, %ymm6, %ymm4 # ymm4 = ymm6[0],ymm4[1],ymm6[2],ymm4[3],ymm6[4],ymm4[5],ymm6[6],ymm4[7]
235
+ vpsrlq $0x20, %ymm6, %ymm6
236
+ vpblendd $0xaa, %ymm7, %ymm6, %ymm7 # ymm7 = ymm6[0],ymm7[1],ymm6[2],ymm7[3],ymm6[4],ymm7[5],ymm6[6],ymm7[7]
237
+ vmovsldup %ymm9, %ymm6 # ymm6 = ymm9[0,0,2,2,4,4,6,6]
238
+ vpblendd $0xaa, %ymm6, %ymm8, %ymm6 # ymm6 = ymm8[0],ymm6[1],ymm8[2],ymm6[3],ymm8[4],ymm6[5],ymm8[6],ymm6[7]
239
+ vpsrlq $0x20, %ymm8, %ymm8
240
+ vpblendd $0xaa, %ymm9, %ymm8, %ymm9 # ymm9 = ymm8[0],ymm9[1],ymm8[2],ymm9[3],ymm8[4],ymm9[5],ymm8[6],ymm9[7]
241
+ vmovsldup %ymm11, %ymm8 # ymm8 = ymm11[0,0,2,2,4,4,6,6]
242
+ vpblendd $0xaa, %ymm8, %ymm10, %ymm8 # ymm8 = ymm10[0],ymm8[1],ymm10[2],ymm8[3],ymm10[4],ymm8[5],ymm10[6],ymm8[7]
243
+ vpsrlq $0x20, %ymm10, %ymm10
244
+ vpblendd $0xaa, %ymm11, %ymm10, %ymm11 # ymm11 = ymm10[0],ymm11[1],ymm10[2],ymm11[3],ymm10[4],ymm11[5],ymm10[6],ymm11[7]
245
+ vpermq $0x1b, 0x180(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
246
+ vpermq $0x1b, 0x620(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
247
+ vpsubd %ymm3, %ymm5, %ymm12
248
+ vpaddd %ymm5, %ymm3, %ymm3
249
+ vpmuldq %ymm1, %ymm12, %ymm13
250
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
251
+ vpmuldq %ymm1, %ymm5, %ymm14
252
+ vpmuldq %ymm2, %ymm12, %ymm12
253
+ vpmuldq %ymm2, %ymm5, %ymm5
254
+ vpmuldq %ymm0, %ymm13, %ymm13
255
+ vpmuldq %ymm0, %ymm14, %ymm14
256
+ vpsubd %ymm13, %ymm12, %ymm12
257
+ vpsubd %ymm14, %ymm5, %ymm5
258
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
259
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
260
+ vpsubd %ymm4, %ymm7, %ymm12
261
+ vpaddd %ymm7, %ymm4, %ymm4
262
+ vpmuldq %ymm1, %ymm12, %ymm13
263
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
264
+ vpmuldq %ymm1, %ymm7, %ymm14
265
+ vpmuldq %ymm2, %ymm12, %ymm12
266
+ vpmuldq %ymm2, %ymm7, %ymm7
267
+ vpmuldq %ymm0, %ymm13, %ymm13
268
+ vpmuldq %ymm0, %ymm14, %ymm14
269
+ vpsubd %ymm13, %ymm12, %ymm12
270
+ vpsubd %ymm14, %ymm7, %ymm7
271
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
272
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
273
+ vpsubd %ymm6, %ymm9, %ymm12
274
+ vpaddd %ymm6, %ymm9, %ymm6
275
+ vpmuldq %ymm1, %ymm12, %ymm13
276
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
277
+ vpmuldq %ymm1, %ymm9, %ymm14
278
+ vpmuldq %ymm2, %ymm12, %ymm12
279
+ vpmuldq %ymm2, %ymm9, %ymm9
280
+ vpmuldq %ymm0, %ymm13, %ymm13
281
+ vpmuldq %ymm0, %ymm14, %ymm14
282
+ vpsubd %ymm13, %ymm12, %ymm12
283
+ vpsubd %ymm14, %ymm9, %ymm9
284
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
285
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
286
+ vpsubd %ymm8, %ymm11, %ymm12
287
+ vpaddd %ymm11, %ymm8, %ymm8
288
+ vpmuldq %ymm1, %ymm12, %ymm13
289
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
290
+ vpmuldq %ymm1, %ymm11, %ymm14
291
+ vpmuldq %ymm2, %ymm12, %ymm12
292
+ vpmuldq %ymm2, %ymm11, %ymm11
293
+ vpmuldq %ymm0, %ymm13, %ymm13
294
+ vpmuldq %ymm0, %ymm14, %ymm14
295
+ vpsubd %ymm13, %ymm12, %ymm12
296
+ vpsubd %ymm14, %ymm11, %ymm11
297
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
298
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
299
+ vpunpcklqdq %ymm4, %ymm3, %ymm10 # ymm10 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
300
+ vpunpckhqdq %ymm4, %ymm3, %ymm4 # ymm4 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
301
+ vpunpcklqdq %ymm8, %ymm6, %ymm3 # ymm3 = ymm6[0],ymm8[0],ymm6[2],ymm8[2]
302
+ vpunpckhqdq %ymm8, %ymm6, %ymm8 # ymm8 = ymm6[1],ymm8[1],ymm6[3],ymm8[3]
303
+ vpunpcklqdq %ymm7, %ymm5, %ymm6 # ymm6 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]
304
+ vpunpckhqdq %ymm7, %ymm5, %ymm7 # ymm7 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]
305
+ vpunpcklqdq %ymm11, %ymm9, %ymm5 # ymm5 = ymm9[0],ymm11[0],ymm9[2],ymm11[2]
306
+ vpunpckhqdq %ymm11, %ymm9, %ymm11 # ymm11 = ymm9[1],ymm11[1],ymm9[3],ymm11[3]
307
+ vpermq $0x1b, 0x100(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
308
+ vpermq $0x1b, 0x5a0(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
309
+ vpsubd %ymm10, %ymm4, %ymm12
310
+ vpaddd %ymm4, %ymm10, %ymm10
311
+ vpmuldq %ymm1, %ymm12, %ymm13
312
+ vmovshdup %ymm12, %ymm4 # ymm4 = ymm12[1,1,3,3,5,5,7,7]
313
+ vpmuldq %ymm1, %ymm4, %ymm14
314
+ vpmuldq %ymm2, %ymm12, %ymm12
315
+ vpmuldq %ymm2, %ymm4, %ymm4
316
+ vpmuldq %ymm0, %ymm13, %ymm13
317
+ vpmuldq %ymm0, %ymm14, %ymm14
318
+ vpsubd %ymm13, %ymm12, %ymm12
319
+ vpsubd %ymm14, %ymm4, %ymm4
320
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
321
+ vpblendd $0xaa, %ymm4, %ymm12, %ymm4 # ymm4 = ymm12[0],ymm4[1],ymm12[2],ymm4[3],ymm12[4],ymm4[5],ymm12[6],ymm4[7]
322
+ vpsubd %ymm3, %ymm8, %ymm12
323
+ vpaddd %ymm3, %ymm8, %ymm3
324
+ vpmuldq %ymm1, %ymm12, %ymm13
325
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
326
+ vpmuldq %ymm1, %ymm8, %ymm14
327
+ vpmuldq %ymm2, %ymm12, %ymm12
328
+ vpmuldq %ymm2, %ymm8, %ymm8
329
+ vpmuldq %ymm0, %ymm13, %ymm13
330
+ vpmuldq %ymm0, %ymm14, %ymm14
331
+ vpsubd %ymm13, %ymm12, %ymm12
332
+ vpsubd %ymm14, %ymm8, %ymm8
333
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
334
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
335
+ vpsubd %ymm6, %ymm7, %ymm12
336
+ vpaddd %ymm7, %ymm6, %ymm6
337
+ vpmuldq %ymm1, %ymm12, %ymm13
338
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
339
+ vpmuldq %ymm1, %ymm7, %ymm14
340
+ vpmuldq %ymm2, %ymm12, %ymm12
341
+ vpmuldq %ymm2, %ymm7, %ymm7
342
+ vpmuldq %ymm0, %ymm13, %ymm13
343
+ vpmuldq %ymm0, %ymm14, %ymm14
344
+ vpsubd %ymm13, %ymm12, %ymm12
345
+ vpsubd %ymm14, %ymm7, %ymm7
346
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
347
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
348
+ vpsubd %ymm5, %ymm11, %ymm12
349
+ vpaddd %ymm5, %ymm11, %ymm5
350
+ vpmuldq %ymm1, %ymm12, %ymm13
351
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
352
+ vpmuldq %ymm1, %ymm11, %ymm14
353
+ vpmuldq %ymm2, %ymm12, %ymm12
354
+ vpmuldq %ymm2, %ymm11, %ymm11
355
+ vpmuldq %ymm0, %ymm13, %ymm13
356
+ vpmuldq %ymm0, %ymm14, %ymm14
357
+ vpsubd %ymm13, %ymm12, %ymm12
358
+ vpsubd %ymm14, %ymm11, %ymm11
359
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
360
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
361
+ vperm2i128 $0x20, %ymm3, %ymm10, %ymm9 # ymm9 = ymm10[0,1],ymm3[0,1]
362
+ vperm2i128 $0x31, %ymm3, %ymm10, %ymm3 # ymm3 = ymm10[2,3],ymm3[2,3]
363
+ vperm2i128 $0x20, %ymm5, %ymm6, %ymm10 # ymm10 = ymm6[0,1],ymm5[0,1]
364
+ vperm2i128 $0x31, %ymm5, %ymm6, %ymm5 # ymm5 = ymm6[2,3],ymm5[2,3]
365
+ vperm2i128 $0x20, %ymm8, %ymm4, %ymm6 # ymm6 = ymm4[0,1],ymm8[0,1]
366
+ vperm2i128 $0x31, %ymm8, %ymm4, %ymm8 # ymm8 = ymm4[2,3],ymm8[2,3]
367
+ vperm2i128 $0x20, %ymm11, %ymm7, %ymm4 # ymm4 = ymm7[0,1],ymm11[0,1]
368
+ vperm2i128 $0x31, %ymm11, %ymm7, %ymm11 # ymm11 = ymm7[2,3],ymm11[2,3]
369
+ vpbroadcastd 0x9c(%rsi), %ymm1
370
+ vpbroadcastd 0x53c(%rsi), %ymm2
371
+ vpsubd %ymm9, %ymm3, %ymm12
372
+ vpaddd %ymm3, %ymm9, %ymm9
373
+ vpmuldq %ymm1, %ymm12, %ymm13
374
+ vmovshdup %ymm12, %ymm3 # ymm3 = ymm12[1,1,3,3,5,5,7,7]
375
+ vpmuldq %ymm1, %ymm3, %ymm14
376
+ vpmuldq %ymm2, %ymm12, %ymm12
377
+ vpmuldq %ymm2, %ymm3, %ymm3
378
+ vpmuldq %ymm0, %ymm13, %ymm13
379
+ vpmuldq %ymm0, %ymm14, %ymm14
380
+ vpsubd %ymm13, %ymm12, %ymm12
381
+ vpsubd %ymm14, %ymm3, %ymm3
382
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
383
+ vpblendd $0xaa, %ymm3, %ymm12, %ymm3 # ymm3 = ymm12[0],ymm3[1],ymm12[2],ymm3[3],ymm12[4],ymm3[5],ymm12[6],ymm3[7]
384
+ vpsubd %ymm10, %ymm5, %ymm12
385
+ vpaddd %ymm5, %ymm10, %ymm10
386
+ vpmuldq %ymm1, %ymm12, %ymm13
387
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
388
+ vpmuldq %ymm1, %ymm5, %ymm14
389
+ vpmuldq %ymm2, %ymm12, %ymm12
390
+ vpmuldq %ymm2, %ymm5, %ymm5
391
+ vpmuldq %ymm0, %ymm13, %ymm13
392
+ vpmuldq %ymm0, %ymm14, %ymm14
393
+ vpsubd %ymm13, %ymm12, %ymm12
394
+ vpsubd %ymm14, %ymm5, %ymm5
395
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
396
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
397
+ vpsubd %ymm6, %ymm8, %ymm12
398
+ vpaddd %ymm6, %ymm8, %ymm6
399
+ vpmuldq %ymm1, %ymm12, %ymm13
400
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
401
+ vpmuldq %ymm1, %ymm8, %ymm14
402
+ vpmuldq %ymm2, %ymm12, %ymm12
403
+ vpmuldq %ymm2, %ymm8, %ymm8
404
+ vpmuldq %ymm0, %ymm13, %ymm13
405
+ vpmuldq %ymm0, %ymm14, %ymm14
406
+ vpsubd %ymm13, %ymm12, %ymm12
407
+ vpsubd %ymm14, %ymm8, %ymm8
408
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
409
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
410
+ vpsubd %ymm4, %ymm11, %ymm12
411
+ vpaddd %ymm4, %ymm11, %ymm4
412
+ vpmuldq %ymm1, %ymm12, %ymm13
413
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
414
+ vpmuldq %ymm1, %ymm11, %ymm14
415
+ vpmuldq %ymm2, %ymm12, %ymm12
416
+ vpmuldq %ymm2, %ymm11, %ymm11
417
+ vpmuldq %ymm0, %ymm13, %ymm13
418
+ vpmuldq %ymm0, %ymm14, %ymm14
419
+ vpsubd %ymm13, %ymm12, %ymm12
420
+ vpsubd %ymm14, %ymm11, %ymm11
421
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
422
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
423
+ vmovdqa %ymm9, (%rdi)
424
+ vmovdqa %ymm10, 0x20(%rdi)
425
+ vmovdqa %ymm6, 0x40(%rdi)
426
+ vmovdqa %ymm4, 0x60(%rdi)
427
+ vmovdqa %ymm3, 0x80(%rdi)
428
+ vmovdqa %ymm5, 0xa0(%rdi)
429
+ vmovdqa %ymm8, 0xc0(%rdi)
430
+ vmovdqa %ymm11, 0xe0(%rdi)
431
+ vmovdqa 0x100(%rdi), %ymm4
432
+ vmovdqa 0x120(%rdi), %ymm5
433
+ vmovdqa 0x140(%rdi), %ymm6
434
+ vmovdqa 0x160(%rdi), %ymm7
435
+ vmovdqa 0x180(%rdi), %ymm8
436
+ vmovdqa 0x1a0(%rdi), %ymm9
437
+ vmovdqa 0x1c0(%rdi), %ymm10
438
+ vmovdqa 0x1e0(%rdi), %ymm11
439
+ vpermq $0x1b, 0x4e0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
440
+ vpermq $0x1b, 0x980(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
441
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
442
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
443
+ vpsubd %ymm4, %ymm5, %ymm12
444
+ vpaddd %ymm5, %ymm4, %ymm4
445
+ vpmuldq %ymm1, %ymm12, %ymm13
446
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
447
+ vpmuldq %ymm3, %ymm5, %ymm14
448
+ vpmuldq %ymm2, %ymm12, %ymm12
449
+ vpmuldq %ymm15, %ymm5, %ymm5
450
+ vpmuldq %ymm0, %ymm13, %ymm13
451
+ vpmuldq %ymm0, %ymm14, %ymm14
452
+ vpsubd %ymm13, %ymm12, %ymm12
453
+ vpsubd %ymm14, %ymm5, %ymm5
454
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
455
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
456
+ vpermq $0x1b, 0x460(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
457
+ vpermq $0x1b, 0x900(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
458
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
459
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
460
+ vpsubd %ymm6, %ymm7, %ymm12
461
+ vpaddd %ymm7, %ymm6, %ymm6
462
+ vpmuldq %ymm1, %ymm12, %ymm13
463
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
464
+ vpmuldq %ymm3, %ymm7, %ymm14
465
+ vpmuldq %ymm2, %ymm12, %ymm12
466
+ vpmuldq %ymm15, %ymm7, %ymm7
467
+ vpmuldq %ymm0, %ymm13, %ymm13
468
+ vpmuldq %ymm0, %ymm14, %ymm14
469
+ vpsubd %ymm13, %ymm12, %ymm12
470
+ vpsubd %ymm14, %ymm7, %ymm7
471
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
472
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
473
+ vpermq $0x1b, 0x3e0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
474
+ vpermq $0x1b, 0x880(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
475
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
476
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
477
+ vpsubd %ymm8, %ymm9, %ymm12
478
+ vpaddd %ymm9, %ymm8, %ymm8
479
+ vpmuldq %ymm1, %ymm12, %ymm13
480
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
481
+ vpmuldq %ymm3, %ymm9, %ymm14
482
+ vpmuldq %ymm2, %ymm12, %ymm12
483
+ vpmuldq %ymm15, %ymm9, %ymm9
484
+ vpmuldq %ymm0, %ymm13, %ymm13
485
+ vpmuldq %ymm0, %ymm14, %ymm14
486
+ vpsubd %ymm13, %ymm12, %ymm12
487
+ vpsubd %ymm14, %ymm9, %ymm9
488
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
489
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
490
+ vpermq $0x1b, 0x360(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
491
+ vpermq $0x1b, 0x800(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
492
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
493
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
494
+ vpsubd %ymm10, %ymm11, %ymm12
495
+ vpaddd %ymm11, %ymm10, %ymm10
496
+ vpmuldq %ymm1, %ymm12, %ymm13
497
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
498
+ vpmuldq %ymm3, %ymm11, %ymm14
499
+ vpmuldq %ymm2, %ymm12, %ymm12
500
+ vpmuldq %ymm15, %ymm11, %ymm11
501
+ vpmuldq %ymm0, %ymm13, %ymm13
502
+ vpmuldq %ymm0, %ymm14, %ymm14
503
+ vpsubd %ymm13, %ymm12, %ymm12
504
+ vpsubd %ymm14, %ymm11, %ymm11
505
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
506
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
507
+ vpermq $0x1b, 0x2e0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
508
+ vpermq $0x1b, 0x780(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
509
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
510
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
511
+ vpsubd %ymm4, %ymm6, %ymm12
512
+ vpaddd %ymm6, %ymm4, %ymm4
513
+ vpmuldq %ymm1, %ymm12, %ymm13
514
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
515
+ vpmuldq %ymm3, %ymm6, %ymm14
516
+ vpmuldq %ymm2, %ymm12, %ymm12
517
+ vpmuldq %ymm15, %ymm6, %ymm6
518
+ vpmuldq %ymm0, %ymm13, %ymm13
519
+ vpmuldq %ymm0, %ymm14, %ymm14
520
+ vpsubd %ymm13, %ymm12, %ymm12
521
+ vpsubd %ymm14, %ymm6, %ymm6
522
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
523
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
524
+ vpsubd %ymm5, %ymm7, %ymm12
525
+ vpaddd %ymm7, %ymm5, %ymm5
526
+ vpmuldq %ymm1, %ymm12, %ymm13
527
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
528
+ vpmuldq %ymm3, %ymm7, %ymm14
529
+ vpmuldq %ymm2, %ymm12, %ymm12
530
+ vpmuldq %ymm15, %ymm7, %ymm7
531
+ vpmuldq %ymm0, %ymm13, %ymm13
532
+ vpmuldq %ymm0, %ymm14, %ymm14
533
+ vpsubd %ymm13, %ymm12, %ymm12
534
+ vpsubd %ymm14, %ymm7, %ymm7
535
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
536
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
537
+ vpermq $0x1b, 0x260(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
538
+ vpermq $0x1b, 0x700(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
539
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
540
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
541
+ vpsubd %ymm8, %ymm10, %ymm12
542
+ vpaddd %ymm10, %ymm8, %ymm8
543
+ vpmuldq %ymm1, %ymm12, %ymm13
544
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
545
+ vpmuldq %ymm3, %ymm10, %ymm14
546
+ vpmuldq %ymm2, %ymm12, %ymm12
547
+ vpmuldq %ymm15, %ymm10, %ymm10
548
+ vpmuldq %ymm0, %ymm13, %ymm13
549
+ vpmuldq %ymm0, %ymm14, %ymm14
550
+ vpsubd %ymm13, %ymm12, %ymm12
551
+ vpsubd %ymm14, %ymm10, %ymm10
552
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
553
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
554
+ vpsubd %ymm9, %ymm11, %ymm12
555
+ vpaddd %ymm11, %ymm9, %ymm9
556
+ vpmuldq %ymm1, %ymm12, %ymm13
557
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
558
+ vpmuldq %ymm3, %ymm11, %ymm14
559
+ vpmuldq %ymm2, %ymm12, %ymm12
560
+ vpmuldq %ymm15, %ymm11, %ymm11
561
+ vpmuldq %ymm0, %ymm13, %ymm13
562
+ vpmuldq %ymm0, %ymm14, %ymm14
563
+ vpsubd %ymm13, %ymm12, %ymm12
564
+ vpsubd %ymm14, %ymm11, %ymm11
565
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
566
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
567
+ vpermq $0x1b, 0x1e0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
568
+ vpermq $0x1b, 0x680(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
569
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
570
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
571
+ vpsubd %ymm4, %ymm8, %ymm12
572
+ vpaddd %ymm4, %ymm8, %ymm4
573
+ vpmuldq %ymm1, %ymm12, %ymm13
574
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
575
+ vpmuldq %ymm3, %ymm8, %ymm14
576
+ vpmuldq %ymm2, %ymm12, %ymm12
577
+ vpmuldq %ymm15, %ymm8, %ymm8
578
+ vpmuldq %ymm0, %ymm13, %ymm13
579
+ vpmuldq %ymm0, %ymm14, %ymm14
580
+ vpsubd %ymm13, %ymm12, %ymm12
581
+ vpsubd %ymm14, %ymm8, %ymm8
582
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
583
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
584
+ vpsubd %ymm5, %ymm9, %ymm12
585
+ vpaddd %ymm5, %ymm9, %ymm5
586
+ vpmuldq %ymm1, %ymm12, %ymm13
587
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
588
+ vpmuldq %ymm3, %ymm9, %ymm14
589
+ vpmuldq %ymm2, %ymm12, %ymm12
590
+ vpmuldq %ymm15, %ymm9, %ymm9
591
+ vpmuldq %ymm0, %ymm13, %ymm13
592
+ vpmuldq %ymm0, %ymm14, %ymm14
593
+ vpsubd %ymm13, %ymm12, %ymm12
594
+ vpsubd %ymm14, %ymm9, %ymm9
595
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
596
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
597
+ vpsubd %ymm6, %ymm10, %ymm12
598
+ vpaddd %ymm6, %ymm10, %ymm6
599
+ vpmuldq %ymm1, %ymm12, %ymm13
600
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
601
+ vpmuldq %ymm3, %ymm10, %ymm14
602
+ vpmuldq %ymm2, %ymm12, %ymm12
603
+ vpmuldq %ymm15, %ymm10, %ymm10
604
+ vpmuldq %ymm0, %ymm13, %ymm13
605
+ vpmuldq %ymm0, %ymm14, %ymm14
606
+ vpsubd %ymm13, %ymm12, %ymm12
607
+ vpsubd %ymm14, %ymm10, %ymm10
608
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
609
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
610
+ vpsubd %ymm7, %ymm11, %ymm12
611
+ vpaddd %ymm7, %ymm11, %ymm7
612
+ vpmuldq %ymm1, %ymm12, %ymm13
613
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
614
+ vpmuldq %ymm3, %ymm11, %ymm14
615
+ vpmuldq %ymm2, %ymm12, %ymm12
616
+ vpmuldq %ymm15, %ymm11, %ymm11
617
+ vpmuldq %ymm0, %ymm13, %ymm13
618
+ vpmuldq %ymm0, %ymm14, %ymm14
619
+ vpsubd %ymm13, %ymm12, %ymm12
620
+ vpsubd %ymm14, %ymm11, %ymm11
621
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
622
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
623
+ vmovsldup %ymm5, %ymm3 # ymm3 = ymm5[0,0,2,2,4,4,6,6]
624
+ vpblendd $0xaa, %ymm3, %ymm4, %ymm3 # ymm3 = ymm4[0],ymm3[1],ymm4[2],ymm3[3],ymm4[4],ymm3[5],ymm4[6],ymm3[7]
625
+ vpsrlq $0x20, %ymm4, %ymm4
626
+ vpblendd $0xaa, %ymm5, %ymm4, %ymm5 # ymm5 = ymm4[0],ymm5[1],ymm4[2],ymm5[3],ymm4[4],ymm5[5],ymm4[6],ymm5[7]
627
+ vmovsldup %ymm7, %ymm4 # ymm4 = ymm7[0,0,2,2,4,4,6,6]
628
+ vpblendd $0xaa, %ymm4, %ymm6, %ymm4 # ymm4 = ymm6[0],ymm4[1],ymm6[2],ymm4[3],ymm6[4],ymm4[5],ymm6[6],ymm4[7]
629
+ vpsrlq $0x20, %ymm6, %ymm6
630
+ vpblendd $0xaa, %ymm7, %ymm6, %ymm7 # ymm7 = ymm6[0],ymm7[1],ymm6[2],ymm7[3],ymm6[4],ymm7[5],ymm6[6],ymm7[7]
631
+ vmovsldup %ymm9, %ymm6 # ymm6 = ymm9[0,0,2,2,4,4,6,6]
632
+ vpblendd $0xaa, %ymm6, %ymm8, %ymm6 # ymm6 = ymm8[0],ymm6[1],ymm8[2],ymm6[3],ymm8[4],ymm6[5],ymm8[6],ymm6[7]
633
+ vpsrlq $0x20, %ymm8, %ymm8
634
+ vpblendd $0xaa, %ymm9, %ymm8, %ymm9 # ymm9 = ymm8[0],ymm9[1],ymm8[2],ymm9[3],ymm8[4],ymm9[5],ymm8[6],ymm9[7]
635
+ vmovsldup %ymm11, %ymm8 # ymm8 = ymm11[0,0,2,2,4,4,6,6]
636
+ vpblendd $0xaa, %ymm8, %ymm10, %ymm8 # ymm8 = ymm10[0],ymm8[1],ymm10[2],ymm8[3],ymm10[4],ymm8[5],ymm10[6],ymm8[7]
637
+ vpsrlq $0x20, %ymm10, %ymm10
638
+ vpblendd $0xaa, %ymm11, %ymm10, %ymm11 # ymm11 = ymm10[0],ymm11[1],ymm10[2],ymm11[3],ymm10[4],ymm11[5],ymm10[6],ymm11[7]
639
+ vpermq $0x1b, 0x160(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
640
+ vpermq $0x1b, 0x600(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
641
+ vpsubd %ymm3, %ymm5, %ymm12
642
+ vpaddd %ymm5, %ymm3, %ymm3
643
+ vpmuldq %ymm1, %ymm12, %ymm13
644
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
645
+ vpmuldq %ymm1, %ymm5, %ymm14
646
+ vpmuldq %ymm2, %ymm12, %ymm12
647
+ vpmuldq %ymm2, %ymm5, %ymm5
648
+ vpmuldq %ymm0, %ymm13, %ymm13
649
+ vpmuldq %ymm0, %ymm14, %ymm14
650
+ vpsubd %ymm13, %ymm12, %ymm12
651
+ vpsubd %ymm14, %ymm5, %ymm5
652
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
653
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
654
+ vpsubd %ymm4, %ymm7, %ymm12
655
+ vpaddd %ymm7, %ymm4, %ymm4
656
+ vpmuldq %ymm1, %ymm12, %ymm13
657
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
658
+ vpmuldq %ymm1, %ymm7, %ymm14
659
+ vpmuldq %ymm2, %ymm12, %ymm12
660
+ vpmuldq %ymm2, %ymm7, %ymm7
661
+ vpmuldq %ymm0, %ymm13, %ymm13
662
+ vpmuldq %ymm0, %ymm14, %ymm14
663
+ vpsubd %ymm13, %ymm12, %ymm12
664
+ vpsubd %ymm14, %ymm7, %ymm7
665
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
666
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
667
+ vpsubd %ymm6, %ymm9, %ymm12
668
+ vpaddd %ymm6, %ymm9, %ymm6
669
+ vpmuldq %ymm1, %ymm12, %ymm13
670
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
671
+ vpmuldq %ymm1, %ymm9, %ymm14
672
+ vpmuldq %ymm2, %ymm12, %ymm12
673
+ vpmuldq %ymm2, %ymm9, %ymm9
674
+ vpmuldq %ymm0, %ymm13, %ymm13
675
+ vpmuldq %ymm0, %ymm14, %ymm14
676
+ vpsubd %ymm13, %ymm12, %ymm12
677
+ vpsubd %ymm14, %ymm9, %ymm9
678
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
679
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
680
+ vpsubd %ymm8, %ymm11, %ymm12
681
+ vpaddd %ymm11, %ymm8, %ymm8
682
+ vpmuldq %ymm1, %ymm12, %ymm13
683
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
684
+ vpmuldq %ymm1, %ymm11, %ymm14
685
+ vpmuldq %ymm2, %ymm12, %ymm12
686
+ vpmuldq %ymm2, %ymm11, %ymm11
687
+ vpmuldq %ymm0, %ymm13, %ymm13
688
+ vpmuldq %ymm0, %ymm14, %ymm14
689
+ vpsubd %ymm13, %ymm12, %ymm12
690
+ vpsubd %ymm14, %ymm11, %ymm11
691
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
692
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
693
+ vpunpcklqdq %ymm4, %ymm3, %ymm10 # ymm10 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
694
+ vpunpckhqdq %ymm4, %ymm3, %ymm4 # ymm4 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
695
+ vpunpcklqdq %ymm8, %ymm6, %ymm3 # ymm3 = ymm6[0],ymm8[0],ymm6[2],ymm8[2]
696
+ vpunpckhqdq %ymm8, %ymm6, %ymm8 # ymm8 = ymm6[1],ymm8[1],ymm6[3],ymm8[3]
697
+ vpunpcklqdq %ymm7, %ymm5, %ymm6 # ymm6 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]
698
+ vpunpckhqdq %ymm7, %ymm5, %ymm7 # ymm7 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]
699
+ vpunpcklqdq %ymm11, %ymm9, %ymm5 # ymm5 = ymm9[0],ymm11[0],ymm9[2],ymm11[2]
700
+ vpunpckhqdq %ymm11, %ymm9, %ymm11 # ymm11 = ymm9[1],ymm11[1],ymm9[3],ymm11[3]
701
+ vpermq $0x1b, 0xe0(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
702
+ vpermq $0x1b, 0x580(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
703
+ vpsubd %ymm10, %ymm4, %ymm12
704
+ vpaddd %ymm4, %ymm10, %ymm10
705
+ vpmuldq %ymm1, %ymm12, %ymm13
706
+ vmovshdup %ymm12, %ymm4 # ymm4 = ymm12[1,1,3,3,5,5,7,7]
707
+ vpmuldq %ymm1, %ymm4, %ymm14
708
+ vpmuldq %ymm2, %ymm12, %ymm12
709
+ vpmuldq %ymm2, %ymm4, %ymm4
710
+ vpmuldq %ymm0, %ymm13, %ymm13
711
+ vpmuldq %ymm0, %ymm14, %ymm14
712
+ vpsubd %ymm13, %ymm12, %ymm12
713
+ vpsubd %ymm14, %ymm4, %ymm4
714
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
715
+ vpblendd $0xaa, %ymm4, %ymm12, %ymm4 # ymm4 = ymm12[0],ymm4[1],ymm12[2],ymm4[3],ymm12[4],ymm4[5],ymm12[6],ymm4[7]
716
+ vpsubd %ymm3, %ymm8, %ymm12
717
+ vpaddd %ymm3, %ymm8, %ymm3
718
+ vpmuldq %ymm1, %ymm12, %ymm13
719
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
720
+ vpmuldq %ymm1, %ymm8, %ymm14
721
+ vpmuldq %ymm2, %ymm12, %ymm12
722
+ vpmuldq %ymm2, %ymm8, %ymm8
723
+ vpmuldq %ymm0, %ymm13, %ymm13
724
+ vpmuldq %ymm0, %ymm14, %ymm14
725
+ vpsubd %ymm13, %ymm12, %ymm12
726
+ vpsubd %ymm14, %ymm8, %ymm8
727
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
728
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
729
+ vpsubd %ymm6, %ymm7, %ymm12
730
+ vpaddd %ymm7, %ymm6, %ymm6
731
+ vpmuldq %ymm1, %ymm12, %ymm13
732
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
733
+ vpmuldq %ymm1, %ymm7, %ymm14
734
+ vpmuldq %ymm2, %ymm12, %ymm12
735
+ vpmuldq %ymm2, %ymm7, %ymm7
736
+ vpmuldq %ymm0, %ymm13, %ymm13
737
+ vpmuldq %ymm0, %ymm14, %ymm14
738
+ vpsubd %ymm13, %ymm12, %ymm12
739
+ vpsubd %ymm14, %ymm7, %ymm7
740
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
741
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
742
+ vpsubd %ymm5, %ymm11, %ymm12
743
+ vpaddd %ymm5, %ymm11, %ymm5
744
+ vpmuldq %ymm1, %ymm12, %ymm13
745
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
746
+ vpmuldq %ymm1, %ymm11, %ymm14
747
+ vpmuldq %ymm2, %ymm12, %ymm12
748
+ vpmuldq %ymm2, %ymm11, %ymm11
749
+ vpmuldq %ymm0, %ymm13, %ymm13
750
+ vpmuldq %ymm0, %ymm14, %ymm14
751
+ vpsubd %ymm13, %ymm12, %ymm12
752
+ vpsubd %ymm14, %ymm11, %ymm11
753
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
754
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
755
+ vperm2i128 $0x20, %ymm3, %ymm10, %ymm9 # ymm9 = ymm10[0,1],ymm3[0,1]
756
+ vperm2i128 $0x31, %ymm3, %ymm10, %ymm3 # ymm3 = ymm10[2,3],ymm3[2,3]
757
+ vperm2i128 $0x20, %ymm5, %ymm6, %ymm10 # ymm10 = ymm6[0,1],ymm5[0,1]
758
+ vperm2i128 $0x31, %ymm5, %ymm6, %ymm5 # ymm5 = ymm6[2,3],ymm5[2,3]
759
+ vperm2i128 $0x20, %ymm8, %ymm4, %ymm6 # ymm6 = ymm4[0,1],ymm8[0,1]
760
+ vperm2i128 $0x31, %ymm8, %ymm4, %ymm8 # ymm8 = ymm4[2,3],ymm8[2,3]
761
+ vperm2i128 $0x20, %ymm11, %ymm7, %ymm4 # ymm4 = ymm7[0,1],ymm11[0,1]
762
+ vperm2i128 $0x31, %ymm11, %ymm7, %ymm11 # ymm11 = ymm7[2,3],ymm11[2,3]
763
+ vpbroadcastd 0x98(%rsi), %ymm1
764
+ vpbroadcastd 0x538(%rsi), %ymm2
765
+ vpsubd %ymm9, %ymm3, %ymm12
766
+ vpaddd %ymm3, %ymm9, %ymm9
767
+ vpmuldq %ymm1, %ymm12, %ymm13
768
+ vmovshdup %ymm12, %ymm3 # ymm3 = ymm12[1,1,3,3,5,5,7,7]
769
+ vpmuldq %ymm1, %ymm3, %ymm14
770
+ vpmuldq %ymm2, %ymm12, %ymm12
771
+ vpmuldq %ymm2, %ymm3, %ymm3
772
+ vpmuldq %ymm0, %ymm13, %ymm13
773
+ vpmuldq %ymm0, %ymm14, %ymm14
774
+ vpsubd %ymm13, %ymm12, %ymm12
775
+ vpsubd %ymm14, %ymm3, %ymm3
776
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
777
+ vpblendd $0xaa, %ymm3, %ymm12, %ymm3 # ymm3 = ymm12[0],ymm3[1],ymm12[2],ymm3[3],ymm12[4],ymm3[5],ymm12[6],ymm3[7]
778
+ vpsubd %ymm10, %ymm5, %ymm12
779
+ vpaddd %ymm5, %ymm10, %ymm10
780
+ vpmuldq %ymm1, %ymm12, %ymm13
781
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
782
+ vpmuldq %ymm1, %ymm5, %ymm14
783
+ vpmuldq %ymm2, %ymm12, %ymm12
784
+ vpmuldq %ymm2, %ymm5, %ymm5
785
+ vpmuldq %ymm0, %ymm13, %ymm13
786
+ vpmuldq %ymm0, %ymm14, %ymm14
787
+ vpsubd %ymm13, %ymm12, %ymm12
788
+ vpsubd %ymm14, %ymm5, %ymm5
789
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
790
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
791
+ vpsubd %ymm6, %ymm8, %ymm12
792
+ vpaddd %ymm6, %ymm8, %ymm6
793
+ vpmuldq %ymm1, %ymm12, %ymm13
794
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
795
+ vpmuldq %ymm1, %ymm8, %ymm14
796
+ vpmuldq %ymm2, %ymm12, %ymm12
797
+ vpmuldq %ymm2, %ymm8, %ymm8
798
+ vpmuldq %ymm0, %ymm13, %ymm13
799
+ vpmuldq %ymm0, %ymm14, %ymm14
800
+ vpsubd %ymm13, %ymm12, %ymm12
801
+ vpsubd %ymm14, %ymm8, %ymm8
802
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
803
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
804
+ vpsubd %ymm4, %ymm11, %ymm12
805
+ vpaddd %ymm4, %ymm11, %ymm4
806
+ vpmuldq %ymm1, %ymm12, %ymm13
807
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
808
+ vpmuldq %ymm1, %ymm11, %ymm14
809
+ vpmuldq %ymm2, %ymm12, %ymm12
810
+ vpmuldq %ymm2, %ymm11, %ymm11
811
+ vpmuldq %ymm0, %ymm13, %ymm13
812
+ vpmuldq %ymm0, %ymm14, %ymm14
813
+ vpsubd %ymm13, %ymm12, %ymm12
814
+ vpsubd %ymm14, %ymm11, %ymm11
815
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
816
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
817
+ vmovdqa %ymm9, 0x100(%rdi)
818
+ vmovdqa %ymm10, 0x120(%rdi)
819
+ vmovdqa %ymm6, 0x140(%rdi)
820
+ vmovdqa %ymm4, 0x160(%rdi)
821
+ vmovdqa %ymm3, 0x180(%rdi)
822
+ vmovdqa %ymm5, 0x1a0(%rdi)
823
+ vmovdqa %ymm8, 0x1c0(%rdi)
824
+ vmovdqa %ymm11, 0x1e0(%rdi)
825
+ vmovdqa 0x200(%rdi), %ymm4
826
+ vmovdqa 0x220(%rdi), %ymm5
827
+ vmovdqa 0x240(%rdi), %ymm6
828
+ vmovdqa 0x260(%rdi), %ymm7
829
+ vmovdqa 0x280(%rdi), %ymm8
830
+ vmovdqa 0x2a0(%rdi), %ymm9
831
+ vmovdqa 0x2c0(%rdi), %ymm10
832
+ vmovdqa 0x2e0(%rdi), %ymm11
833
+ vpermq $0x1b, 0x4c0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
834
+ vpermq $0x1b, 0x960(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
835
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
836
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
837
+ vpsubd %ymm4, %ymm5, %ymm12
838
+ vpaddd %ymm5, %ymm4, %ymm4
839
+ vpmuldq %ymm1, %ymm12, %ymm13
840
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
841
+ vpmuldq %ymm3, %ymm5, %ymm14
842
+ vpmuldq %ymm2, %ymm12, %ymm12
843
+ vpmuldq %ymm15, %ymm5, %ymm5
844
+ vpmuldq %ymm0, %ymm13, %ymm13
845
+ vpmuldq %ymm0, %ymm14, %ymm14
846
+ vpsubd %ymm13, %ymm12, %ymm12
847
+ vpsubd %ymm14, %ymm5, %ymm5
848
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
849
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
850
+ vpermq $0x1b, 0x440(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
851
+ vpermq $0x1b, 0x8e0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
852
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
853
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
854
+ vpsubd %ymm6, %ymm7, %ymm12
855
+ vpaddd %ymm7, %ymm6, %ymm6
856
+ vpmuldq %ymm1, %ymm12, %ymm13
857
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
858
+ vpmuldq %ymm3, %ymm7, %ymm14
859
+ vpmuldq %ymm2, %ymm12, %ymm12
860
+ vpmuldq %ymm15, %ymm7, %ymm7
861
+ vpmuldq %ymm0, %ymm13, %ymm13
862
+ vpmuldq %ymm0, %ymm14, %ymm14
863
+ vpsubd %ymm13, %ymm12, %ymm12
864
+ vpsubd %ymm14, %ymm7, %ymm7
865
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
866
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
867
+ vpermq $0x1b, 0x3c0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
868
+ vpermq $0x1b, 0x860(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
869
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
870
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
871
+ vpsubd %ymm8, %ymm9, %ymm12
872
+ vpaddd %ymm9, %ymm8, %ymm8
873
+ vpmuldq %ymm1, %ymm12, %ymm13
874
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
875
+ vpmuldq %ymm3, %ymm9, %ymm14
876
+ vpmuldq %ymm2, %ymm12, %ymm12
877
+ vpmuldq %ymm15, %ymm9, %ymm9
878
+ vpmuldq %ymm0, %ymm13, %ymm13
879
+ vpmuldq %ymm0, %ymm14, %ymm14
880
+ vpsubd %ymm13, %ymm12, %ymm12
881
+ vpsubd %ymm14, %ymm9, %ymm9
882
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
883
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
884
+ vpermq $0x1b, 0x340(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
885
+ vpermq $0x1b, 0x7e0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
886
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
887
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
888
+ vpsubd %ymm10, %ymm11, %ymm12
889
+ vpaddd %ymm11, %ymm10, %ymm10
890
+ vpmuldq %ymm1, %ymm12, %ymm13
891
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
892
+ vpmuldq %ymm3, %ymm11, %ymm14
893
+ vpmuldq %ymm2, %ymm12, %ymm12
894
+ vpmuldq %ymm15, %ymm11, %ymm11
895
+ vpmuldq %ymm0, %ymm13, %ymm13
896
+ vpmuldq %ymm0, %ymm14, %ymm14
897
+ vpsubd %ymm13, %ymm12, %ymm12
898
+ vpsubd %ymm14, %ymm11, %ymm11
899
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
900
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
901
+ vpermq $0x1b, 0x2c0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
902
+ vpermq $0x1b, 0x760(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
903
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
904
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
905
+ vpsubd %ymm4, %ymm6, %ymm12
906
+ vpaddd %ymm6, %ymm4, %ymm4
907
+ vpmuldq %ymm1, %ymm12, %ymm13
908
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
909
+ vpmuldq %ymm3, %ymm6, %ymm14
910
+ vpmuldq %ymm2, %ymm12, %ymm12
911
+ vpmuldq %ymm15, %ymm6, %ymm6
912
+ vpmuldq %ymm0, %ymm13, %ymm13
913
+ vpmuldq %ymm0, %ymm14, %ymm14
914
+ vpsubd %ymm13, %ymm12, %ymm12
915
+ vpsubd %ymm14, %ymm6, %ymm6
916
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
917
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
918
+ vpsubd %ymm5, %ymm7, %ymm12
919
+ vpaddd %ymm7, %ymm5, %ymm5
920
+ vpmuldq %ymm1, %ymm12, %ymm13
921
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
922
+ vpmuldq %ymm3, %ymm7, %ymm14
923
+ vpmuldq %ymm2, %ymm12, %ymm12
924
+ vpmuldq %ymm15, %ymm7, %ymm7
925
+ vpmuldq %ymm0, %ymm13, %ymm13
926
+ vpmuldq %ymm0, %ymm14, %ymm14
927
+ vpsubd %ymm13, %ymm12, %ymm12
928
+ vpsubd %ymm14, %ymm7, %ymm7
929
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
930
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
931
+ vpermq $0x1b, 0x240(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
932
+ vpermq $0x1b, 0x6e0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
933
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
934
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
935
+ vpsubd %ymm8, %ymm10, %ymm12
936
+ vpaddd %ymm10, %ymm8, %ymm8
937
+ vpmuldq %ymm1, %ymm12, %ymm13
938
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
939
+ vpmuldq %ymm3, %ymm10, %ymm14
940
+ vpmuldq %ymm2, %ymm12, %ymm12
941
+ vpmuldq %ymm15, %ymm10, %ymm10
942
+ vpmuldq %ymm0, %ymm13, %ymm13
943
+ vpmuldq %ymm0, %ymm14, %ymm14
944
+ vpsubd %ymm13, %ymm12, %ymm12
945
+ vpsubd %ymm14, %ymm10, %ymm10
946
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
947
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
948
+ vpsubd %ymm9, %ymm11, %ymm12
949
+ vpaddd %ymm11, %ymm9, %ymm9
950
+ vpmuldq %ymm1, %ymm12, %ymm13
951
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
952
+ vpmuldq %ymm3, %ymm11, %ymm14
953
+ vpmuldq %ymm2, %ymm12, %ymm12
954
+ vpmuldq %ymm15, %ymm11, %ymm11
955
+ vpmuldq %ymm0, %ymm13, %ymm13
956
+ vpmuldq %ymm0, %ymm14, %ymm14
957
+ vpsubd %ymm13, %ymm12, %ymm12
958
+ vpsubd %ymm14, %ymm11, %ymm11
959
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
960
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
961
+ vpermq $0x1b, 0x1c0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
962
+ vpermq $0x1b, 0x660(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
963
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
964
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
965
+ vpsubd %ymm4, %ymm8, %ymm12
966
+ vpaddd %ymm4, %ymm8, %ymm4
967
+ vpmuldq %ymm1, %ymm12, %ymm13
968
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
969
+ vpmuldq %ymm3, %ymm8, %ymm14
970
+ vpmuldq %ymm2, %ymm12, %ymm12
971
+ vpmuldq %ymm15, %ymm8, %ymm8
972
+ vpmuldq %ymm0, %ymm13, %ymm13
973
+ vpmuldq %ymm0, %ymm14, %ymm14
974
+ vpsubd %ymm13, %ymm12, %ymm12
975
+ vpsubd %ymm14, %ymm8, %ymm8
976
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
977
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
978
+ vpsubd %ymm5, %ymm9, %ymm12
979
+ vpaddd %ymm5, %ymm9, %ymm5
980
+ vpmuldq %ymm1, %ymm12, %ymm13
981
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
982
+ vpmuldq %ymm3, %ymm9, %ymm14
983
+ vpmuldq %ymm2, %ymm12, %ymm12
984
+ vpmuldq %ymm15, %ymm9, %ymm9
985
+ vpmuldq %ymm0, %ymm13, %ymm13
986
+ vpmuldq %ymm0, %ymm14, %ymm14
987
+ vpsubd %ymm13, %ymm12, %ymm12
988
+ vpsubd %ymm14, %ymm9, %ymm9
989
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
990
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
991
+ vpsubd %ymm6, %ymm10, %ymm12
992
+ vpaddd %ymm6, %ymm10, %ymm6
993
+ vpmuldq %ymm1, %ymm12, %ymm13
994
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
995
+ vpmuldq %ymm3, %ymm10, %ymm14
996
+ vpmuldq %ymm2, %ymm12, %ymm12
997
+ vpmuldq %ymm15, %ymm10, %ymm10
998
+ vpmuldq %ymm0, %ymm13, %ymm13
999
+ vpmuldq %ymm0, %ymm14, %ymm14
1000
+ vpsubd %ymm13, %ymm12, %ymm12
1001
+ vpsubd %ymm14, %ymm10, %ymm10
1002
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1003
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1004
+ vpsubd %ymm7, %ymm11, %ymm12
1005
+ vpaddd %ymm7, %ymm11, %ymm7
1006
+ vpmuldq %ymm1, %ymm12, %ymm13
1007
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1008
+ vpmuldq %ymm3, %ymm11, %ymm14
1009
+ vpmuldq %ymm2, %ymm12, %ymm12
1010
+ vpmuldq %ymm15, %ymm11, %ymm11
1011
+ vpmuldq %ymm0, %ymm13, %ymm13
1012
+ vpmuldq %ymm0, %ymm14, %ymm14
1013
+ vpsubd %ymm13, %ymm12, %ymm12
1014
+ vpsubd %ymm14, %ymm11, %ymm11
1015
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1016
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1017
+ vmovsldup %ymm5, %ymm3 # ymm3 = ymm5[0,0,2,2,4,4,6,6]
1018
+ vpblendd $0xaa, %ymm3, %ymm4, %ymm3 # ymm3 = ymm4[0],ymm3[1],ymm4[2],ymm3[3],ymm4[4],ymm3[5],ymm4[6],ymm3[7]
1019
+ vpsrlq $0x20, %ymm4, %ymm4
1020
+ vpblendd $0xaa, %ymm5, %ymm4, %ymm5 # ymm5 = ymm4[0],ymm5[1],ymm4[2],ymm5[3],ymm4[4],ymm5[5],ymm4[6],ymm5[7]
1021
+ vmovsldup %ymm7, %ymm4 # ymm4 = ymm7[0,0,2,2,4,4,6,6]
1022
+ vpblendd $0xaa, %ymm4, %ymm6, %ymm4 # ymm4 = ymm6[0],ymm4[1],ymm6[2],ymm4[3],ymm6[4],ymm4[5],ymm6[6],ymm4[7]
1023
+ vpsrlq $0x20, %ymm6, %ymm6
1024
+ vpblendd $0xaa, %ymm7, %ymm6, %ymm7 # ymm7 = ymm6[0],ymm7[1],ymm6[2],ymm7[3],ymm6[4],ymm7[5],ymm6[6],ymm7[7]
1025
+ vmovsldup %ymm9, %ymm6 # ymm6 = ymm9[0,0,2,2,4,4,6,6]
1026
+ vpblendd $0xaa, %ymm6, %ymm8, %ymm6 # ymm6 = ymm8[0],ymm6[1],ymm8[2],ymm6[3],ymm8[4],ymm6[5],ymm8[6],ymm6[7]
1027
+ vpsrlq $0x20, %ymm8, %ymm8
1028
+ vpblendd $0xaa, %ymm9, %ymm8, %ymm9 # ymm9 = ymm8[0],ymm9[1],ymm8[2],ymm9[3],ymm8[4],ymm9[5],ymm8[6],ymm9[7]
1029
+ vmovsldup %ymm11, %ymm8 # ymm8 = ymm11[0,0,2,2,4,4,6,6]
1030
+ vpblendd $0xaa, %ymm8, %ymm10, %ymm8 # ymm8 = ymm10[0],ymm8[1],ymm10[2],ymm8[3],ymm10[4],ymm8[5],ymm10[6],ymm8[7]
1031
+ vpsrlq $0x20, %ymm10, %ymm10
1032
+ vpblendd $0xaa, %ymm11, %ymm10, %ymm11 # ymm11 = ymm10[0],ymm11[1],ymm10[2],ymm11[3],ymm10[4],ymm11[5],ymm10[6],ymm11[7]
1033
+ vpermq $0x1b, 0x140(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
1034
+ vpermq $0x1b, 0x5e0(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
1035
+ vpsubd %ymm3, %ymm5, %ymm12
1036
+ vpaddd %ymm5, %ymm3, %ymm3
1037
+ vpmuldq %ymm1, %ymm12, %ymm13
1038
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
1039
+ vpmuldq %ymm1, %ymm5, %ymm14
1040
+ vpmuldq %ymm2, %ymm12, %ymm12
1041
+ vpmuldq %ymm2, %ymm5, %ymm5
1042
+ vpmuldq %ymm0, %ymm13, %ymm13
1043
+ vpmuldq %ymm0, %ymm14, %ymm14
1044
+ vpsubd %ymm13, %ymm12, %ymm12
1045
+ vpsubd %ymm14, %ymm5, %ymm5
1046
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1047
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
1048
+ vpsubd %ymm4, %ymm7, %ymm12
1049
+ vpaddd %ymm7, %ymm4, %ymm4
1050
+ vpmuldq %ymm1, %ymm12, %ymm13
1051
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1052
+ vpmuldq %ymm1, %ymm7, %ymm14
1053
+ vpmuldq %ymm2, %ymm12, %ymm12
1054
+ vpmuldq %ymm2, %ymm7, %ymm7
1055
+ vpmuldq %ymm0, %ymm13, %ymm13
1056
+ vpmuldq %ymm0, %ymm14, %ymm14
1057
+ vpsubd %ymm13, %ymm12, %ymm12
1058
+ vpsubd %ymm14, %ymm7, %ymm7
1059
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1060
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1061
+ vpsubd %ymm6, %ymm9, %ymm12
1062
+ vpaddd %ymm6, %ymm9, %ymm6
1063
+ vpmuldq %ymm1, %ymm12, %ymm13
1064
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1065
+ vpmuldq %ymm1, %ymm9, %ymm14
1066
+ vpmuldq %ymm2, %ymm12, %ymm12
1067
+ vpmuldq %ymm2, %ymm9, %ymm9
1068
+ vpmuldq %ymm0, %ymm13, %ymm13
1069
+ vpmuldq %ymm0, %ymm14, %ymm14
1070
+ vpsubd %ymm13, %ymm12, %ymm12
1071
+ vpsubd %ymm14, %ymm9, %ymm9
1072
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1073
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1074
+ vpsubd %ymm8, %ymm11, %ymm12
1075
+ vpaddd %ymm11, %ymm8, %ymm8
1076
+ vpmuldq %ymm1, %ymm12, %ymm13
1077
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1078
+ vpmuldq %ymm1, %ymm11, %ymm14
1079
+ vpmuldq %ymm2, %ymm12, %ymm12
1080
+ vpmuldq %ymm2, %ymm11, %ymm11
1081
+ vpmuldq %ymm0, %ymm13, %ymm13
1082
+ vpmuldq %ymm0, %ymm14, %ymm14
1083
+ vpsubd %ymm13, %ymm12, %ymm12
1084
+ vpsubd %ymm14, %ymm11, %ymm11
1085
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1086
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1087
+ vpunpcklqdq %ymm4, %ymm3, %ymm10 # ymm10 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
1088
+ vpunpckhqdq %ymm4, %ymm3, %ymm4 # ymm4 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
1089
+ vpunpcklqdq %ymm8, %ymm6, %ymm3 # ymm3 = ymm6[0],ymm8[0],ymm6[2],ymm8[2]
1090
+ vpunpckhqdq %ymm8, %ymm6, %ymm8 # ymm8 = ymm6[1],ymm8[1],ymm6[3],ymm8[3]
1091
+ vpunpcklqdq %ymm7, %ymm5, %ymm6 # ymm6 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]
1092
+ vpunpckhqdq %ymm7, %ymm5, %ymm7 # ymm7 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]
1093
+ vpunpcklqdq %ymm11, %ymm9, %ymm5 # ymm5 = ymm9[0],ymm11[0],ymm9[2],ymm11[2]
1094
+ vpunpckhqdq %ymm11, %ymm9, %ymm11 # ymm11 = ymm9[1],ymm11[1],ymm9[3],ymm11[3]
1095
+ vpermq $0x1b, 0xc0(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
1096
+ vpermq $0x1b, 0x560(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
1097
+ vpsubd %ymm10, %ymm4, %ymm12
1098
+ vpaddd %ymm4, %ymm10, %ymm10
1099
+ vpmuldq %ymm1, %ymm12, %ymm13
1100
+ vmovshdup %ymm12, %ymm4 # ymm4 = ymm12[1,1,3,3,5,5,7,7]
1101
+ vpmuldq %ymm1, %ymm4, %ymm14
1102
+ vpmuldq %ymm2, %ymm12, %ymm12
1103
+ vpmuldq %ymm2, %ymm4, %ymm4
1104
+ vpmuldq %ymm0, %ymm13, %ymm13
1105
+ vpmuldq %ymm0, %ymm14, %ymm14
1106
+ vpsubd %ymm13, %ymm12, %ymm12
1107
+ vpsubd %ymm14, %ymm4, %ymm4
1108
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1109
+ vpblendd $0xaa, %ymm4, %ymm12, %ymm4 # ymm4 = ymm12[0],ymm4[1],ymm12[2],ymm4[3],ymm12[4],ymm4[5],ymm12[6],ymm4[7]
1110
+ vpsubd %ymm3, %ymm8, %ymm12
1111
+ vpaddd %ymm3, %ymm8, %ymm3
1112
+ vpmuldq %ymm1, %ymm12, %ymm13
1113
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1114
+ vpmuldq %ymm1, %ymm8, %ymm14
1115
+ vpmuldq %ymm2, %ymm12, %ymm12
1116
+ vpmuldq %ymm2, %ymm8, %ymm8
1117
+ vpmuldq %ymm0, %ymm13, %ymm13
1118
+ vpmuldq %ymm0, %ymm14, %ymm14
1119
+ vpsubd %ymm13, %ymm12, %ymm12
1120
+ vpsubd %ymm14, %ymm8, %ymm8
1121
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1122
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1123
+ vpsubd %ymm6, %ymm7, %ymm12
1124
+ vpaddd %ymm7, %ymm6, %ymm6
1125
+ vpmuldq %ymm1, %ymm12, %ymm13
1126
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1127
+ vpmuldq %ymm1, %ymm7, %ymm14
1128
+ vpmuldq %ymm2, %ymm12, %ymm12
1129
+ vpmuldq %ymm2, %ymm7, %ymm7
1130
+ vpmuldq %ymm0, %ymm13, %ymm13
1131
+ vpmuldq %ymm0, %ymm14, %ymm14
1132
+ vpsubd %ymm13, %ymm12, %ymm12
1133
+ vpsubd %ymm14, %ymm7, %ymm7
1134
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1135
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1136
+ vpsubd %ymm5, %ymm11, %ymm12
1137
+ vpaddd %ymm5, %ymm11, %ymm5
1138
+ vpmuldq %ymm1, %ymm12, %ymm13
1139
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1140
+ vpmuldq %ymm1, %ymm11, %ymm14
1141
+ vpmuldq %ymm2, %ymm12, %ymm12
1142
+ vpmuldq %ymm2, %ymm11, %ymm11
1143
+ vpmuldq %ymm0, %ymm13, %ymm13
1144
+ vpmuldq %ymm0, %ymm14, %ymm14
1145
+ vpsubd %ymm13, %ymm12, %ymm12
1146
+ vpsubd %ymm14, %ymm11, %ymm11
1147
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1148
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1149
+ vperm2i128 $0x20, %ymm3, %ymm10, %ymm9 # ymm9 = ymm10[0,1],ymm3[0,1]
1150
+ vperm2i128 $0x31, %ymm3, %ymm10, %ymm3 # ymm3 = ymm10[2,3],ymm3[2,3]
1151
+ vperm2i128 $0x20, %ymm5, %ymm6, %ymm10 # ymm10 = ymm6[0,1],ymm5[0,1]
1152
+ vperm2i128 $0x31, %ymm5, %ymm6, %ymm5 # ymm5 = ymm6[2,3],ymm5[2,3]
1153
+ vperm2i128 $0x20, %ymm8, %ymm4, %ymm6 # ymm6 = ymm4[0,1],ymm8[0,1]
1154
+ vperm2i128 $0x31, %ymm8, %ymm4, %ymm8 # ymm8 = ymm4[2,3],ymm8[2,3]
1155
+ vperm2i128 $0x20, %ymm11, %ymm7, %ymm4 # ymm4 = ymm7[0,1],ymm11[0,1]
1156
+ vperm2i128 $0x31, %ymm11, %ymm7, %ymm11 # ymm11 = ymm7[2,3],ymm11[2,3]
1157
+ vpbroadcastd 0x94(%rsi), %ymm1
1158
+ vpbroadcastd 0x534(%rsi), %ymm2
1159
+ vpsubd %ymm9, %ymm3, %ymm12
1160
+ vpaddd %ymm3, %ymm9, %ymm9
1161
+ vpmuldq %ymm1, %ymm12, %ymm13
1162
+ vmovshdup %ymm12, %ymm3 # ymm3 = ymm12[1,1,3,3,5,5,7,7]
1163
+ vpmuldq %ymm1, %ymm3, %ymm14
1164
+ vpmuldq %ymm2, %ymm12, %ymm12
1165
+ vpmuldq %ymm2, %ymm3, %ymm3
1166
+ vpmuldq %ymm0, %ymm13, %ymm13
1167
+ vpmuldq %ymm0, %ymm14, %ymm14
1168
+ vpsubd %ymm13, %ymm12, %ymm12
1169
+ vpsubd %ymm14, %ymm3, %ymm3
1170
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1171
+ vpblendd $0xaa, %ymm3, %ymm12, %ymm3 # ymm3 = ymm12[0],ymm3[1],ymm12[2],ymm3[3],ymm12[4],ymm3[5],ymm12[6],ymm3[7]
1172
+ vpsubd %ymm10, %ymm5, %ymm12
1173
+ vpaddd %ymm5, %ymm10, %ymm10
1174
+ vpmuldq %ymm1, %ymm12, %ymm13
1175
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
1176
+ vpmuldq %ymm1, %ymm5, %ymm14
1177
+ vpmuldq %ymm2, %ymm12, %ymm12
1178
+ vpmuldq %ymm2, %ymm5, %ymm5
1179
+ vpmuldq %ymm0, %ymm13, %ymm13
1180
+ vpmuldq %ymm0, %ymm14, %ymm14
1181
+ vpsubd %ymm13, %ymm12, %ymm12
1182
+ vpsubd %ymm14, %ymm5, %ymm5
1183
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1184
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
1185
+ vpsubd %ymm6, %ymm8, %ymm12
1186
+ vpaddd %ymm6, %ymm8, %ymm6
1187
+ vpmuldq %ymm1, %ymm12, %ymm13
1188
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1189
+ vpmuldq %ymm1, %ymm8, %ymm14
1190
+ vpmuldq %ymm2, %ymm12, %ymm12
1191
+ vpmuldq %ymm2, %ymm8, %ymm8
1192
+ vpmuldq %ymm0, %ymm13, %ymm13
1193
+ vpmuldq %ymm0, %ymm14, %ymm14
1194
+ vpsubd %ymm13, %ymm12, %ymm12
1195
+ vpsubd %ymm14, %ymm8, %ymm8
1196
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1197
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1198
+ vpsubd %ymm4, %ymm11, %ymm12
1199
+ vpaddd %ymm4, %ymm11, %ymm4
1200
+ vpmuldq %ymm1, %ymm12, %ymm13
1201
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1202
+ vpmuldq %ymm1, %ymm11, %ymm14
1203
+ vpmuldq %ymm2, %ymm12, %ymm12
1204
+ vpmuldq %ymm2, %ymm11, %ymm11
1205
+ vpmuldq %ymm0, %ymm13, %ymm13
1206
+ vpmuldq %ymm0, %ymm14, %ymm14
1207
+ vpsubd %ymm13, %ymm12, %ymm12
1208
+ vpsubd %ymm14, %ymm11, %ymm11
1209
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1210
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1211
+ vmovdqa %ymm9, 0x200(%rdi)
1212
+ vmovdqa %ymm10, 0x220(%rdi)
1213
+ vmovdqa %ymm6, 0x240(%rdi)
1214
+ vmovdqa %ymm4, 0x260(%rdi)
1215
+ vmovdqa %ymm3, 0x280(%rdi)
1216
+ vmovdqa %ymm5, 0x2a0(%rdi)
1217
+ vmovdqa %ymm8, 0x2c0(%rdi)
1218
+ vmovdqa %ymm11, 0x2e0(%rdi)
1219
+ vmovdqa 0x300(%rdi), %ymm4
1220
+ vmovdqa 0x320(%rdi), %ymm5
1221
+ vmovdqa 0x340(%rdi), %ymm6
1222
+ vmovdqa 0x360(%rdi), %ymm7
1223
+ vmovdqa 0x380(%rdi), %ymm8
1224
+ vmovdqa 0x3a0(%rdi), %ymm9
1225
+ vmovdqa 0x3c0(%rdi), %ymm10
1226
+ vmovdqa 0x3e0(%rdi), %ymm11
1227
+ vpermq $0x1b, 0x4a0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1228
+ vpermq $0x1b, 0x940(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1229
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1230
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1231
+ vpsubd %ymm4, %ymm5, %ymm12
1232
+ vpaddd %ymm5, %ymm4, %ymm4
1233
+ vpmuldq %ymm1, %ymm12, %ymm13
1234
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
1235
+ vpmuldq %ymm3, %ymm5, %ymm14
1236
+ vpmuldq %ymm2, %ymm12, %ymm12
1237
+ vpmuldq %ymm15, %ymm5, %ymm5
1238
+ vpmuldq %ymm0, %ymm13, %ymm13
1239
+ vpmuldq %ymm0, %ymm14, %ymm14
1240
+ vpsubd %ymm13, %ymm12, %ymm12
1241
+ vpsubd %ymm14, %ymm5, %ymm5
1242
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1243
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
1244
+ vpermq $0x1b, 0x420(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1245
+ vpermq $0x1b, 0x8c0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1246
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1247
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1248
+ vpsubd %ymm6, %ymm7, %ymm12
1249
+ vpaddd %ymm7, %ymm6, %ymm6
1250
+ vpmuldq %ymm1, %ymm12, %ymm13
1251
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1252
+ vpmuldq %ymm3, %ymm7, %ymm14
1253
+ vpmuldq %ymm2, %ymm12, %ymm12
1254
+ vpmuldq %ymm15, %ymm7, %ymm7
1255
+ vpmuldq %ymm0, %ymm13, %ymm13
1256
+ vpmuldq %ymm0, %ymm14, %ymm14
1257
+ vpsubd %ymm13, %ymm12, %ymm12
1258
+ vpsubd %ymm14, %ymm7, %ymm7
1259
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1260
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1261
+ vpermq $0x1b, 0x3a0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1262
+ vpermq $0x1b, 0x840(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1263
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1264
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1265
+ vpsubd %ymm8, %ymm9, %ymm12
1266
+ vpaddd %ymm9, %ymm8, %ymm8
1267
+ vpmuldq %ymm1, %ymm12, %ymm13
1268
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1269
+ vpmuldq %ymm3, %ymm9, %ymm14
1270
+ vpmuldq %ymm2, %ymm12, %ymm12
1271
+ vpmuldq %ymm15, %ymm9, %ymm9
1272
+ vpmuldq %ymm0, %ymm13, %ymm13
1273
+ vpmuldq %ymm0, %ymm14, %ymm14
1274
+ vpsubd %ymm13, %ymm12, %ymm12
1275
+ vpsubd %ymm14, %ymm9, %ymm9
1276
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1277
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1278
+ vpermq $0x1b, 0x320(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1279
+ vpermq $0x1b, 0x7c0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1280
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1281
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1282
+ vpsubd %ymm10, %ymm11, %ymm12
1283
+ vpaddd %ymm11, %ymm10, %ymm10
1284
+ vpmuldq %ymm1, %ymm12, %ymm13
1285
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1286
+ vpmuldq %ymm3, %ymm11, %ymm14
1287
+ vpmuldq %ymm2, %ymm12, %ymm12
1288
+ vpmuldq %ymm15, %ymm11, %ymm11
1289
+ vpmuldq %ymm0, %ymm13, %ymm13
1290
+ vpmuldq %ymm0, %ymm14, %ymm14
1291
+ vpsubd %ymm13, %ymm12, %ymm12
1292
+ vpsubd %ymm14, %ymm11, %ymm11
1293
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1294
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1295
+ vpermq $0x1b, 0x2a0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1296
+ vpermq $0x1b, 0x740(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1297
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1298
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1299
+ vpsubd %ymm4, %ymm6, %ymm12
1300
+ vpaddd %ymm6, %ymm4, %ymm4
1301
+ vpmuldq %ymm1, %ymm12, %ymm13
1302
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
1303
+ vpmuldq %ymm3, %ymm6, %ymm14
1304
+ vpmuldq %ymm2, %ymm12, %ymm12
1305
+ vpmuldq %ymm15, %ymm6, %ymm6
1306
+ vpmuldq %ymm0, %ymm13, %ymm13
1307
+ vpmuldq %ymm0, %ymm14, %ymm14
1308
+ vpsubd %ymm13, %ymm12, %ymm12
1309
+ vpsubd %ymm14, %ymm6, %ymm6
1310
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1311
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
1312
+ vpsubd %ymm5, %ymm7, %ymm12
1313
+ vpaddd %ymm7, %ymm5, %ymm5
1314
+ vpmuldq %ymm1, %ymm12, %ymm13
1315
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1316
+ vpmuldq %ymm3, %ymm7, %ymm14
1317
+ vpmuldq %ymm2, %ymm12, %ymm12
1318
+ vpmuldq %ymm15, %ymm7, %ymm7
1319
+ vpmuldq %ymm0, %ymm13, %ymm13
1320
+ vpmuldq %ymm0, %ymm14, %ymm14
1321
+ vpsubd %ymm13, %ymm12, %ymm12
1322
+ vpsubd %ymm14, %ymm7, %ymm7
1323
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1324
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1325
+ vpermq $0x1b, 0x220(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1326
+ vpermq $0x1b, 0x6c0(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1327
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1328
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1329
+ vpsubd %ymm8, %ymm10, %ymm12
1330
+ vpaddd %ymm10, %ymm8, %ymm8
1331
+ vpmuldq %ymm1, %ymm12, %ymm13
1332
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1333
+ vpmuldq %ymm3, %ymm10, %ymm14
1334
+ vpmuldq %ymm2, %ymm12, %ymm12
1335
+ vpmuldq %ymm15, %ymm10, %ymm10
1336
+ vpmuldq %ymm0, %ymm13, %ymm13
1337
+ vpmuldq %ymm0, %ymm14, %ymm14
1338
+ vpsubd %ymm13, %ymm12, %ymm12
1339
+ vpsubd %ymm14, %ymm10, %ymm10
1340
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1341
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1342
+ vpsubd %ymm9, %ymm11, %ymm12
1343
+ vpaddd %ymm11, %ymm9, %ymm9
1344
+ vpmuldq %ymm1, %ymm12, %ymm13
1345
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1346
+ vpmuldq %ymm3, %ymm11, %ymm14
1347
+ vpmuldq %ymm2, %ymm12, %ymm12
1348
+ vpmuldq %ymm15, %ymm11, %ymm11
1349
+ vpmuldq %ymm0, %ymm13, %ymm13
1350
+ vpmuldq %ymm0, %ymm14, %ymm14
1351
+ vpsubd %ymm13, %ymm12, %ymm12
1352
+ vpsubd %ymm14, %ymm11, %ymm11
1353
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1354
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1355
+ vpermq $0x1b, 0x1a0(%rsi), %ymm3 # ymm3 = mem[3,2,1,0]
1356
+ vpermq $0x1b, 0x640(%rsi), %ymm15 # ymm15 = mem[3,2,1,0]
1357
+ vmovshdup %ymm3, %ymm1 # ymm1 = ymm3[1,1,3,3,5,5,7,7]
1358
+ vmovshdup %ymm15, %ymm2 # ymm2 = ymm15[1,1,3,3,5,5,7,7]
1359
+ vpsubd %ymm4, %ymm8, %ymm12
1360
+ vpaddd %ymm4, %ymm8, %ymm4
1361
+ vpmuldq %ymm1, %ymm12, %ymm13
1362
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1363
+ vpmuldq %ymm3, %ymm8, %ymm14
1364
+ vpmuldq %ymm2, %ymm12, %ymm12
1365
+ vpmuldq %ymm15, %ymm8, %ymm8
1366
+ vpmuldq %ymm0, %ymm13, %ymm13
1367
+ vpmuldq %ymm0, %ymm14, %ymm14
1368
+ vpsubd %ymm13, %ymm12, %ymm12
1369
+ vpsubd %ymm14, %ymm8, %ymm8
1370
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1371
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1372
+ vpsubd %ymm5, %ymm9, %ymm12
1373
+ vpaddd %ymm5, %ymm9, %ymm5
1374
+ vpmuldq %ymm1, %ymm12, %ymm13
1375
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1376
+ vpmuldq %ymm3, %ymm9, %ymm14
1377
+ vpmuldq %ymm2, %ymm12, %ymm12
1378
+ vpmuldq %ymm15, %ymm9, %ymm9
1379
+ vpmuldq %ymm0, %ymm13, %ymm13
1380
+ vpmuldq %ymm0, %ymm14, %ymm14
1381
+ vpsubd %ymm13, %ymm12, %ymm12
1382
+ vpsubd %ymm14, %ymm9, %ymm9
1383
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1384
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1385
+ vpsubd %ymm6, %ymm10, %ymm12
1386
+ vpaddd %ymm6, %ymm10, %ymm6
1387
+ vpmuldq %ymm1, %ymm12, %ymm13
1388
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1389
+ vpmuldq %ymm3, %ymm10, %ymm14
1390
+ vpmuldq %ymm2, %ymm12, %ymm12
1391
+ vpmuldq %ymm15, %ymm10, %ymm10
1392
+ vpmuldq %ymm0, %ymm13, %ymm13
1393
+ vpmuldq %ymm0, %ymm14, %ymm14
1394
+ vpsubd %ymm13, %ymm12, %ymm12
1395
+ vpsubd %ymm14, %ymm10, %ymm10
1396
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1397
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1398
+ vpsubd %ymm7, %ymm11, %ymm12
1399
+ vpaddd %ymm7, %ymm11, %ymm7
1400
+ vpmuldq %ymm1, %ymm12, %ymm13
1401
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1402
+ vpmuldq %ymm3, %ymm11, %ymm14
1403
+ vpmuldq %ymm2, %ymm12, %ymm12
1404
+ vpmuldq %ymm15, %ymm11, %ymm11
1405
+ vpmuldq %ymm0, %ymm13, %ymm13
1406
+ vpmuldq %ymm0, %ymm14, %ymm14
1407
+ vpsubd %ymm13, %ymm12, %ymm12
1408
+ vpsubd %ymm14, %ymm11, %ymm11
1409
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1410
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1411
+ vmovsldup %ymm5, %ymm3 # ymm3 = ymm5[0,0,2,2,4,4,6,6]
1412
+ vpblendd $0xaa, %ymm3, %ymm4, %ymm3 # ymm3 = ymm4[0],ymm3[1],ymm4[2],ymm3[3],ymm4[4],ymm3[5],ymm4[6],ymm3[7]
1413
+ vpsrlq $0x20, %ymm4, %ymm4
1414
+ vpblendd $0xaa, %ymm5, %ymm4, %ymm5 # ymm5 = ymm4[0],ymm5[1],ymm4[2],ymm5[3],ymm4[4],ymm5[5],ymm4[6],ymm5[7]
1415
+ vmovsldup %ymm7, %ymm4 # ymm4 = ymm7[0,0,2,2,4,4,6,6]
1416
+ vpblendd $0xaa, %ymm4, %ymm6, %ymm4 # ymm4 = ymm6[0],ymm4[1],ymm6[2],ymm4[3],ymm6[4],ymm4[5],ymm6[6],ymm4[7]
1417
+ vpsrlq $0x20, %ymm6, %ymm6
1418
+ vpblendd $0xaa, %ymm7, %ymm6, %ymm7 # ymm7 = ymm6[0],ymm7[1],ymm6[2],ymm7[3],ymm6[4],ymm7[5],ymm6[6],ymm7[7]
1419
+ vmovsldup %ymm9, %ymm6 # ymm6 = ymm9[0,0,2,2,4,4,6,6]
1420
+ vpblendd $0xaa, %ymm6, %ymm8, %ymm6 # ymm6 = ymm8[0],ymm6[1],ymm8[2],ymm6[3],ymm8[4],ymm6[5],ymm8[6],ymm6[7]
1421
+ vpsrlq $0x20, %ymm8, %ymm8
1422
+ vpblendd $0xaa, %ymm9, %ymm8, %ymm9 # ymm9 = ymm8[0],ymm9[1],ymm8[2],ymm9[3],ymm8[4],ymm9[5],ymm8[6],ymm9[7]
1423
+ vmovsldup %ymm11, %ymm8 # ymm8 = ymm11[0,0,2,2,4,4,6,6]
1424
+ vpblendd $0xaa, %ymm8, %ymm10, %ymm8 # ymm8 = ymm10[0],ymm8[1],ymm10[2],ymm8[3],ymm10[4],ymm8[5],ymm10[6],ymm8[7]
1425
+ vpsrlq $0x20, %ymm10, %ymm10
1426
+ vpblendd $0xaa, %ymm11, %ymm10, %ymm11 # ymm11 = ymm10[0],ymm11[1],ymm10[2],ymm11[3],ymm10[4],ymm11[5],ymm10[6],ymm11[7]
1427
+ vpermq $0x1b, 0x120(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
1428
+ vpermq $0x1b, 0x5c0(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
1429
+ vpsubd %ymm3, %ymm5, %ymm12
1430
+ vpaddd %ymm5, %ymm3, %ymm3
1431
+ vpmuldq %ymm1, %ymm12, %ymm13
1432
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
1433
+ vpmuldq %ymm1, %ymm5, %ymm14
1434
+ vpmuldq %ymm2, %ymm12, %ymm12
1435
+ vpmuldq %ymm2, %ymm5, %ymm5
1436
+ vpmuldq %ymm0, %ymm13, %ymm13
1437
+ vpmuldq %ymm0, %ymm14, %ymm14
1438
+ vpsubd %ymm13, %ymm12, %ymm12
1439
+ vpsubd %ymm14, %ymm5, %ymm5
1440
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1441
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
1442
+ vpsubd %ymm4, %ymm7, %ymm12
1443
+ vpaddd %ymm7, %ymm4, %ymm4
1444
+ vpmuldq %ymm1, %ymm12, %ymm13
1445
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1446
+ vpmuldq %ymm1, %ymm7, %ymm14
1447
+ vpmuldq %ymm2, %ymm12, %ymm12
1448
+ vpmuldq %ymm2, %ymm7, %ymm7
1449
+ vpmuldq %ymm0, %ymm13, %ymm13
1450
+ vpmuldq %ymm0, %ymm14, %ymm14
1451
+ vpsubd %ymm13, %ymm12, %ymm12
1452
+ vpsubd %ymm14, %ymm7, %ymm7
1453
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1454
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1455
+ vpsubd %ymm6, %ymm9, %ymm12
1456
+ vpaddd %ymm6, %ymm9, %ymm6
1457
+ vpmuldq %ymm1, %ymm12, %ymm13
1458
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1459
+ vpmuldq %ymm1, %ymm9, %ymm14
1460
+ vpmuldq %ymm2, %ymm12, %ymm12
1461
+ vpmuldq %ymm2, %ymm9, %ymm9
1462
+ vpmuldq %ymm0, %ymm13, %ymm13
1463
+ vpmuldq %ymm0, %ymm14, %ymm14
1464
+ vpsubd %ymm13, %ymm12, %ymm12
1465
+ vpsubd %ymm14, %ymm9, %ymm9
1466
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1467
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1468
+ vpsubd %ymm8, %ymm11, %ymm12
1469
+ vpaddd %ymm11, %ymm8, %ymm8
1470
+ vpmuldq %ymm1, %ymm12, %ymm13
1471
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1472
+ vpmuldq %ymm1, %ymm11, %ymm14
1473
+ vpmuldq %ymm2, %ymm12, %ymm12
1474
+ vpmuldq %ymm2, %ymm11, %ymm11
1475
+ vpmuldq %ymm0, %ymm13, %ymm13
1476
+ vpmuldq %ymm0, %ymm14, %ymm14
1477
+ vpsubd %ymm13, %ymm12, %ymm12
1478
+ vpsubd %ymm14, %ymm11, %ymm11
1479
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1480
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1481
+ vpunpcklqdq %ymm4, %ymm3, %ymm10 # ymm10 = ymm3[0],ymm4[0],ymm3[2],ymm4[2]
1482
+ vpunpckhqdq %ymm4, %ymm3, %ymm4 # ymm4 = ymm3[1],ymm4[1],ymm3[3],ymm4[3]
1483
+ vpunpcklqdq %ymm8, %ymm6, %ymm3 # ymm3 = ymm6[0],ymm8[0],ymm6[2],ymm8[2]
1484
+ vpunpckhqdq %ymm8, %ymm6, %ymm8 # ymm8 = ymm6[1],ymm8[1],ymm6[3],ymm8[3]
1485
+ vpunpcklqdq %ymm7, %ymm5, %ymm6 # ymm6 = ymm5[0],ymm7[0],ymm5[2],ymm7[2]
1486
+ vpunpckhqdq %ymm7, %ymm5, %ymm7 # ymm7 = ymm5[1],ymm7[1],ymm5[3],ymm7[3]
1487
+ vpunpcklqdq %ymm11, %ymm9, %ymm5 # ymm5 = ymm9[0],ymm11[0],ymm9[2],ymm11[2]
1488
+ vpunpckhqdq %ymm11, %ymm9, %ymm11 # ymm11 = ymm9[1],ymm11[1],ymm9[3],ymm11[3]
1489
+ vpermq $0x1b, 0xa0(%rsi), %ymm1 # ymm1 = mem[3,2,1,0]
1490
+ vpermq $0x1b, 0x540(%rsi), %ymm2 # ymm2 = mem[3,2,1,0]
1491
+ vpsubd %ymm10, %ymm4, %ymm12
1492
+ vpaddd %ymm4, %ymm10, %ymm10
1493
+ vpmuldq %ymm1, %ymm12, %ymm13
1494
+ vmovshdup %ymm12, %ymm4 # ymm4 = ymm12[1,1,3,3,5,5,7,7]
1495
+ vpmuldq %ymm1, %ymm4, %ymm14
1496
+ vpmuldq %ymm2, %ymm12, %ymm12
1497
+ vpmuldq %ymm2, %ymm4, %ymm4
1498
+ vpmuldq %ymm0, %ymm13, %ymm13
1499
+ vpmuldq %ymm0, %ymm14, %ymm14
1500
+ vpsubd %ymm13, %ymm12, %ymm12
1501
+ vpsubd %ymm14, %ymm4, %ymm4
1502
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1503
+ vpblendd $0xaa, %ymm4, %ymm12, %ymm4 # ymm4 = ymm12[0],ymm4[1],ymm12[2],ymm4[3],ymm12[4],ymm4[5],ymm12[6],ymm4[7]
1504
+ vpsubd %ymm3, %ymm8, %ymm12
1505
+ vpaddd %ymm3, %ymm8, %ymm3
1506
+ vpmuldq %ymm1, %ymm12, %ymm13
1507
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1508
+ vpmuldq %ymm1, %ymm8, %ymm14
1509
+ vpmuldq %ymm2, %ymm12, %ymm12
1510
+ vpmuldq %ymm2, %ymm8, %ymm8
1511
+ vpmuldq %ymm0, %ymm13, %ymm13
1512
+ vpmuldq %ymm0, %ymm14, %ymm14
1513
+ vpsubd %ymm13, %ymm12, %ymm12
1514
+ vpsubd %ymm14, %ymm8, %ymm8
1515
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1516
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1517
+ vpsubd %ymm6, %ymm7, %ymm12
1518
+ vpaddd %ymm7, %ymm6, %ymm6
1519
+ vpmuldq %ymm1, %ymm12, %ymm13
1520
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1521
+ vpmuldq %ymm1, %ymm7, %ymm14
1522
+ vpmuldq %ymm2, %ymm12, %ymm12
1523
+ vpmuldq %ymm2, %ymm7, %ymm7
1524
+ vpmuldq %ymm0, %ymm13, %ymm13
1525
+ vpmuldq %ymm0, %ymm14, %ymm14
1526
+ vpsubd %ymm13, %ymm12, %ymm12
1527
+ vpsubd %ymm14, %ymm7, %ymm7
1528
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1529
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1530
+ vpsubd %ymm5, %ymm11, %ymm12
1531
+ vpaddd %ymm5, %ymm11, %ymm5
1532
+ vpmuldq %ymm1, %ymm12, %ymm13
1533
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1534
+ vpmuldq %ymm1, %ymm11, %ymm14
1535
+ vpmuldq %ymm2, %ymm12, %ymm12
1536
+ vpmuldq %ymm2, %ymm11, %ymm11
1537
+ vpmuldq %ymm0, %ymm13, %ymm13
1538
+ vpmuldq %ymm0, %ymm14, %ymm14
1539
+ vpsubd %ymm13, %ymm12, %ymm12
1540
+ vpsubd %ymm14, %ymm11, %ymm11
1541
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1542
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1543
+ vperm2i128 $0x20, %ymm3, %ymm10, %ymm9 # ymm9 = ymm10[0,1],ymm3[0,1]
1544
+ vperm2i128 $0x31, %ymm3, %ymm10, %ymm3 # ymm3 = ymm10[2,3],ymm3[2,3]
1545
+ vperm2i128 $0x20, %ymm5, %ymm6, %ymm10 # ymm10 = ymm6[0,1],ymm5[0,1]
1546
+ vperm2i128 $0x31, %ymm5, %ymm6, %ymm5 # ymm5 = ymm6[2,3],ymm5[2,3]
1547
+ vperm2i128 $0x20, %ymm8, %ymm4, %ymm6 # ymm6 = ymm4[0,1],ymm8[0,1]
1548
+ vperm2i128 $0x31, %ymm8, %ymm4, %ymm8 # ymm8 = ymm4[2,3],ymm8[2,3]
1549
+ vperm2i128 $0x20, %ymm11, %ymm7, %ymm4 # ymm4 = ymm7[0,1],ymm11[0,1]
1550
+ vperm2i128 $0x31, %ymm11, %ymm7, %ymm11 # ymm11 = ymm7[2,3],ymm11[2,3]
1551
+ vpbroadcastd 0x90(%rsi), %ymm1
1552
+ vpbroadcastd 0x530(%rsi), %ymm2
1553
+ vpsubd %ymm9, %ymm3, %ymm12
1554
+ vpaddd %ymm3, %ymm9, %ymm9
1555
+ vpmuldq %ymm1, %ymm12, %ymm13
1556
+ vmovshdup %ymm12, %ymm3 # ymm3 = ymm12[1,1,3,3,5,5,7,7]
1557
+ vpmuldq %ymm1, %ymm3, %ymm14
1558
+ vpmuldq %ymm2, %ymm12, %ymm12
1559
+ vpmuldq %ymm2, %ymm3, %ymm3
1560
+ vpmuldq %ymm0, %ymm13, %ymm13
1561
+ vpmuldq %ymm0, %ymm14, %ymm14
1562
+ vpsubd %ymm13, %ymm12, %ymm12
1563
+ vpsubd %ymm14, %ymm3, %ymm3
1564
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1565
+ vpblendd $0xaa, %ymm3, %ymm12, %ymm3 # ymm3 = ymm12[0],ymm3[1],ymm12[2],ymm3[3],ymm12[4],ymm3[5],ymm12[6],ymm3[7]
1566
+ vpsubd %ymm10, %ymm5, %ymm12
1567
+ vpaddd %ymm5, %ymm10, %ymm10
1568
+ vpmuldq %ymm1, %ymm12, %ymm13
1569
+ vmovshdup %ymm12, %ymm5 # ymm5 = ymm12[1,1,3,3,5,5,7,7]
1570
+ vpmuldq %ymm1, %ymm5, %ymm14
1571
+ vpmuldq %ymm2, %ymm12, %ymm12
1572
+ vpmuldq %ymm2, %ymm5, %ymm5
1573
+ vpmuldq %ymm0, %ymm13, %ymm13
1574
+ vpmuldq %ymm0, %ymm14, %ymm14
1575
+ vpsubd %ymm13, %ymm12, %ymm12
1576
+ vpsubd %ymm14, %ymm5, %ymm5
1577
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1578
+ vpblendd $0xaa, %ymm5, %ymm12, %ymm5 # ymm5 = ymm12[0],ymm5[1],ymm12[2],ymm5[3],ymm12[4],ymm5[5],ymm12[6],ymm5[7]
1579
+ vpsubd %ymm6, %ymm8, %ymm12
1580
+ vpaddd %ymm6, %ymm8, %ymm6
1581
+ vpmuldq %ymm1, %ymm12, %ymm13
1582
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1583
+ vpmuldq %ymm1, %ymm8, %ymm14
1584
+ vpmuldq %ymm2, %ymm12, %ymm12
1585
+ vpmuldq %ymm2, %ymm8, %ymm8
1586
+ vpmuldq %ymm0, %ymm13, %ymm13
1587
+ vpmuldq %ymm0, %ymm14, %ymm14
1588
+ vpsubd %ymm13, %ymm12, %ymm12
1589
+ vpsubd %ymm14, %ymm8, %ymm8
1590
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1591
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1592
+ vpsubd %ymm4, %ymm11, %ymm12
1593
+ vpaddd %ymm4, %ymm11, %ymm4
1594
+ vpmuldq %ymm1, %ymm12, %ymm13
1595
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1596
+ vpmuldq %ymm1, %ymm11, %ymm14
1597
+ vpmuldq %ymm2, %ymm12, %ymm12
1598
+ vpmuldq %ymm2, %ymm11, %ymm11
1599
+ vpmuldq %ymm0, %ymm13, %ymm13
1600
+ vpmuldq %ymm0, %ymm14, %ymm14
1601
+ vpsubd %ymm13, %ymm12, %ymm12
1602
+ vpsubd %ymm14, %ymm11, %ymm11
1603
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1604
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1605
+ vmovdqa %ymm9, 0x300(%rdi)
1606
+ vmovdqa %ymm10, 0x320(%rdi)
1607
+ vmovdqa %ymm6, 0x340(%rdi)
1608
+ vmovdqa %ymm4, 0x360(%rdi)
1609
+ vmovdqa %ymm3, 0x380(%rdi)
1610
+ vmovdqa %ymm5, 0x3a0(%rdi)
1611
+ vmovdqa %ymm8, 0x3c0(%rdi)
1612
+ vmovdqa %ymm11, 0x3e0(%rdi)
1613
+ vmovdqa (%rdi), %ymm4
1614
+ vmovdqa 0x80(%rdi), %ymm5
1615
+ vmovdqa 0x100(%rdi), %ymm6
1616
+ vmovdqa 0x180(%rdi), %ymm7
1617
+ vmovdqa 0x200(%rdi), %ymm8
1618
+ vmovdqa 0x280(%rdi), %ymm9
1619
+ vmovdqa 0x300(%rdi), %ymm10
1620
+ vmovdqa 0x380(%rdi), %ymm11
1621
+ vpbroadcastd 0x8c(%rsi), %ymm1
1622
+ vpbroadcastd 0x52c(%rsi), %ymm2
1623
+ vpsubd %ymm4, %ymm6, %ymm12
1624
+ vpaddd %ymm6, %ymm4, %ymm4
1625
+ vpmuldq %ymm1, %ymm12, %ymm13
1626
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
1627
+ vpmuldq %ymm1, %ymm6, %ymm14
1628
+ vpmuldq %ymm2, %ymm12, %ymm12
1629
+ vpmuldq %ymm2, %ymm6, %ymm6
1630
+ vpmuldq %ymm0, %ymm13, %ymm13
1631
+ vpmuldq %ymm0, %ymm14, %ymm14
1632
+ vpsubd %ymm13, %ymm12, %ymm12
1633
+ vpsubd %ymm14, %ymm6, %ymm6
1634
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1635
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
1636
+ vpsubd %ymm5, %ymm7, %ymm12
1637
+ vpaddd %ymm7, %ymm5, %ymm5
1638
+ vpmuldq %ymm1, %ymm12, %ymm13
1639
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1640
+ vpmuldq %ymm1, %ymm7, %ymm14
1641
+ vpmuldq %ymm2, %ymm12, %ymm12
1642
+ vpmuldq %ymm2, %ymm7, %ymm7
1643
+ vpmuldq %ymm0, %ymm13, %ymm13
1644
+ vpmuldq %ymm0, %ymm14, %ymm14
1645
+ vpsubd %ymm13, %ymm12, %ymm12
1646
+ vpsubd %ymm14, %ymm7, %ymm7
1647
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1648
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1649
+ vpbroadcastd 0x88(%rsi), %ymm1
1650
+ vpbroadcastd 0x528(%rsi), %ymm2
1651
+ vpsubd %ymm8, %ymm10, %ymm12
1652
+ vpaddd %ymm10, %ymm8, %ymm8
1653
+ vpmuldq %ymm1, %ymm12, %ymm13
1654
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1655
+ vpmuldq %ymm1, %ymm10, %ymm14
1656
+ vpmuldq %ymm2, %ymm12, %ymm12
1657
+ vpmuldq %ymm2, %ymm10, %ymm10
1658
+ vpmuldq %ymm0, %ymm13, %ymm13
1659
+ vpmuldq %ymm0, %ymm14, %ymm14
1660
+ vpsubd %ymm13, %ymm12, %ymm12
1661
+ vpsubd %ymm14, %ymm10, %ymm10
1662
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1663
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1664
+ vpsubd %ymm9, %ymm11, %ymm12
1665
+ vpaddd %ymm11, %ymm9, %ymm9
1666
+ vpmuldq %ymm1, %ymm12, %ymm13
1667
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1668
+ vpmuldq %ymm1, %ymm11, %ymm14
1669
+ vpmuldq %ymm2, %ymm12, %ymm12
1670
+ vpmuldq %ymm2, %ymm11, %ymm11
1671
+ vpmuldq %ymm0, %ymm13, %ymm13
1672
+ vpmuldq %ymm0, %ymm14, %ymm14
1673
+ vpsubd %ymm13, %ymm12, %ymm12
1674
+ vpsubd %ymm14, %ymm11, %ymm11
1675
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1676
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1677
+ vpbroadcastd 0x80(%rsi), %ymm1
1678
+ vpbroadcastd 0x520(%rsi), %ymm2
1679
+ vpsubd %ymm4, %ymm8, %ymm12
1680
+ vpaddd %ymm4, %ymm8, %ymm4
1681
+ vpmuldq %ymm1, %ymm12, %ymm13
1682
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1683
+ vpmuldq %ymm1, %ymm8, %ymm14
1684
+ vpmuldq %ymm2, %ymm12, %ymm12
1685
+ vpmuldq %ymm2, %ymm8, %ymm8
1686
+ vpmuldq %ymm0, %ymm13, %ymm13
1687
+ vpmuldq %ymm0, %ymm14, %ymm14
1688
+ vpsubd %ymm13, %ymm12, %ymm12
1689
+ vpsubd %ymm14, %ymm8, %ymm8
1690
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1691
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1692
+ vpsubd %ymm5, %ymm9, %ymm12
1693
+ vpaddd %ymm5, %ymm9, %ymm5
1694
+ vpmuldq %ymm1, %ymm12, %ymm13
1695
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1696
+ vpmuldq %ymm1, %ymm9, %ymm14
1697
+ vpmuldq %ymm2, %ymm12, %ymm12
1698
+ vpmuldq %ymm2, %ymm9, %ymm9
1699
+ vpmuldq %ymm0, %ymm13, %ymm13
1700
+ vpmuldq %ymm0, %ymm14, %ymm14
1701
+ vpsubd %ymm13, %ymm12, %ymm12
1702
+ vpsubd %ymm14, %ymm9, %ymm9
1703
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1704
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1705
+ vpsubd %ymm6, %ymm10, %ymm12
1706
+ vpaddd %ymm6, %ymm10, %ymm6
1707
+ vpmuldq %ymm1, %ymm12, %ymm13
1708
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1709
+ vpmuldq %ymm1, %ymm10, %ymm14
1710
+ vpmuldq %ymm2, %ymm12, %ymm12
1711
+ vpmuldq %ymm2, %ymm10, %ymm10
1712
+ vpmuldq %ymm0, %ymm13, %ymm13
1713
+ vpmuldq %ymm0, %ymm14, %ymm14
1714
+ vpsubd %ymm13, %ymm12, %ymm12
1715
+ vpsubd %ymm14, %ymm10, %ymm10
1716
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1717
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1718
+ vpsubd %ymm7, %ymm11, %ymm12
1719
+ vpaddd %ymm7, %ymm11, %ymm7
1720
+ vpmuldq %ymm1, %ymm12, %ymm13
1721
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1722
+ vpmuldq %ymm1, %ymm11, %ymm14
1723
+ vpmuldq %ymm2, %ymm12, %ymm12
1724
+ vpmuldq %ymm2, %ymm11, %ymm11
1725
+ vpmuldq %ymm0, %ymm13, %ymm13
1726
+ vpmuldq %ymm0, %ymm14, %ymm14
1727
+ vpsubd %ymm13, %ymm12, %ymm12
1728
+ vpsubd %ymm14, %ymm11, %ymm11
1729
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1730
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1731
+ vmovdqa %ymm8, 0x200(%rdi)
1732
+ vmovdqa %ymm9, 0x280(%rdi)
1733
+ vmovdqa %ymm10, 0x300(%rdi)
1734
+ vmovdqa %ymm11, 0x380(%rdi)
1735
+ vmovdqa 0x40(%rsi), %ymm1
1736
+ vmovdqa 0x60(%rsi), %ymm2
1737
+ vpmuldq %ymm1, %ymm4, %ymm12
1738
+ vpmuldq %ymm1, %ymm5, %ymm13
1739
+ vmovshdup %ymm4, %ymm8 # ymm8 = ymm4[1,1,3,3,5,5,7,7]
1740
+ vmovshdup %ymm5, %ymm9 # ymm9 = ymm5[1,1,3,3,5,5,7,7]
1741
+ vpmuldq %ymm1, %ymm8, %ymm14
1742
+ vpmuldq %ymm1, %ymm9, %ymm15
1743
+ vpmuldq %ymm2, %ymm4, %ymm4
1744
+ vpmuldq %ymm2, %ymm5, %ymm5
1745
+ vpmuldq %ymm2, %ymm8, %ymm8
1746
+ vpmuldq %ymm2, %ymm9, %ymm9
1747
+ vpmuldq %ymm0, %ymm12, %ymm12
1748
+ vpmuldq %ymm0, %ymm13, %ymm13
1749
+ vpmuldq %ymm0, %ymm14, %ymm14
1750
+ vpmuldq %ymm0, %ymm15, %ymm15
1751
+ vpsubd %ymm12, %ymm4, %ymm4
1752
+ vpsubd %ymm13, %ymm5, %ymm5
1753
+ vpsubd %ymm14, %ymm8, %ymm8
1754
+ vpsubd %ymm15, %ymm9, %ymm9
1755
+ vmovshdup %ymm4, %ymm4 # ymm4 = ymm4[1,1,3,3,5,5,7,7]
1756
+ vmovshdup %ymm5, %ymm5 # ymm5 = ymm5[1,1,3,3,5,5,7,7]
1757
+ vpblendd $0xaa, %ymm8, %ymm4, %ymm4 # ymm4 = ymm4[0],ymm8[1],ymm4[2],ymm8[3],ymm4[4],ymm8[5],ymm4[6],ymm8[7]
1758
+ vpblendd $0xaa, %ymm9, %ymm5, %ymm5 # ymm5 = ymm5[0],ymm9[1],ymm5[2],ymm9[3],ymm5[4],ymm9[5],ymm5[6],ymm9[7]
1759
+ vpmuldq %ymm1, %ymm6, %ymm12
1760
+ vpmuldq %ymm1, %ymm7, %ymm13
1761
+ vmovshdup %ymm6, %ymm8 # ymm8 = ymm6[1,1,3,3,5,5,7,7]
1762
+ vmovshdup %ymm7, %ymm9 # ymm9 = ymm7[1,1,3,3,5,5,7,7]
1763
+ vpmuldq %ymm1, %ymm8, %ymm14
1764
+ vpmuldq %ymm1, %ymm9, %ymm15
1765
+ vpmuldq %ymm2, %ymm6, %ymm6
1766
+ vpmuldq %ymm2, %ymm7, %ymm7
1767
+ vpmuldq %ymm2, %ymm8, %ymm8
1768
+ vpmuldq %ymm2, %ymm9, %ymm9
1769
+ vpmuldq %ymm0, %ymm12, %ymm12
1770
+ vpmuldq %ymm0, %ymm13, %ymm13
1771
+ vpmuldq %ymm0, %ymm14, %ymm14
1772
+ vpmuldq %ymm0, %ymm15, %ymm15
1773
+ vpsubd %ymm12, %ymm6, %ymm6
1774
+ vpsubd %ymm13, %ymm7, %ymm7
1775
+ vpsubd %ymm14, %ymm8, %ymm8
1776
+ vpsubd %ymm15, %ymm9, %ymm9
1777
+ vmovshdup %ymm6, %ymm6 # ymm6 = ymm6[1,1,3,3,5,5,7,7]
1778
+ vmovshdup %ymm7, %ymm7 # ymm7 = ymm7[1,1,3,3,5,5,7,7]
1779
+ vpblendd $0xaa, %ymm8, %ymm6, %ymm6 # ymm6 = ymm6[0],ymm8[1],ymm6[2],ymm8[3],ymm6[4],ymm8[5],ymm6[6],ymm8[7]
1780
+ vpblendd $0xaa, %ymm9, %ymm7, %ymm7 # ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[3],ymm7[4],ymm9[5],ymm7[6],ymm9[7]
1781
+ vmovdqa %ymm4, (%rdi)
1782
+ vmovdqa %ymm5, 0x80(%rdi)
1783
+ vmovdqa %ymm6, 0x100(%rdi)
1784
+ vmovdqa %ymm7, 0x180(%rdi)
1785
+ vmovdqa 0x20(%rdi), %ymm4
1786
+ vmovdqa 0xa0(%rdi), %ymm5
1787
+ vmovdqa 0x120(%rdi), %ymm6
1788
+ vmovdqa 0x1a0(%rdi), %ymm7
1789
+ vmovdqa 0x220(%rdi), %ymm8
1790
+ vmovdqa 0x2a0(%rdi), %ymm9
1791
+ vmovdqa 0x320(%rdi), %ymm10
1792
+ vmovdqa 0x3a0(%rdi), %ymm11
1793
+ vpbroadcastd 0x8c(%rsi), %ymm1
1794
+ vpbroadcastd 0x52c(%rsi), %ymm2
1795
+ vpsubd %ymm4, %ymm6, %ymm12
1796
+ vpaddd %ymm6, %ymm4, %ymm4
1797
+ vpmuldq %ymm1, %ymm12, %ymm13
1798
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
1799
+ vpmuldq %ymm1, %ymm6, %ymm14
1800
+ vpmuldq %ymm2, %ymm12, %ymm12
1801
+ vpmuldq %ymm2, %ymm6, %ymm6
1802
+ vpmuldq %ymm0, %ymm13, %ymm13
1803
+ vpmuldq %ymm0, %ymm14, %ymm14
1804
+ vpsubd %ymm13, %ymm12, %ymm12
1805
+ vpsubd %ymm14, %ymm6, %ymm6
1806
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1807
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
1808
+ vpsubd %ymm5, %ymm7, %ymm12
1809
+ vpaddd %ymm7, %ymm5, %ymm5
1810
+ vpmuldq %ymm1, %ymm12, %ymm13
1811
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1812
+ vpmuldq %ymm1, %ymm7, %ymm14
1813
+ vpmuldq %ymm2, %ymm12, %ymm12
1814
+ vpmuldq %ymm2, %ymm7, %ymm7
1815
+ vpmuldq %ymm0, %ymm13, %ymm13
1816
+ vpmuldq %ymm0, %ymm14, %ymm14
1817
+ vpsubd %ymm13, %ymm12, %ymm12
1818
+ vpsubd %ymm14, %ymm7, %ymm7
1819
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1820
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1821
+ vpbroadcastd 0x88(%rsi), %ymm1
1822
+ vpbroadcastd 0x528(%rsi), %ymm2
1823
+ vpsubd %ymm8, %ymm10, %ymm12
1824
+ vpaddd %ymm10, %ymm8, %ymm8
1825
+ vpmuldq %ymm1, %ymm12, %ymm13
1826
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1827
+ vpmuldq %ymm1, %ymm10, %ymm14
1828
+ vpmuldq %ymm2, %ymm12, %ymm12
1829
+ vpmuldq %ymm2, %ymm10, %ymm10
1830
+ vpmuldq %ymm0, %ymm13, %ymm13
1831
+ vpmuldq %ymm0, %ymm14, %ymm14
1832
+ vpsubd %ymm13, %ymm12, %ymm12
1833
+ vpsubd %ymm14, %ymm10, %ymm10
1834
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1835
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1836
+ vpsubd %ymm9, %ymm11, %ymm12
1837
+ vpaddd %ymm11, %ymm9, %ymm9
1838
+ vpmuldq %ymm1, %ymm12, %ymm13
1839
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1840
+ vpmuldq %ymm1, %ymm11, %ymm14
1841
+ vpmuldq %ymm2, %ymm12, %ymm12
1842
+ vpmuldq %ymm2, %ymm11, %ymm11
1843
+ vpmuldq %ymm0, %ymm13, %ymm13
1844
+ vpmuldq %ymm0, %ymm14, %ymm14
1845
+ vpsubd %ymm13, %ymm12, %ymm12
1846
+ vpsubd %ymm14, %ymm11, %ymm11
1847
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1848
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1849
+ vpbroadcastd 0x80(%rsi), %ymm1
1850
+ vpbroadcastd 0x520(%rsi), %ymm2
1851
+ vpsubd %ymm4, %ymm8, %ymm12
1852
+ vpaddd %ymm4, %ymm8, %ymm4
1853
+ vpmuldq %ymm1, %ymm12, %ymm13
1854
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
1855
+ vpmuldq %ymm1, %ymm8, %ymm14
1856
+ vpmuldq %ymm2, %ymm12, %ymm12
1857
+ vpmuldq %ymm2, %ymm8, %ymm8
1858
+ vpmuldq %ymm0, %ymm13, %ymm13
1859
+ vpmuldq %ymm0, %ymm14, %ymm14
1860
+ vpsubd %ymm13, %ymm12, %ymm12
1861
+ vpsubd %ymm14, %ymm8, %ymm8
1862
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1863
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
1864
+ vpsubd %ymm5, %ymm9, %ymm12
1865
+ vpaddd %ymm5, %ymm9, %ymm5
1866
+ vpmuldq %ymm1, %ymm12, %ymm13
1867
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
1868
+ vpmuldq %ymm1, %ymm9, %ymm14
1869
+ vpmuldq %ymm2, %ymm12, %ymm12
1870
+ vpmuldq %ymm2, %ymm9, %ymm9
1871
+ vpmuldq %ymm0, %ymm13, %ymm13
1872
+ vpmuldq %ymm0, %ymm14, %ymm14
1873
+ vpsubd %ymm13, %ymm12, %ymm12
1874
+ vpsubd %ymm14, %ymm9, %ymm9
1875
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1876
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
1877
+ vpsubd %ymm6, %ymm10, %ymm12
1878
+ vpaddd %ymm6, %ymm10, %ymm6
1879
+ vpmuldq %ymm1, %ymm12, %ymm13
1880
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1881
+ vpmuldq %ymm1, %ymm10, %ymm14
1882
+ vpmuldq %ymm2, %ymm12, %ymm12
1883
+ vpmuldq %ymm2, %ymm10, %ymm10
1884
+ vpmuldq %ymm0, %ymm13, %ymm13
1885
+ vpmuldq %ymm0, %ymm14, %ymm14
1886
+ vpsubd %ymm13, %ymm12, %ymm12
1887
+ vpsubd %ymm14, %ymm10, %ymm10
1888
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1889
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
1890
+ vpsubd %ymm7, %ymm11, %ymm12
1891
+ vpaddd %ymm7, %ymm11, %ymm7
1892
+ vpmuldq %ymm1, %ymm12, %ymm13
1893
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
1894
+ vpmuldq %ymm1, %ymm11, %ymm14
1895
+ vpmuldq %ymm2, %ymm12, %ymm12
1896
+ vpmuldq %ymm2, %ymm11, %ymm11
1897
+ vpmuldq %ymm0, %ymm13, %ymm13
1898
+ vpmuldq %ymm0, %ymm14, %ymm14
1899
+ vpsubd %ymm13, %ymm12, %ymm12
1900
+ vpsubd %ymm14, %ymm11, %ymm11
1901
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1902
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
1903
+ vmovdqa %ymm8, 0x220(%rdi)
1904
+ vmovdqa %ymm9, 0x2a0(%rdi)
1905
+ vmovdqa %ymm10, 0x320(%rdi)
1906
+ vmovdqa %ymm11, 0x3a0(%rdi)
1907
+ vmovdqa 0x40(%rsi), %ymm1
1908
+ vmovdqa 0x60(%rsi), %ymm2
1909
+ vpmuldq %ymm1, %ymm4, %ymm12
1910
+ vpmuldq %ymm1, %ymm5, %ymm13
1911
+ vmovshdup %ymm4, %ymm8 # ymm8 = ymm4[1,1,3,3,5,5,7,7]
1912
+ vmovshdup %ymm5, %ymm9 # ymm9 = ymm5[1,1,3,3,5,5,7,7]
1913
+ vpmuldq %ymm1, %ymm8, %ymm14
1914
+ vpmuldq %ymm1, %ymm9, %ymm15
1915
+ vpmuldq %ymm2, %ymm4, %ymm4
1916
+ vpmuldq %ymm2, %ymm5, %ymm5
1917
+ vpmuldq %ymm2, %ymm8, %ymm8
1918
+ vpmuldq %ymm2, %ymm9, %ymm9
1919
+ vpmuldq %ymm0, %ymm12, %ymm12
1920
+ vpmuldq %ymm0, %ymm13, %ymm13
1921
+ vpmuldq %ymm0, %ymm14, %ymm14
1922
+ vpmuldq %ymm0, %ymm15, %ymm15
1923
+ vpsubd %ymm12, %ymm4, %ymm4
1924
+ vpsubd %ymm13, %ymm5, %ymm5
1925
+ vpsubd %ymm14, %ymm8, %ymm8
1926
+ vpsubd %ymm15, %ymm9, %ymm9
1927
+ vmovshdup %ymm4, %ymm4 # ymm4 = ymm4[1,1,3,3,5,5,7,7]
1928
+ vmovshdup %ymm5, %ymm5 # ymm5 = ymm5[1,1,3,3,5,5,7,7]
1929
+ vpblendd $0xaa, %ymm8, %ymm4, %ymm4 # ymm4 = ymm4[0],ymm8[1],ymm4[2],ymm8[3],ymm4[4],ymm8[5],ymm4[6],ymm8[7]
1930
+ vpblendd $0xaa, %ymm9, %ymm5, %ymm5 # ymm5 = ymm5[0],ymm9[1],ymm5[2],ymm9[3],ymm5[4],ymm9[5],ymm5[6],ymm9[7]
1931
+ vpmuldq %ymm1, %ymm6, %ymm12
1932
+ vpmuldq %ymm1, %ymm7, %ymm13
1933
+ vmovshdup %ymm6, %ymm8 # ymm8 = ymm6[1,1,3,3,5,5,7,7]
1934
+ vmovshdup %ymm7, %ymm9 # ymm9 = ymm7[1,1,3,3,5,5,7,7]
1935
+ vpmuldq %ymm1, %ymm8, %ymm14
1936
+ vpmuldq %ymm1, %ymm9, %ymm15
1937
+ vpmuldq %ymm2, %ymm6, %ymm6
1938
+ vpmuldq %ymm2, %ymm7, %ymm7
1939
+ vpmuldq %ymm2, %ymm8, %ymm8
1940
+ vpmuldq %ymm2, %ymm9, %ymm9
1941
+ vpmuldq %ymm0, %ymm12, %ymm12
1942
+ vpmuldq %ymm0, %ymm13, %ymm13
1943
+ vpmuldq %ymm0, %ymm14, %ymm14
1944
+ vpmuldq %ymm0, %ymm15, %ymm15
1945
+ vpsubd %ymm12, %ymm6, %ymm6
1946
+ vpsubd %ymm13, %ymm7, %ymm7
1947
+ vpsubd %ymm14, %ymm8, %ymm8
1948
+ vpsubd %ymm15, %ymm9, %ymm9
1949
+ vmovshdup %ymm6, %ymm6 # ymm6 = ymm6[1,1,3,3,5,5,7,7]
1950
+ vmovshdup %ymm7, %ymm7 # ymm7 = ymm7[1,1,3,3,5,5,7,7]
1951
+ vpblendd $0xaa, %ymm8, %ymm6, %ymm6 # ymm6 = ymm6[0],ymm8[1],ymm6[2],ymm8[3],ymm6[4],ymm8[5],ymm6[6],ymm8[7]
1952
+ vpblendd $0xaa, %ymm9, %ymm7, %ymm7 # ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[3],ymm7[4],ymm9[5],ymm7[6],ymm9[7]
1953
+ vmovdqa %ymm4, 0x20(%rdi)
1954
+ vmovdqa %ymm5, 0xa0(%rdi)
1955
+ vmovdqa %ymm6, 0x120(%rdi)
1956
+ vmovdqa %ymm7, 0x1a0(%rdi)
1957
+ vmovdqa 0x40(%rdi), %ymm4
1958
+ vmovdqa 0xc0(%rdi), %ymm5
1959
+ vmovdqa 0x140(%rdi), %ymm6
1960
+ vmovdqa 0x1c0(%rdi), %ymm7
1961
+ vmovdqa 0x240(%rdi), %ymm8
1962
+ vmovdqa 0x2c0(%rdi), %ymm9
1963
+ vmovdqa 0x340(%rdi), %ymm10
1964
+ vmovdqa 0x3c0(%rdi), %ymm11
1965
+ vpbroadcastd 0x8c(%rsi), %ymm1
1966
+ vpbroadcastd 0x52c(%rsi), %ymm2
1967
+ vpsubd %ymm4, %ymm6, %ymm12
1968
+ vpaddd %ymm6, %ymm4, %ymm4
1969
+ vpmuldq %ymm1, %ymm12, %ymm13
1970
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
1971
+ vpmuldq %ymm1, %ymm6, %ymm14
1972
+ vpmuldq %ymm2, %ymm12, %ymm12
1973
+ vpmuldq %ymm2, %ymm6, %ymm6
1974
+ vpmuldq %ymm0, %ymm13, %ymm13
1975
+ vpmuldq %ymm0, %ymm14, %ymm14
1976
+ vpsubd %ymm13, %ymm12, %ymm12
1977
+ vpsubd %ymm14, %ymm6, %ymm6
1978
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1979
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
1980
+ vpsubd %ymm5, %ymm7, %ymm12
1981
+ vpaddd %ymm7, %ymm5, %ymm5
1982
+ vpmuldq %ymm1, %ymm12, %ymm13
1983
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
1984
+ vpmuldq %ymm1, %ymm7, %ymm14
1985
+ vpmuldq %ymm2, %ymm12, %ymm12
1986
+ vpmuldq %ymm2, %ymm7, %ymm7
1987
+ vpmuldq %ymm0, %ymm13, %ymm13
1988
+ vpmuldq %ymm0, %ymm14, %ymm14
1989
+ vpsubd %ymm13, %ymm12, %ymm12
1990
+ vpsubd %ymm14, %ymm7, %ymm7
1991
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
1992
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
1993
+ vpbroadcastd 0x88(%rsi), %ymm1
1994
+ vpbroadcastd 0x528(%rsi), %ymm2
1995
+ vpsubd %ymm8, %ymm10, %ymm12
1996
+ vpaddd %ymm10, %ymm8, %ymm8
1997
+ vpmuldq %ymm1, %ymm12, %ymm13
1998
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
1999
+ vpmuldq %ymm1, %ymm10, %ymm14
2000
+ vpmuldq %ymm2, %ymm12, %ymm12
2001
+ vpmuldq %ymm2, %ymm10, %ymm10
2002
+ vpmuldq %ymm0, %ymm13, %ymm13
2003
+ vpmuldq %ymm0, %ymm14, %ymm14
2004
+ vpsubd %ymm13, %ymm12, %ymm12
2005
+ vpsubd %ymm14, %ymm10, %ymm10
2006
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2007
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
2008
+ vpsubd %ymm9, %ymm11, %ymm12
2009
+ vpaddd %ymm11, %ymm9, %ymm9
2010
+ vpmuldq %ymm1, %ymm12, %ymm13
2011
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
2012
+ vpmuldq %ymm1, %ymm11, %ymm14
2013
+ vpmuldq %ymm2, %ymm12, %ymm12
2014
+ vpmuldq %ymm2, %ymm11, %ymm11
2015
+ vpmuldq %ymm0, %ymm13, %ymm13
2016
+ vpmuldq %ymm0, %ymm14, %ymm14
2017
+ vpsubd %ymm13, %ymm12, %ymm12
2018
+ vpsubd %ymm14, %ymm11, %ymm11
2019
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2020
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
2021
+ vpbroadcastd 0x80(%rsi), %ymm1
2022
+ vpbroadcastd 0x520(%rsi), %ymm2
2023
+ vpsubd %ymm4, %ymm8, %ymm12
2024
+ vpaddd %ymm4, %ymm8, %ymm4
2025
+ vpmuldq %ymm1, %ymm12, %ymm13
2026
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
2027
+ vpmuldq %ymm1, %ymm8, %ymm14
2028
+ vpmuldq %ymm2, %ymm12, %ymm12
2029
+ vpmuldq %ymm2, %ymm8, %ymm8
2030
+ vpmuldq %ymm0, %ymm13, %ymm13
2031
+ vpmuldq %ymm0, %ymm14, %ymm14
2032
+ vpsubd %ymm13, %ymm12, %ymm12
2033
+ vpsubd %ymm14, %ymm8, %ymm8
2034
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2035
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
2036
+ vpsubd %ymm5, %ymm9, %ymm12
2037
+ vpaddd %ymm5, %ymm9, %ymm5
2038
+ vpmuldq %ymm1, %ymm12, %ymm13
2039
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
2040
+ vpmuldq %ymm1, %ymm9, %ymm14
2041
+ vpmuldq %ymm2, %ymm12, %ymm12
2042
+ vpmuldq %ymm2, %ymm9, %ymm9
2043
+ vpmuldq %ymm0, %ymm13, %ymm13
2044
+ vpmuldq %ymm0, %ymm14, %ymm14
2045
+ vpsubd %ymm13, %ymm12, %ymm12
2046
+ vpsubd %ymm14, %ymm9, %ymm9
2047
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2048
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
2049
+ vpsubd %ymm6, %ymm10, %ymm12
2050
+ vpaddd %ymm6, %ymm10, %ymm6
2051
+ vpmuldq %ymm1, %ymm12, %ymm13
2052
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
2053
+ vpmuldq %ymm1, %ymm10, %ymm14
2054
+ vpmuldq %ymm2, %ymm12, %ymm12
2055
+ vpmuldq %ymm2, %ymm10, %ymm10
2056
+ vpmuldq %ymm0, %ymm13, %ymm13
2057
+ vpmuldq %ymm0, %ymm14, %ymm14
2058
+ vpsubd %ymm13, %ymm12, %ymm12
2059
+ vpsubd %ymm14, %ymm10, %ymm10
2060
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2061
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
2062
+ vpsubd %ymm7, %ymm11, %ymm12
2063
+ vpaddd %ymm7, %ymm11, %ymm7
2064
+ vpmuldq %ymm1, %ymm12, %ymm13
2065
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
2066
+ vpmuldq %ymm1, %ymm11, %ymm14
2067
+ vpmuldq %ymm2, %ymm12, %ymm12
2068
+ vpmuldq %ymm2, %ymm11, %ymm11
2069
+ vpmuldq %ymm0, %ymm13, %ymm13
2070
+ vpmuldq %ymm0, %ymm14, %ymm14
2071
+ vpsubd %ymm13, %ymm12, %ymm12
2072
+ vpsubd %ymm14, %ymm11, %ymm11
2073
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2074
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
2075
+ vmovdqa %ymm8, 0x240(%rdi)
2076
+ vmovdqa %ymm9, 0x2c0(%rdi)
2077
+ vmovdqa %ymm10, 0x340(%rdi)
2078
+ vmovdqa %ymm11, 0x3c0(%rdi)
2079
+ vmovdqa 0x40(%rsi), %ymm1
2080
+ vmovdqa 0x60(%rsi), %ymm2
2081
+ vpmuldq %ymm1, %ymm4, %ymm12
2082
+ vpmuldq %ymm1, %ymm5, %ymm13
2083
+ vmovshdup %ymm4, %ymm8 # ymm8 = ymm4[1,1,3,3,5,5,7,7]
2084
+ vmovshdup %ymm5, %ymm9 # ymm9 = ymm5[1,1,3,3,5,5,7,7]
2085
+ vpmuldq %ymm1, %ymm8, %ymm14
2086
+ vpmuldq %ymm1, %ymm9, %ymm15
2087
+ vpmuldq %ymm2, %ymm4, %ymm4
2088
+ vpmuldq %ymm2, %ymm5, %ymm5
2089
+ vpmuldq %ymm2, %ymm8, %ymm8
2090
+ vpmuldq %ymm2, %ymm9, %ymm9
2091
+ vpmuldq %ymm0, %ymm12, %ymm12
2092
+ vpmuldq %ymm0, %ymm13, %ymm13
2093
+ vpmuldq %ymm0, %ymm14, %ymm14
2094
+ vpmuldq %ymm0, %ymm15, %ymm15
2095
+ vpsubd %ymm12, %ymm4, %ymm4
2096
+ vpsubd %ymm13, %ymm5, %ymm5
2097
+ vpsubd %ymm14, %ymm8, %ymm8
2098
+ vpsubd %ymm15, %ymm9, %ymm9
2099
+ vmovshdup %ymm4, %ymm4 # ymm4 = ymm4[1,1,3,3,5,5,7,7]
2100
+ vmovshdup %ymm5, %ymm5 # ymm5 = ymm5[1,1,3,3,5,5,7,7]
2101
+ vpblendd $0xaa, %ymm8, %ymm4, %ymm4 # ymm4 = ymm4[0],ymm8[1],ymm4[2],ymm8[3],ymm4[4],ymm8[5],ymm4[6],ymm8[7]
2102
+ vpblendd $0xaa, %ymm9, %ymm5, %ymm5 # ymm5 = ymm5[0],ymm9[1],ymm5[2],ymm9[3],ymm5[4],ymm9[5],ymm5[6],ymm9[7]
2103
+ vpmuldq %ymm1, %ymm6, %ymm12
2104
+ vpmuldq %ymm1, %ymm7, %ymm13
2105
+ vmovshdup %ymm6, %ymm8 # ymm8 = ymm6[1,1,3,3,5,5,7,7]
2106
+ vmovshdup %ymm7, %ymm9 # ymm9 = ymm7[1,1,3,3,5,5,7,7]
2107
+ vpmuldq %ymm1, %ymm8, %ymm14
2108
+ vpmuldq %ymm1, %ymm9, %ymm15
2109
+ vpmuldq %ymm2, %ymm6, %ymm6
2110
+ vpmuldq %ymm2, %ymm7, %ymm7
2111
+ vpmuldq %ymm2, %ymm8, %ymm8
2112
+ vpmuldq %ymm2, %ymm9, %ymm9
2113
+ vpmuldq %ymm0, %ymm12, %ymm12
2114
+ vpmuldq %ymm0, %ymm13, %ymm13
2115
+ vpmuldq %ymm0, %ymm14, %ymm14
2116
+ vpmuldq %ymm0, %ymm15, %ymm15
2117
+ vpsubd %ymm12, %ymm6, %ymm6
2118
+ vpsubd %ymm13, %ymm7, %ymm7
2119
+ vpsubd %ymm14, %ymm8, %ymm8
2120
+ vpsubd %ymm15, %ymm9, %ymm9
2121
+ vmovshdup %ymm6, %ymm6 # ymm6 = ymm6[1,1,3,3,5,5,7,7]
2122
+ vmovshdup %ymm7, %ymm7 # ymm7 = ymm7[1,1,3,3,5,5,7,7]
2123
+ vpblendd $0xaa, %ymm8, %ymm6, %ymm6 # ymm6 = ymm6[0],ymm8[1],ymm6[2],ymm8[3],ymm6[4],ymm8[5],ymm6[6],ymm8[7]
2124
+ vpblendd $0xaa, %ymm9, %ymm7, %ymm7 # ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[3],ymm7[4],ymm9[5],ymm7[6],ymm9[7]
2125
+ vmovdqa %ymm4, 0x40(%rdi)
2126
+ vmovdqa %ymm5, 0xc0(%rdi)
2127
+ vmovdqa %ymm6, 0x140(%rdi)
2128
+ vmovdqa %ymm7, 0x1c0(%rdi)
2129
+ vmovdqa 0x60(%rdi), %ymm4
2130
+ vmovdqa 0xe0(%rdi), %ymm5
2131
+ vmovdqa 0x160(%rdi), %ymm6
2132
+ vmovdqa 0x1e0(%rdi), %ymm7
2133
+ vmovdqa 0x260(%rdi), %ymm8
2134
+ vmovdqa 0x2e0(%rdi), %ymm9
2135
+ vmovdqa 0x360(%rdi), %ymm10
2136
+ vmovdqa 0x3e0(%rdi), %ymm11
2137
+ vpbroadcastd 0x8c(%rsi), %ymm1
2138
+ vpbroadcastd 0x52c(%rsi), %ymm2
2139
+ vpsubd %ymm4, %ymm6, %ymm12
2140
+ vpaddd %ymm6, %ymm4, %ymm4
2141
+ vpmuldq %ymm1, %ymm12, %ymm13
2142
+ vmovshdup %ymm12, %ymm6 # ymm6 = ymm12[1,1,3,3,5,5,7,7]
2143
+ vpmuldq %ymm1, %ymm6, %ymm14
2144
+ vpmuldq %ymm2, %ymm12, %ymm12
2145
+ vpmuldq %ymm2, %ymm6, %ymm6
2146
+ vpmuldq %ymm0, %ymm13, %ymm13
2147
+ vpmuldq %ymm0, %ymm14, %ymm14
2148
+ vpsubd %ymm13, %ymm12, %ymm12
2149
+ vpsubd %ymm14, %ymm6, %ymm6
2150
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2151
+ vpblendd $0xaa, %ymm6, %ymm12, %ymm6 # ymm6 = ymm12[0],ymm6[1],ymm12[2],ymm6[3],ymm12[4],ymm6[5],ymm12[6],ymm6[7]
2152
+ vpsubd %ymm5, %ymm7, %ymm12
2153
+ vpaddd %ymm7, %ymm5, %ymm5
2154
+ vpmuldq %ymm1, %ymm12, %ymm13
2155
+ vmovshdup %ymm12, %ymm7 # ymm7 = ymm12[1,1,3,3,5,5,7,7]
2156
+ vpmuldq %ymm1, %ymm7, %ymm14
2157
+ vpmuldq %ymm2, %ymm12, %ymm12
2158
+ vpmuldq %ymm2, %ymm7, %ymm7
2159
+ vpmuldq %ymm0, %ymm13, %ymm13
2160
+ vpmuldq %ymm0, %ymm14, %ymm14
2161
+ vpsubd %ymm13, %ymm12, %ymm12
2162
+ vpsubd %ymm14, %ymm7, %ymm7
2163
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2164
+ vpblendd $0xaa, %ymm7, %ymm12, %ymm7 # ymm7 = ymm12[0],ymm7[1],ymm12[2],ymm7[3],ymm12[4],ymm7[5],ymm12[6],ymm7[7]
2165
+ vpbroadcastd 0x88(%rsi), %ymm1
2166
+ vpbroadcastd 0x528(%rsi), %ymm2
2167
+ vpsubd %ymm8, %ymm10, %ymm12
2168
+ vpaddd %ymm10, %ymm8, %ymm8
2169
+ vpmuldq %ymm1, %ymm12, %ymm13
2170
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
2171
+ vpmuldq %ymm1, %ymm10, %ymm14
2172
+ vpmuldq %ymm2, %ymm12, %ymm12
2173
+ vpmuldq %ymm2, %ymm10, %ymm10
2174
+ vpmuldq %ymm0, %ymm13, %ymm13
2175
+ vpmuldq %ymm0, %ymm14, %ymm14
2176
+ vpsubd %ymm13, %ymm12, %ymm12
2177
+ vpsubd %ymm14, %ymm10, %ymm10
2178
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2179
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
2180
+ vpsubd %ymm9, %ymm11, %ymm12
2181
+ vpaddd %ymm11, %ymm9, %ymm9
2182
+ vpmuldq %ymm1, %ymm12, %ymm13
2183
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
2184
+ vpmuldq %ymm1, %ymm11, %ymm14
2185
+ vpmuldq %ymm2, %ymm12, %ymm12
2186
+ vpmuldq %ymm2, %ymm11, %ymm11
2187
+ vpmuldq %ymm0, %ymm13, %ymm13
2188
+ vpmuldq %ymm0, %ymm14, %ymm14
2189
+ vpsubd %ymm13, %ymm12, %ymm12
2190
+ vpsubd %ymm14, %ymm11, %ymm11
2191
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2192
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
2193
+ vpbroadcastd 0x80(%rsi), %ymm1
2194
+ vpbroadcastd 0x520(%rsi), %ymm2
2195
+ vpsubd %ymm4, %ymm8, %ymm12
2196
+ vpaddd %ymm4, %ymm8, %ymm4
2197
+ vpmuldq %ymm1, %ymm12, %ymm13
2198
+ vmovshdup %ymm12, %ymm8 # ymm8 = ymm12[1,1,3,3,5,5,7,7]
2199
+ vpmuldq %ymm1, %ymm8, %ymm14
2200
+ vpmuldq %ymm2, %ymm12, %ymm12
2201
+ vpmuldq %ymm2, %ymm8, %ymm8
2202
+ vpmuldq %ymm0, %ymm13, %ymm13
2203
+ vpmuldq %ymm0, %ymm14, %ymm14
2204
+ vpsubd %ymm13, %ymm12, %ymm12
2205
+ vpsubd %ymm14, %ymm8, %ymm8
2206
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2207
+ vpblendd $0xaa, %ymm8, %ymm12, %ymm8 # ymm8 = ymm12[0],ymm8[1],ymm12[2],ymm8[3],ymm12[4],ymm8[5],ymm12[6],ymm8[7]
2208
+ vpsubd %ymm5, %ymm9, %ymm12
2209
+ vpaddd %ymm5, %ymm9, %ymm5
2210
+ vpmuldq %ymm1, %ymm12, %ymm13
2211
+ vmovshdup %ymm12, %ymm9 # ymm9 = ymm12[1,1,3,3,5,5,7,7]
2212
+ vpmuldq %ymm1, %ymm9, %ymm14
2213
+ vpmuldq %ymm2, %ymm12, %ymm12
2214
+ vpmuldq %ymm2, %ymm9, %ymm9
2215
+ vpmuldq %ymm0, %ymm13, %ymm13
2216
+ vpmuldq %ymm0, %ymm14, %ymm14
2217
+ vpsubd %ymm13, %ymm12, %ymm12
2218
+ vpsubd %ymm14, %ymm9, %ymm9
2219
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2220
+ vpblendd $0xaa, %ymm9, %ymm12, %ymm9 # ymm9 = ymm12[0],ymm9[1],ymm12[2],ymm9[3],ymm12[4],ymm9[5],ymm12[6],ymm9[7]
2221
+ vpsubd %ymm6, %ymm10, %ymm12
2222
+ vpaddd %ymm6, %ymm10, %ymm6
2223
+ vpmuldq %ymm1, %ymm12, %ymm13
2224
+ vmovshdup %ymm12, %ymm10 # ymm10 = ymm12[1,1,3,3,5,5,7,7]
2225
+ vpmuldq %ymm1, %ymm10, %ymm14
2226
+ vpmuldq %ymm2, %ymm12, %ymm12
2227
+ vpmuldq %ymm2, %ymm10, %ymm10
2228
+ vpmuldq %ymm0, %ymm13, %ymm13
2229
+ vpmuldq %ymm0, %ymm14, %ymm14
2230
+ vpsubd %ymm13, %ymm12, %ymm12
2231
+ vpsubd %ymm14, %ymm10, %ymm10
2232
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2233
+ vpblendd $0xaa, %ymm10, %ymm12, %ymm10 # ymm10 = ymm12[0],ymm10[1],ymm12[2],ymm10[3],ymm12[4],ymm10[5],ymm12[6],ymm10[7]
2234
+ vpsubd %ymm7, %ymm11, %ymm12
2235
+ vpaddd %ymm7, %ymm11, %ymm7
2236
+ vpmuldq %ymm1, %ymm12, %ymm13
2237
+ vmovshdup %ymm12, %ymm11 # ymm11 = ymm12[1,1,3,3,5,5,7,7]
2238
+ vpmuldq %ymm1, %ymm11, %ymm14
2239
+ vpmuldq %ymm2, %ymm12, %ymm12
2240
+ vpmuldq %ymm2, %ymm11, %ymm11
2241
+ vpmuldq %ymm0, %ymm13, %ymm13
2242
+ vpmuldq %ymm0, %ymm14, %ymm14
2243
+ vpsubd %ymm13, %ymm12, %ymm12
2244
+ vpsubd %ymm14, %ymm11, %ymm11
2245
+ vmovshdup %ymm12, %ymm12 # ymm12 = ymm12[1,1,3,3,5,5,7,7]
2246
+ vpblendd $0xaa, %ymm11, %ymm12, %ymm11 # ymm11 = ymm12[0],ymm11[1],ymm12[2],ymm11[3],ymm12[4],ymm11[5],ymm12[6],ymm11[7]
2247
+ vmovdqa %ymm8, 0x260(%rdi)
2248
+ vmovdqa %ymm9, 0x2e0(%rdi)
2249
+ vmovdqa %ymm10, 0x360(%rdi)
2250
+ vmovdqa %ymm11, 0x3e0(%rdi)
2251
+ vmovdqa 0x40(%rsi), %ymm1
2252
+ vmovdqa 0x60(%rsi), %ymm2
2253
+ vpmuldq %ymm1, %ymm4, %ymm12
2254
+ vpmuldq %ymm1, %ymm5, %ymm13
2255
+ vmovshdup %ymm4, %ymm8 # ymm8 = ymm4[1,1,3,3,5,5,7,7]
2256
+ vmovshdup %ymm5, %ymm9 # ymm9 = ymm5[1,1,3,3,5,5,7,7]
2257
+ vpmuldq %ymm1, %ymm8, %ymm14
2258
+ vpmuldq %ymm1, %ymm9, %ymm15
2259
+ vpmuldq %ymm2, %ymm4, %ymm4
2260
+ vpmuldq %ymm2, %ymm5, %ymm5
2261
+ vpmuldq %ymm2, %ymm8, %ymm8
2262
+ vpmuldq %ymm2, %ymm9, %ymm9
2263
+ vpmuldq %ymm0, %ymm12, %ymm12
2264
+ vpmuldq %ymm0, %ymm13, %ymm13
2265
+ vpmuldq %ymm0, %ymm14, %ymm14
2266
+ vpmuldq %ymm0, %ymm15, %ymm15
2267
+ vpsubd %ymm12, %ymm4, %ymm4
2268
+ vpsubd %ymm13, %ymm5, %ymm5
2269
+ vpsubd %ymm14, %ymm8, %ymm8
2270
+ vpsubd %ymm15, %ymm9, %ymm9
2271
+ vmovshdup %ymm4, %ymm4 # ymm4 = ymm4[1,1,3,3,5,5,7,7]
2272
+ vmovshdup %ymm5, %ymm5 # ymm5 = ymm5[1,1,3,3,5,5,7,7]
2273
+ vpblendd $0xaa, %ymm8, %ymm4, %ymm4 # ymm4 = ymm4[0],ymm8[1],ymm4[2],ymm8[3],ymm4[4],ymm8[5],ymm4[6],ymm8[7]
2274
+ vpblendd $0xaa, %ymm9, %ymm5, %ymm5 # ymm5 = ymm5[0],ymm9[1],ymm5[2],ymm9[3],ymm5[4],ymm9[5],ymm5[6],ymm9[7]
2275
+ vpmuldq %ymm1, %ymm6, %ymm12
2276
+ vpmuldq %ymm1, %ymm7, %ymm13
2277
+ vmovshdup %ymm6, %ymm8 # ymm8 = ymm6[1,1,3,3,5,5,7,7]
2278
+ vmovshdup %ymm7, %ymm9 # ymm9 = ymm7[1,1,3,3,5,5,7,7]
2279
+ vpmuldq %ymm1, %ymm8, %ymm14
2280
+ vpmuldq %ymm1, %ymm9, %ymm15
2281
+ vpmuldq %ymm2, %ymm6, %ymm6
2282
+ vpmuldq %ymm2, %ymm7, %ymm7
2283
+ vpmuldq %ymm2, %ymm8, %ymm8
2284
+ vpmuldq %ymm2, %ymm9, %ymm9
2285
+ vpmuldq %ymm0, %ymm12, %ymm12
2286
+ vpmuldq %ymm0, %ymm13, %ymm13
2287
+ vpmuldq %ymm0, %ymm14, %ymm14
2288
+ vpmuldq %ymm0, %ymm15, %ymm15
2289
+ vpsubd %ymm12, %ymm6, %ymm6
2290
+ vpsubd %ymm13, %ymm7, %ymm7
2291
+ vpsubd %ymm14, %ymm8, %ymm8
2292
+ vpsubd %ymm15, %ymm9, %ymm9
2293
+ vmovshdup %ymm6, %ymm6 # ymm6 = ymm6[1,1,3,3,5,5,7,7]
2294
+ vmovshdup %ymm7, %ymm7 # ymm7 = ymm7[1,1,3,3,5,5,7,7]
2295
+ vpblendd $0xaa, %ymm8, %ymm6, %ymm6 # ymm6 = ymm6[0],ymm8[1],ymm6[2],ymm8[3],ymm6[4],ymm8[5],ymm6[6],ymm8[7]
2296
+ vpblendd $0xaa, %ymm9, %ymm7, %ymm7 # ymm7 = ymm7[0],ymm9[1],ymm7[2],ymm9[3],ymm7[4],ymm9[5],ymm7[6],ymm9[7]
2297
+ vmovdqa %ymm4, 0x60(%rdi)
2298
+ vmovdqa %ymm5, 0xe0(%rdi)
2299
+ vmovdqa %ymm6, 0x160(%rdi)
2300
+ vmovdqa %ymm7, 0x1e0(%rdi)
2301
+ retq
2302
+ .cfi_endproc
2303
+
2304
+ MLD_ASM_FN_SIZE(invntt_avx2_asm)
2305
+
2306
+ #endif /* MLD_ARITH_BACKEND_X86_64_DEFAULT && !MLD_CONFIG_MULTILEVEL_NO_SHARED \
2307
+ */
2308
+
2309
+ #if defined(__ELF__)
2310
+ .section .note.GNU-stack,"",%progbits
2311
+ #endif