mldsa_gh 0.1.0

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