pq_crypto 0.4.2 → 0.5.1

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