xcodebuild-helper 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +20 -0
  3. data/.gitignore +1 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +7 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +110 -0
  8. data/Guardfile +18 -0
  9. data/README.md +7 -0
  10. data/Rakefile +7 -0
  11. data/TODO.md +3 -0
  12. data/bin/oclint +5 -0
  13. data/bin/oclint-0.8 +5 -0
  14. data/bin/oclint-json-compilation-database +5 -0
  15. data/bin/oclint-xcodebuild +5 -0
  16. data/externals/oclint/LICENSE +69 -0
  17. data/externals/oclint/bin/oclint +0 -0
  18. data/externals/oclint/bin/oclint-0.10.2 +0 -0
  19. data/externals/oclint/bin/oclint-json-compilation-database +88 -0
  20. data/externals/oclint/bin/oclint-xcodebuild +218 -0
  21. data/externals/oclint/lib/clang/3.7.0/asan_blacklist.txt +13 -0
  22. data/externals/oclint/lib/clang/3.7.0/include/Intrin.h +958 -0
  23. data/externals/oclint/lib/clang/3.7.0/include/__stddef_max_align_t.h +43 -0
  24. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_aes.h +72 -0
  25. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_pclmul.h +34 -0
  26. data/externals/oclint/lib/clang/3.7.0/include/adxintrin.h +88 -0
  27. data/externals/oclint/lib/clang/3.7.0/include/altivec.h +13528 -0
  28. data/externals/oclint/lib/clang/3.7.0/include/ammintrin.h +215 -0
  29. data/externals/oclint/lib/clang/3.7.0/include/arm_acle.h +304 -0
  30. data/externals/oclint/lib/clang/3.7.0/include/arm_neon.h +68419 -0
  31. data/externals/oclint/lib/clang/3.7.0/include/avx2intrin.h +1256 -0
  32. data/externals/oclint/lib/clang/3.7.0/include/avx512bwintrin.h +1250 -0
  33. data/externals/oclint/lib/clang/3.7.0/include/avx512cdintrin.h +131 -0
  34. data/externals/oclint/lib/clang/3.7.0/include/avx512dqintrin.h +242 -0
  35. data/externals/oclint/lib/clang/3.7.0/include/avx512erintrin.h +285 -0
  36. data/externals/oclint/lib/clang/3.7.0/include/avx512fintrin.h +2457 -0
  37. data/externals/oclint/lib/clang/3.7.0/include/avx512vlbwintrin.h +1907 -0
  38. data/externals/oclint/lib/clang/3.7.0/include/avx512vldqintrin.h +353 -0
  39. data/externals/oclint/lib/clang/3.7.0/include/avx512vlintrin.h +1982 -0
  40. data/externals/oclint/lib/clang/3.7.0/include/avxintrin.h +1308 -0
  41. data/externals/oclint/lib/clang/3.7.0/include/bmi2intrin.h +99 -0
  42. data/externals/oclint/lib/clang/3.7.0/include/bmiintrin.h +153 -0
  43. data/externals/oclint/lib/clang/3.7.0/include/cpuid.h +209 -0
  44. data/externals/oclint/lib/clang/3.7.0/include/cuda_builtin_vars.h +110 -0
  45. data/externals/oclint/lib/clang/3.7.0/include/emmintrin.h +1480 -0
  46. data/externals/oclint/lib/clang/3.7.0/include/f16cintrin.h +63 -0
  47. data/externals/oclint/lib/clang/3.7.0/include/float.h +124 -0
  48. data/externals/oclint/lib/clang/3.7.0/include/fma4intrin.h +236 -0
  49. data/externals/oclint/lib/clang/3.7.0/include/fmaintrin.h +234 -0
  50. data/externals/oclint/lib/clang/3.7.0/include/fxsrintrin.h +55 -0
  51. data/externals/oclint/lib/clang/3.7.0/include/htmintrin.h +226 -0
  52. data/externals/oclint/lib/clang/3.7.0/include/htmxlintrin.h +363 -0
  53. data/externals/oclint/lib/clang/3.7.0/include/ia32intrin.h +101 -0
  54. data/externals/oclint/lib/clang/3.7.0/include/immintrin.h +203 -0
  55. data/externals/oclint/lib/clang/3.7.0/include/inttypes.h +102 -0
  56. data/externals/oclint/lib/clang/3.7.0/include/iso646.h +43 -0
  57. data/externals/oclint/lib/clang/3.7.0/include/limits.h +118 -0
  58. data/externals/oclint/lib/clang/3.7.0/include/lzcntintrin.h +72 -0
  59. data/externals/oclint/lib/clang/3.7.0/include/mm3dnow.h +167 -0
  60. data/externals/oclint/lib/clang/3.7.0/include/mm_malloc.h +75 -0
  61. data/externals/oclint/lib/clang/3.7.0/include/mmintrin.h +507 -0
  62. data/externals/oclint/lib/clang/3.7.0/include/module.modulemap +196 -0
  63. data/externals/oclint/lib/clang/3.7.0/include/nmmintrin.h +35 -0
  64. data/externals/oclint/lib/clang/3.7.0/include/pmmintrin.h +122 -0
  65. data/externals/oclint/lib/clang/3.7.0/include/popcntintrin.h +50 -0
  66. data/externals/oclint/lib/clang/3.7.0/include/prfchwintrin.h +39 -0
  67. data/externals/oclint/lib/clang/3.7.0/include/rdseedintrin.h +59 -0
  68. data/externals/oclint/lib/clang/3.7.0/include/rtmintrin.h +59 -0
  69. data/externals/oclint/lib/clang/3.7.0/include/s390intrin.h +39 -0
  70. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/allocator_interface.h +66 -0
  71. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/asan_interface.h +155 -0
  72. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h +118 -0
  73. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/coverage_interface.h +63 -0
  74. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h +114 -0
  75. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h +3070 -0
  76. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/lsan_interface.h +84 -0
  77. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/msan_interface.h +107 -0
  78. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h +222 -0
  79. data/externals/oclint/lib/clang/3.7.0/include/shaintrin.h +79 -0
  80. data/externals/oclint/lib/clang/3.7.0/include/smmintrin.h +487 -0
  81. data/externals/oclint/lib/clang/3.7.0/include/stdalign.h +35 -0
  82. data/externals/oclint/lib/clang/3.7.0/include/stdarg.h +52 -0
  83. data/externals/oclint/lib/clang/3.7.0/include/stdatomic.h +190 -0
  84. data/externals/oclint/lib/clang/3.7.0/include/stdbool.h +44 -0
  85. data/externals/oclint/lib/clang/3.7.0/include/stddef.h +137 -0
  86. data/externals/oclint/lib/clang/3.7.0/include/stdint.h +707 -0
  87. data/externals/oclint/lib/clang/3.7.0/include/stdnoreturn.h +30 -0
  88. data/externals/oclint/lib/clang/3.7.0/include/tbmintrin.h +154 -0
  89. data/externals/oclint/lib/clang/3.7.0/include/tgmath.h +1374 -0
  90. data/externals/oclint/lib/clang/3.7.0/include/tmmintrin.h +230 -0
  91. data/externals/oclint/lib/clang/3.7.0/include/unwind.h +282 -0
  92. data/externals/oclint/lib/clang/3.7.0/include/vadefs.h +65 -0
  93. data/externals/oclint/lib/clang/3.7.0/include/varargs.h +26 -0
  94. data/externals/oclint/lib/clang/3.7.0/include/vecintrin.h +8946 -0
  95. data/externals/oclint/lib/clang/3.7.0/include/wmmintrin.h +42 -0
  96. data/externals/oclint/lib/clang/3.7.0/include/x86intrin.h +81 -0
  97. data/externals/oclint/lib/clang/3.7.0/include/xmmintrin.h +1008 -0
  98. data/externals/oclint/lib/clang/3.7.0/include/xopintrin.h +809 -0
  99. data/externals/oclint/lib/clang/3.7.0/include/xtestintrin.h +41 -0
  100. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  101. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  102. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-i386.a +0 -0
  103. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-x86_64.a +0 -0
  104. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.profile_osx.a +0 -0
  105. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.safestack_osx.a +0 -0
  106. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  107. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  108. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  109. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  110. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  111. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  112. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  113. data/externals/oclint/lib/oclint/reporters/libXcodeReporter.dylib +0 -0
  114. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libAvoidDefaultArgumentsOnVirtualMethodsRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libAvoidPrivateStaticMembersRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libBaseClassDestructorShouldBeVirtualOrProtectedRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libCoveredSwitchStatementsDontNeedDefaultRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libDestructorOfVirtualClassRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  134. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  135. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  136. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  137. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  138. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  139. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  140. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  141. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  142. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  143. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  144. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  145. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  146. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  147. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  148. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  149. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  150. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  151. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  152. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  153. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  154. data/externals/oclint/lib/oclint/rules/libObjCAssignIvarOutsideAccessorsRule.dylib +0 -0
  155. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  156. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  157. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  158. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  159. data/externals/oclint/lib/oclint/rules/libObjCVerifyIsEqualHashRule.dylib +0 -0
  160. data/externals/oclint/lib/oclint/rules/libObjCVerifyMustCallSuperRule.dylib +0 -0
  161. data/externals/oclint/lib/oclint/rules/libObjCVerifyProhibitedCallRule.dylib +0 -0
  162. data/externals/oclint/lib/oclint/rules/libObjCVerifyProtectedMethodRule.dylib +0 -0
  163. data/externals/oclint/lib/oclint/rules/libObjCVerifySubclassMustImplementRule.dylib +0 -0
  164. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  165. data/externals/oclint/lib/oclint/rules/libPreferEarlyExitRule.dylib +0 -0
  166. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  167. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  168. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  169. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  170. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  171. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  172. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  173. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  174. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  175. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  176. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  177. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  178. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  179. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  180. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  181. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  182. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  183. data/lib/coverage_plan.rb +19 -0
  184. data/lib/device.rb +27 -0
  185. data/lib/execute.rb +7 -0
  186. data/lib/lint_plan.rb +41 -0
  187. data/lib/rules.rb +23 -0
  188. data/lib/test_plan.rb +11 -0
  189. data/lib/version.rb +3 -0
  190. data/lib/xcode.rb +128 -0
  191. data/lib/xcodebuild-helper.rb +110 -0
  192. data/spec/coverage_plan_spec.rb +18 -0
  193. data/spec/device_spec.rb +24 -0
  194. data/spec/lint_plan_spec.rb +35 -0
  195. data/spec/rule_spec.rb +37 -0
  196. data/spec/spec_helper.rb +17 -0
  197. data/spec/test_plan_spec.rb +11 -0
  198. data/spec/xcode_dsl_actions_spec.rb +136 -0
  199. data/spec/xcode_dsl_spec.rb +176 -0
  200. data/spec/xcode_spec.rb +79 -0
  201. data/xcodebuild-helper.gemspec +26 -0
  202. metadata +327 -0
@@ -0,0 +1,1250 @@
1
+ /*===------------- avx512bwintrin.h - AVX512BW intrinsics ------------------===
2
+ *
3
+ *
4
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ * of this software and associated documentation files (the "Software"), to deal
6
+ * in the Software without restriction, including without limitation the rights
7
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ * copies of the Software, and to permit persons to whom the Software is
9
+ * furnished to do so, subject to the following conditions:
10
+ *
11
+ * The above copyright notice and this permission notice shall be included in
12
+ * all copies or substantial portions of the Software.
13
+ *
14
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ * THE SOFTWARE.
21
+ *
22
+ *===-----------------------------------------------------------------------===
23
+ */
24
+ #ifndef __IMMINTRIN_H
25
+ #error "Never use <avx512bwintrin.h> directly; include <immintrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef __AVX512BWINTRIN_H
29
+ #define __AVX512BWINTRIN_H
30
+
31
+ typedef unsigned int __mmask32;
32
+ typedef unsigned long long __mmask64;
33
+ typedef char __v64qi __attribute__ ((__vector_size__ (64)));
34
+ typedef short __v32hi __attribute__ ((__vector_size__ (64)));
35
+
36
+ /* Define the default attributes for the functions in this file. */
37
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
38
+
39
+ static __inline __v64qi __DEFAULT_FN_ATTRS
40
+ _mm512_setzero_qi (void) {
41
+ return (__v64qi){ 0, 0, 0, 0, 0, 0, 0, 0,
42
+ 0, 0, 0, 0, 0, 0, 0, 0,
43
+ 0, 0, 0, 0, 0, 0, 0, 0,
44
+ 0, 0, 0, 0, 0, 0, 0, 0,
45
+ 0, 0, 0, 0, 0, 0, 0, 0,
46
+ 0, 0, 0, 0, 0, 0, 0, 0,
47
+ 0, 0, 0, 0, 0, 0, 0, 0,
48
+ 0, 0, 0, 0, 0, 0, 0, 0 };
49
+ }
50
+
51
+ static __inline __v32hi __DEFAULT_FN_ATTRS
52
+ _mm512_setzero_hi (void) {
53
+ return (__v32hi){ 0, 0, 0, 0, 0, 0, 0, 0,
54
+ 0, 0, 0, 0, 0, 0, 0, 0,
55
+ 0, 0, 0, 0, 0, 0, 0, 0,
56
+ 0, 0, 0, 0, 0, 0, 0, 0 };
57
+ }
58
+
59
+ /* Integer compare */
60
+
61
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
62
+ _mm512_cmpeq_epi8_mask(__m512i __a, __m512i __b) {
63
+ return (__mmask64)__builtin_ia32_pcmpeqb512_mask((__v64qi)__a, (__v64qi)__b,
64
+ (__mmask64)-1);
65
+ }
66
+
67
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
68
+ _mm512_mask_cmpeq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
69
+ return (__mmask64)__builtin_ia32_pcmpeqb512_mask((__v64qi)__a, (__v64qi)__b,
70
+ __u);
71
+ }
72
+
73
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
74
+ _mm512_cmpeq_epu8_mask(__m512i __a, __m512i __b) {
75
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 0,
76
+ (__mmask64)-1);
77
+ }
78
+
79
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
80
+ _mm512_mask_cmpeq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
81
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 0,
82
+ __u);
83
+ }
84
+
85
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
86
+ _mm512_cmpeq_epi16_mask(__m512i __a, __m512i __b) {
87
+ return (__mmask32)__builtin_ia32_pcmpeqw512_mask((__v32hi)__a, (__v32hi)__b,
88
+ (__mmask32)-1);
89
+ }
90
+
91
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
92
+ _mm512_mask_cmpeq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
93
+ return (__mmask32)__builtin_ia32_pcmpeqw512_mask((__v32hi)__a, (__v32hi)__b,
94
+ __u);
95
+ }
96
+
97
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
98
+ _mm512_cmpeq_epu16_mask(__m512i __a, __m512i __b) {
99
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 0,
100
+ (__mmask32)-1);
101
+ }
102
+
103
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
104
+ _mm512_mask_cmpeq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
105
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 0,
106
+ __u);
107
+ }
108
+
109
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
110
+ _mm512_cmpge_epi8_mask(__m512i __a, __m512i __b) {
111
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 5,
112
+ (__mmask64)-1);
113
+ }
114
+
115
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
116
+ _mm512_mask_cmpge_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
117
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 5,
118
+ __u);
119
+ }
120
+
121
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
122
+ _mm512_cmpge_epu8_mask(__m512i __a, __m512i __b) {
123
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 5,
124
+ (__mmask64)-1);
125
+ }
126
+
127
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
128
+ _mm512_mask_cmpge_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
129
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 5,
130
+ __u);
131
+ }
132
+
133
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
134
+ _mm512_cmpge_epi16_mask(__m512i __a, __m512i __b) {
135
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 5,
136
+ (__mmask32)-1);
137
+ }
138
+
139
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
140
+ _mm512_mask_cmpge_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
141
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 5,
142
+ __u);
143
+ }
144
+
145
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
146
+ _mm512_cmpge_epu16_mask(__m512i __a, __m512i __b) {
147
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 5,
148
+ (__mmask32)-1);
149
+ }
150
+
151
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
152
+ _mm512_mask_cmpge_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
153
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 5,
154
+ __u);
155
+ }
156
+
157
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
158
+ _mm512_cmpgt_epi8_mask(__m512i __a, __m512i __b) {
159
+ return (__mmask64)__builtin_ia32_pcmpgtb512_mask((__v64qi)__a, (__v64qi)__b,
160
+ (__mmask64)-1);
161
+ }
162
+
163
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
164
+ _mm512_mask_cmpgt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
165
+ return (__mmask64)__builtin_ia32_pcmpgtb512_mask((__v64qi)__a, (__v64qi)__b,
166
+ __u);
167
+ }
168
+
169
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
170
+ _mm512_cmpgt_epu8_mask(__m512i __a, __m512i __b) {
171
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 6,
172
+ (__mmask64)-1);
173
+ }
174
+
175
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
176
+ _mm512_mask_cmpgt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
177
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 6,
178
+ __u);
179
+ }
180
+
181
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
182
+ _mm512_cmpgt_epi16_mask(__m512i __a, __m512i __b) {
183
+ return (__mmask32)__builtin_ia32_pcmpgtw512_mask((__v32hi)__a, (__v32hi)__b,
184
+ (__mmask32)-1);
185
+ }
186
+
187
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
188
+ _mm512_mask_cmpgt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
189
+ return (__mmask32)__builtin_ia32_pcmpgtw512_mask((__v32hi)__a, (__v32hi)__b,
190
+ __u);
191
+ }
192
+
193
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
194
+ _mm512_cmpgt_epu16_mask(__m512i __a, __m512i __b) {
195
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 6,
196
+ (__mmask32)-1);
197
+ }
198
+
199
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
200
+ _mm512_mask_cmpgt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
201
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 6,
202
+ __u);
203
+ }
204
+
205
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
206
+ _mm512_cmple_epi8_mask(__m512i __a, __m512i __b) {
207
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 2,
208
+ (__mmask64)-1);
209
+ }
210
+
211
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
212
+ _mm512_mask_cmple_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
213
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 2,
214
+ __u);
215
+ }
216
+
217
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
218
+ _mm512_cmple_epu8_mask(__m512i __a, __m512i __b) {
219
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 2,
220
+ (__mmask64)-1);
221
+ }
222
+
223
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
224
+ _mm512_mask_cmple_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
225
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 2,
226
+ __u);
227
+ }
228
+
229
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
230
+ _mm512_cmple_epi16_mask(__m512i __a, __m512i __b) {
231
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 2,
232
+ (__mmask32)-1);
233
+ }
234
+
235
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
236
+ _mm512_mask_cmple_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
237
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 2,
238
+ __u);
239
+ }
240
+
241
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
242
+ _mm512_cmple_epu16_mask(__m512i __a, __m512i __b) {
243
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 2,
244
+ (__mmask32)-1);
245
+ }
246
+
247
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
248
+ _mm512_mask_cmple_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
249
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 2,
250
+ __u);
251
+ }
252
+
253
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
254
+ _mm512_cmplt_epi8_mask(__m512i __a, __m512i __b) {
255
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 1,
256
+ (__mmask64)-1);
257
+ }
258
+
259
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
260
+ _mm512_mask_cmplt_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
261
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 1,
262
+ __u);
263
+ }
264
+
265
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
266
+ _mm512_cmplt_epu8_mask(__m512i __a, __m512i __b) {
267
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 1,
268
+ (__mmask64)-1);
269
+ }
270
+
271
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
272
+ _mm512_mask_cmplt_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
273
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 1,
274
+ __u);
275
+ }
276
+
277
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
278
+ _mm512_cmplt_epi16_mask(__m512i __a, __m512i __b) {
279
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 1,
280
+ (__mmask32)-1);
281
+ }
282
+
283
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
284
+ _mm512_mask_cmplt_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
285
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 1,
286
+ __u);
287
+ }
288
+
289
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
290
+ _mm512_cmplt_epu16_mask(__m512i __a, __m512i __b) {
291
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 1,
292
+ (__mmask32)-1);
293
+ }
294
+
295
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
296
+ _mm512_mask_cmplt_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
297
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 1,
298
+ __u);
299
+ }
300
+
301
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
302
+ _mm512_cmpneq_epi8_mask(__m512i __a, __m512i __b) {
303
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 4,
304
+ (__mmask64)-1);
305
+ }
306
+
307
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
308
+ _mm512_mask_cmpneq_epi8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
309
+ return (__mmask64)__builtin_ia32_cmpb512_mask((__v64qi)__a, (__v64qi)__b, 4,
310
+ __u);
311
+ }
312
+
313
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
314
+ _mm512_cmpneq_epu8_mask(__m512i __a, __m512i __b) {
315
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 4,
316
+ (__mmask64)-1);
317
+ }
318
+
319
+ static __inline__ __mmask64 __DEFAULT_FN_ATTRS
320
+ _mm512_mask_cmpneq_epu8_mask(__mmask64 __u, __m512i __a, __m512i __b) {
321
+ return (__mmask64)__builtin_ia32_ucmpb512_mask((__v64qi)__a, (__v64qi)__b, 4,
322
+ __u);
323
+ }
324
+
325
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
326
+ _mm512_cmpneq_epi16_mask(__m512i __a, __m512i __b) {
327
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 4,
328
+ (__mmask32)-1);
329
+ }
330
+
331
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
332
+ _mm512_mask_cmpneq_epi16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
333
+ return (__mmask32)__builtin_ia32_cmpw512_mask((__v32hi)__a, (__v32hi)__b, 4,
334
+ __u);
335
+ }
336
+
337
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
338
+ _mm512_cmpneq_epu16_mask(__m512i __a, __m512i __b) {
339
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 4,
340
+ (__mmask32)-1);
341
+ }
342
+
343
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
344
+ _mm512_mask_cmpneq_epu16_mask(__mmask32 __u, __m512i __a, __m512i __b) {
345
+ return (__mmask32)__builtin_ia32_ucmpw512_mask((__v32hi)__a, (__v32hi)__b, 4,
346
+ __u);
347
+ }
348
+
349
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
350
+ _mm512_add_epi8 (__m512i __A, __m512i __B) {
351
+ return (__m512i) ((__v64qi) __A + (__v64qi) __B);
352
+ }
353
+
354
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
355
+ _mm512_mask_add_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
356
+ return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
357
+ (__v64qi) __B,
358
+ (__v64qi) __W,
359
+ (__mmask64) __U);
360
+ }
361
+
362
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
363
+ _mm512_maskz_add_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
364
+ return (__m512i) __builtin_ia32_paddb512_mask ((__v64qi) __A,
365
+ (__v64qi) __B,
366
+ (__v64qi)
367
+ _mm512_setzero_qi (),
368
+ (__mmask64) __U);
369
+ }
370
+
371
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
372
+ _mm512_sub_epi8 (__m512i __A, __m512i __B) {
373
+ return (__m512i) ((__v64qi) __A - (__v64qi) __B);
374
+ }
375
+
376
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
377
+ _mm512_mask_sub_epi8 (__m512i __W, __mmask64 __U, __m512i __A, __m512i __B) {
378
+ return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
379
+ (__v64qi) __B,
380
+ (__v64qi) __W,
381
+ (__mmask64) __U);
382
+ }
383
+
384
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
385
+ _mm512_maskz_sub_epi8 (__mmask64 __U, __m512i __A, __m512i __B) {
386
+ return (__m512i) __builtin_ia32_psubb512_mask ((__v64qi) __A,
387
+ (__v64qi) __B,
388
+ (__v64qi)
389
+ _mm512_setzero_qi (),
390
+ (__mmask64) __U);
391
+ }
392
+
393
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
394
+ _mm512_add_epi16 (__m512i __A, __m512i __B) {
395
+ return (__m512i) ((__v32hi) __A + (__v32hi) __B);
396
+ }
397
+
398
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
399
+ _mm512_mask_add_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
400
+ return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
401
+ (__v32hi) __B,
402
+ (__v32hi) __W,
403
+ (__mmask32) __U);
404
+ }
405
+
406
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
407
+ _mm512_maskz_add_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
408
+ return (__m512i) __builtin_ia32_paddw512_mask ((__v32hi) __A,
409
+ (__v32hi) __B,
410
+ (__v32hi)
411
+ _mm512_setzero_hi (),
412
+ (__mmask32) __U);
413
+ }
414
+
415
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
416
+ _mm512_sub_epi16 (__m512i __A, __m512i __B) {
417
+ return (__m512i) ((__v32hi) __A - (__v32hi) __B);
418
+ }
419
+
420
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
421
+ _mm512_mask_sub_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
422
+ return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
423
+ (__v32hi) __B,
424
+ (__v32hi) __W,
425
+ (__mmask32) __U);
426
+ }
427
+
428
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
429
+ _mm512_maskz_sub_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
430
+ return (__m512i) __builtin_ia32_psubw512_mask ((__v32hi) __A,
431
+ (__v32hi) __B,
432
+ (__v32hi)
433
+ _mm512_setzero_hi (),
434
+ (__mmask32) __U);
435
+ }
436
+
437
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
438
+ _mm512_mullo_epi16 (__m512i __A, __m512i __B) {
439
+ return (__m512i) ((__v32hi) __A * (__v32hi) __B);
440
+ }
441
+
442
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
443
+ _mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
444
+ return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
445
+ (__v32hi) __B,
446
+ (__v32hi) __W,
447
+ (__mmask32) __U);
448
+ }
449
+
450
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
451
+ _mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
452
+ return (__m512i) __builtin_ia32_pmullw512_mask ((__v32hi) __A,
453
+ (__v32hi) __B,
454
+ (__v32hi)
455
+ _mm512_setzero_hi (),
456
+ (__mmask32) __U);
457
+ }
458
+
459
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
460
+ _mm512_mask_blend_epi8 (__mmask64 __U, __m512i __A, __m512i __W)
461
+ {
462
+ return (__m512i) __builtin_ia32_blendmb_512_mask ((__v64qi) __A,
463
+ (__v64qi) __W,
464
+ (__mmask64) __U);
465
+ }
466
+
467
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
468
+ _mm512_mask_blend_epi16 (__mmask32 __U, __m512i __A, __m512i __W)
469
+ {
470
+ return (__m512i) __builtin_ia32_blendmw_512_mask ((__v32hi) __A,
471
+ (__v32hi) __W,
472
+ (__mmask32) __U);
473
+ }
474
+
475
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
476
+ _mm512_abs_epi8 (__m512i __A)
477
+ {
478
+ return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
479
+ (__v64qi) _mm512_setzero_qi (),
480
+ (__mmask64) -1);
481
+ }
482
+
483
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
484
+ _mm512_mask_abs_epi8 (__m512i __W, __mmask64 __U, __m512i __A)
485
+ {
486
+ return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
487
+ (__v64qi) __W,
488
+ (__mmask64) __U);
489
+ }
490
+
491
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
492
+ _mm512_maskz_abs_epi8 (__mmask64 __U, __m512i __A)
493
+ {
494
+ return (__m512i) __builtin_ia32_pabsb512_mask ((__v64qi) __A,
495
+ (__v64qi) _mm512_setzero_qi (),
496
+ (__mmask64) __U);
497
+ }
498
+
499
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
500
+ _mm512_abs_epi16 (__m512i __A)
501
+ {
502
+ return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
503
+ (__v32hi) _mm512_setzero_hi (),
504
+ (__mmask32) -1);
505
+ }
506
+
507
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
508
+ _mm512_mask_abs_epi16 (__m512i __W, __mmask32 __U, __m512i __A)
509
+ {
510
+ return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
511
+ (__v32hi) __W,
512
+ (__mmask32) __U);
513
+ }
514
+
515
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
516
+ _mm512_maskz_abs_epi16 (__mmask32 __U, __m512i __A)
517
+ {
518
+ return (__m512i) __builtin_ia32_pabsw512_mask ((__v32hi) __A,
519
+ (__v32hi) _mm512_setzero_hi (),
520
+ (__mmask32) __U);
521
+ }
522
+
523
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
524
+ _mm512_packs_epi32 (__m512i __A, __m512i __B)
525
+ {
526
+ return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
527
+ (__v16si) __B,
528
+ (__v32hi) _mm512_setzero_hi (),
529
+ (__mmask32) -1);
530
+ }
531
+
532
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
533
+ _mm512_maskz_packs_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
534
+ {
535
+ return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
536
+ (__v16si) __B,
537
+ (__v32hi) _mm512_setzero_hi(),
538
+ __M);
539
+ }
540
+
541
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
542
+ _mm512_mask_packs_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
543
+ __m512i __B)
544
+ {
545
+ return (__m512i) __builtin_ia32_packssdw512_mask ((__v16si) __A,
546
+ (__v16si) __B,
547
+ (__v32hi) __W,
548
+ __M);
549
+ }
550
+
551
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
552
+ _mm512_packs_epi16 (__m512i __A, __m512i __B)
553
+ {
554
+ return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
555
+ (__v32hi) __B,
556
+ (__v64qi) _mm512_setzero_qi (),
557
+ (__mmask64) -1);
558
+ }
559
+
560
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
561
+ _mm512_mask_packs_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
562
+ __m512i __B)
563
+ {
564
+ return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
565
+ (__v32hi) __B,
566
+ (__v64qi) __W,
567
+ (__mmask64) __M);
568
+ }
569
+
570
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
571
+ _mm512_maskz_packs_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
572
+ {
573
+ return (__m512i) __builtin_ia32_packsswb512_mask ((__v32hi) __A,
574
+ (__v32hi) __B,
575
+ (__v64qi) _mm512_setzero_qi(),
576
+ __M);
577
+ }
578
+
579
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
580
+ _mm512_packus_epi32 (__m512i __A, __m512i __B)
581
+ {
582
+ return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
583
+ (__v16si) __B,
584
+ (__v32hi) _mm512_setzero_hi (),
585
+ (__mmask32) -1);
586
+ }
587
+
588
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
589
+ _mm512_maskz_packus_epi32 (__mmask32 __M, __m512i __A, __m512i __B)
590
+ {
591
+ return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
592
+ (__v16si) __B,
593
+ (__v32hi) _mm512_setzero_hi(),
594
+ __M);
595
+ }
596
+
597
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
598
+ _mm512_mask_packus_epi32 (__m512i __W, __mmask32 __M, __m512i __A,
599
+ __m512i __B)
600
+ {
601
+ return (__m512i) __builtin_ia32_packusdw512_mask ((__v16si) __A,
602
+ (__v16si) __B,
603
+ (__v32hi) __W,
604
+ __M);
605
+ }
606
+
607
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
608
+ _mm512_packus_epi16 (__m512i __A, __m512i __B)
609
+ {
610
+ return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
611
+ (__v32hi) __B,
612
+ (__v64qi) _mm512_setzero_qi (),
613
+ (__mmask64) -1);
614
+ }
615
+
616
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
617
+ _mm512_mask_packus_epi16 (__m512i __W, __mmask64 __M, __m512i __A,
618
+ __m512i __B)
619
+ {
620
+ return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
621
+ (__v32hi) __B,
622
+ (__v64qi) __W,
623
+ (__mmask64) __M);
624
+ }
625
+
626
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
627
+ _mm512_maskz_packus_epi16 (__mmask64 __M, __m512i __A, __m512i __B)
628
+ {
629
+ return (__m512i) __builtin_ia32_packuswb512_mask ((__v32hi) __A,
630
+ (__v32hi) __B,
631
+ (__v64qi) _mm512_setzero_qi(),
632
+ (__mmask64) __M);
633
+ }
634
+
635
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
636
+ _mm512_adds_epi8 (__m512i __A, __m512i __B)
637
+ {
638
+ return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
639
+ (__v64qi) __B,
640
+ (__v64qi) _mm512_setzero_qi (),
641
+ (__mmask64) -1);
642
+ }
643
+
644
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
645
+ _mm512_mask_adds_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
646
+ __m512i __B)
647
+ {
648
+ return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
649
+ (__v64qi) __B,
650
+ (__v64qi) __W,
651
+ (__mmask64) __U);
652
+ }
653
+
654
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
655
+ _mm512_maskz_adds_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
656
+ {
657
+ return (__m512i) __builtin_ia32_paddsb512_mask ((__v64qi) __A,
658
+ (__v64qi) __B,
659
+ (__v64qi) _mm512_setzero_qi (),
660
+ (__mmask64) __U);
661
+ }
662
+
663
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
664
+ _mm512_adds_epi16 (__m512i __A, __m512i __B)
665
+ {
666
+ return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
667
+ (__v32hi) __B,
668
+ (__v32hi) _mm512_setzero_hi (),
669
+ (__mmask32) -1);
670
+ }
671
+
672
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
673
+ _mm512_mask_adds_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
674
+ __m512i __B)
675
+ {
676
+ return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
677
+ (__v32hi) __B,
678
+ (__v32hi) __W,
679
+ (__mmask32) __U);
680
+ }
681
+
682
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
683
+ _mm512_maskz_adds_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
684
+ {
685
+ return (__m512i) __builtin_ia32_paddsw512_mask ((__v32hi) __A,
686
+ (__v32hi) __B,
687
+ (__v32hi) _mm512_setzero_hi (),
688
+ (__mmask32) __U);
689
+ }
690
+
691
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
692
+ _mm512_adds_epu8 (__m512i __A, __m512i __B)
693
+ {
694
+ return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
695
+ (__v64qi) __B,
696
+ (__v64qi) _mm512_setzero_qi (),
697
+ (__mmask64) -1);
698
+ }
699
+
700
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
701
+ _mm512_mask_adds_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
702
+ __m512i __B)
703
+ {
704
+ return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
705
+ (__v64qi) __B,
706
+ (__v64qi) __W,
707
+ (__mmask64) __U);
708
+ }
709
+
710
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
711
+ _mm512_maskz_adds_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
712
+ {
713
+ return (__m512i) __builtin_ia32_paddusb512_mask ((__v64qi) __A,
714
+ (__v64qi) __B,
715
+ (__v64qi) _mm512_setzero_qi (),
716
+ (__mmask64) __U);
717
+ }
718
+
719
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
720
+ _mm512_adds_epu16 (__m512i __A, __m512i __B)
721
+ {
722
+ return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
723
+ (__v32hi) __B,
724
+ (__v32hi) _mm512_setzero_hi (),
725
+ (__mmask32) -1);
726
+ }
727
+
728
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
729
+ _mm512_mask_adds_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
730
+ __m512i __B)
731
+ {
732
+ return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
733
+ (__v32hi) __B,
734
+ (__v32hi) __W,
735
+ (__mmask32) __U);
736
+ }
737
+
738
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
739
+ _mm512_maskz_adds_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
740
+ {
741
+ return (__m512i) __builtin_ia32_paddusw512_mask ((__v32hi) __A,
742
+ (__v32hi) __B,
743
+ (__v32hi) _mm512_setzero_hi (),
744
+ (__mmask32) __U);
745
+ }
746
+
747
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
748
+ _mm512_avg_epu8 (__m512i __A, __m512i __B)
749
+ {
750
+ return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
751
+ (__v64qi) __B,
752
+ (__v64qi) _mm512_setzero_qi (),
753
+ (__mmask64) -1);
754
+ }
755
+
756
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
757
+ _mm512_mask_avg_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
758
+ __m512i __B)
759
+ {
760
+ return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
761
+ (__v64qi) __B,
762
+ (__v64qi) __W,
763
+ (__mmask64) __U);
764
+ }
765
+
766
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
767
+ _mm512_maskz_avg_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
768
+ {
769
+ return (__m512i) __builtin_ia32_pavgb512_mask ((__v64qi) __A,
770
+ (__v64qi) __B,
771
+ (__v64qi) _mm512_setzero_qi(),
772
+ (__mmask64) __U);
773
+ }
774
+
775
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
776
+ _mm512_avg_epu16 (__m512i __A, __m512i __B)
777
+ {
778
+ return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
779
+ (__v32hi) __B,
780
+ (__v32hi) _mm512_setzero_hi (),
781
+ (__mmask32) -1);
782
+ }
783
+
784
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
785
+ _mm512_mask_avg_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
786
+ __m512i __B)
787
+ {
788
+ return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
789
+ (__v32hi) __B,
790
+ (__v32hi) __W,
791
+ (__mmask32) __U);
792
+ }
793
+
794
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
795
+ _mm512_maskz_avg_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
796
+ {
797
+ return (__m512i) __builtin_ia32_pavgw512_mask ((__v32hi) __A,
798
+ (__v32hi) __B,
799
+ (__v32hi) _mm512_setzero_hi(),
800
+ (__mmask32) __U);
801
+ }
802
+
803
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
804
+ _mm512_max_epi8 (__m512i __A, __m512i __B)
805
+ {
806
+ return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
807
+ (__v64qi) __B,
808
+ (__v64qi) _mm512_setzero_qi (),
809
+ (__mmask64) -1);
810
+ }
811
+
812
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
813
+ _mm512_maskz_max_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
814
+ {
815
+ return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
816
+ (__v64qi) __B,
817
+ (__v64qi) _mm512_setzero_qi(),
818
+ (__mmask64) __M);
819
+ }
820
+
821
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
822
+ _mm512_mask_max_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
823
+ __m512i __B)
824
+ {
825
+ return (__m512i) __builtin_ia32_pmaxsb512_mask ((__v64qi) __A,
826
+ (__v64qi) __B,
827
+ (__v64qi) __W,
828
+ (__mmask64) __M);
829
+ }
830
+
831
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
832
+ _mm512_max_epi16 (__m512i __A, __m512i __B)
833
+ {
834
+ return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
835
+ (__v32hi) __B,
836
+ (__v32hi) _mm512_setzero_hi (),
837
+ (__mmask32) -1);
838
+ }
839
+
840
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
841
+ _mm512_maskz_max_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
842
+ {
843
+ return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
844
+ (__v32hi) __B,
845
+ (__v32hi) _mm512_setzero_hi(),
846
+ (__mmask32) __M);
847
+ }
848
+
849
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
850
+ _mm512_mask_max_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
851
+ __m512i __B)
852
+ {
853
+ return (__m512i) __builtin_ia32_pmaxsw512_mask ((__v32hi) __A,
854
+ (__v32hi) __B,
855
+ (__v32hi) __W,
856
+ (__mmask32) __M);
857
+ }
858
+
859
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
860
+ _mm512_max_epu8 (__m512i __A, __m512i __B)
861
+ {
862
+ return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
863
+ (__v64qi) __B,
864
+ (__v64qi) _mm512_setzero_qi (),
865
+ (__mmask64) -1);
866
+ }
867
+
868
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
869
+ _mm512_maskz_max_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
870
+ {
871
+ return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
872
+ (__v64qi) __B,
873
+ (__v64qi) _mm512_setzero_qi(),
874
+ (__mmask64) __M);
875
+ }
876
+
877
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
878
+ _mm512_mask_max_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
879
+ __m512i __B)
880
+ {
881
+ return (__m512i) __builtin_ia32_pmaxub512_mask ((__v64qi) __A,
882
+ (__v64qi) __B,
883
+ (__v64qi) __W,
884
+ (__mmask64) __M);
885
+ }
886
+
887
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
888
+ _mm512_max_epu16 (__m512i __A, __m512i __B)
889
+ {
890
+ return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
891
+ (__v32hi) __B,
892
+ (__v32hi) _mm512_setzero_hi (),
893
+ (__mmask32) -1);
894
+ }
895
+
896
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
897
+ _mm512_maskz_max_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
898
+ {
899
+ return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
900
+ (__v32hi) __B,
901
+ (__v32hi) _mm512_setzero_hi(),
902
+ (__mmask32) __M);
903
+ }
904
+
905
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
906
+ _mm512_mask_max_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
907
+ __m512i __B)
908
+ {
909
+ return (__m512i) __builtin_ia32_pmaxuw512_mask ((__v32hi) __A,
910
+ (__v32hi) __B,
911
+ (__v32hi) __W,
912
+ (__mmask32) __M);
913
+ }
914
+
915
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
916
+ _mm512_min_epi8 (__m512i __A, __m512i __B)
917
+ {
918
+ return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
919
+ (__v64qi) __B,
920
+ (__v64qi) _mm512_setzero_qi (),
921
+ (__mmask64) -1);
922
+ }
923
+
924
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
925
+ _mm512_maskz_min_epi8 (__mmask64 __M, __m512i __A, __m512i __B)
926
+ {
927
+ return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
928
+ (__v64qi) __B,
929
+ (__v64qi) _mm512_setzero_qi(),
930
+ (__mmask64) __M);
931
+ }
932
+
933
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
934
+ _mm512_mask_min_epi8 (__m512i __W, __mmask64 __M, __m512i __A,
935
+ __m512i __B)
936
+ {
937
+ return (__m512i) __builtin_ia32_pminsb512_mask ((__v64qi) __A,
938
+ (__v64qi) __B,
939
+ (__v64qi) __W,
940
+ (__mmask64) __M);
941
+ }
942
+
943
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
944
+ _mm512_min_epi16 (__m512i __A, __m512i __B)
945
+ {
946
+ return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
947
+ (__v32hi) __B,
948
+ (__v32hi) _mm512_setzero_hi (),
949
+ (__mmask32) -1);
950
+ }
951
+
952
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
953
+ _mm512_maskz_min_epi16 (__mmask32 __M, __m512i __A, __m512i __B)
954
+ {
955
+ return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
956
+ (__v32hi) __B,
957
+ (__v32hi) _mm512_setzero_hi(),
958
+ (__mmask32) __M);
959
+ }
960
+
961
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
962
+ _mm512_mask_min_epi16 (__m512i __W, __mmask32 __M, __m512i __A,
963
+ __m512i __B)
964
+ {
965
+ return (__m512i) __builtin_ia32_pminsw512_mask ((__v32hi) __A,
966
+ (__v32hi) __B,
967
+ (__v32hi) __W,
968
+ (__mmask32) __M);
969
+ }
970
+
971
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
972
+ _mm512_min_epu8 (__m512i __A, __m512i __B)
973
+ {
974
+ return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
975
+ (__v64qi) __B,
976
+ (__v64qi) _mm512_setzero_qi (),
977
+ (__mmask64) -1);
978
+ }
979
+
980
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
981
+ _mm512_maskz_min_epu8 (__mmask64 __M, __m512i __A, __m512i __B)
982
+ {
983
+ return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
984
+ (__v64qi) __B,
985
+ (__v64qi) _mm512_setzero_qi(),
986
+ (__mmask64) __M);
987
+ }
988
+
989
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
990
+ _mm512_mask_min_epu8 (__m512i __W, __mmask64 __M, __m512i __A,
991
+ __m512i __B)
992
+ {
993
+ return (__m512i) __builtin_ia32_pminub512_mask ((__v64qi) __A,
994
+ (__v64qi) __B,
995
+ (__v64qi) __W,
996
+ (__mmask64) __M);
997
+ }
998
+
999
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1000
+ _mm512_min_epu16 (__m512i __A, __m512i __B)
1001
+ {
1002
+ return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
1003
+ (__v32hi) __B,
1004
+ (__v32hi) _mm512_setzero_hi (),
1005
+ (__mmask32) -1);
1006
+ }
1007
+
1008
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1009
+ _mm512_maskz_min_epu16 (__mmask32 __M, __m512i __A, __m512i __B)
1010
+ {
1011
+ return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
1012
+ (__v32hi) __B,
1013
+ (__v32hi) _mm512_setzero_hi(),
1014
+ (__mmask32) __M);
1015
+ }
1016
+
1017
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1018
+ _mm512_mask_min_epu16 (__m512i __W, __mmask32 __M, __m512i __A,
1019
+ __m512i __B)
1020
+ {
1021
+ return (__m512i) __builtin_ia32_pminuw512_mask ((__v32hi) __A,
1022
+ (__v32hi) __B,
1023
+ (__v32hi) __W,
1024
+ (__mmask32) __M);
1025
+ }
1026
+
1027
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1028
+ _mm512_shuffle_epi8 (__m512i __A, __m512i __B)
1029
+ {
1030
+ return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
1031
+ (__v64qi) __B,
1032
+ (__v64qi) _mm512_setzero_qi (),
1033
+ (__mmask64) -1);
1034
+ }
1035
+
1036
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1037
+ _mm512_mask_shuffle_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
1038
+ __m512i __B)
1039
+ {
1040
+ return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
1041
+ (__v64qi) __B,
1042
+ (__v64qi) __W,
1043
+ (__mmask64) __U);
1044
+ }
1045
+
1046
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1047
+ _mm512_maskz_shuffle_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
1048
+ {
1049
+ return (__m512i) __builtin_ia32_pshufb512_mask ((__v64qi) __A,
1050
+ (__v64qi) __B,
1051
+ (__v64qi) _mm512_setzero_qi (),
1052
+ (__mmask64) __U);
1053
+ }
1054
+
1055
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1056
+ _mm512_subs_epi8 (__m512i __A, __m512i __B)
1057
+ {
1058
+ return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
1059
+ (__v64qi) __B,
1060
+ (__v64qi) _mm512_setzero_qi (),
1061
+ (__mmask64) -1);
1062
+ }
1063
+
1064
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1065
+ _mm512_mask_subs_epi8 (__m512i __W, __mmask64 __U, __m512i __A,
1066
+ __m512i __B)
1067
+ {
1068
+ return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
1069
+ (__v64qi) __B,
1070
+ (__v64qi) __W,
1071
+ (__mmask64) __U);
1072
+ }
1073
+
1074
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1075
+ _mm512_maskz_subs_epi8 (__mmask64 __U, __m512i __A, __m512i __B)
1076
+ {
1077
+ return (__m512i) __builtin_ia32_psubsb512_mask ((__v64qi) __A,
1078
+ (__v64qi) __B,
1079
+ (__v64qi) _mm512_setzero_qi (),
1080
+ (__mmask64) __U);
1081
+ }
1082
+
1083
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1084
+ _mm512_subs_epi16 (__m512i __A, __m512i __B)
1085
+ {
1086
+ return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
1087
+ (__v32hi) __B,
1088
+ (__v32hi) _mm512_setzero_hi (),
1089
+ (__mmask32) -1);
1090
+ }
1091
+
1092
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1093
+ _mm512_mask_subs_epi16 (__m512i __W, __mmask32 __U, __m512i __A,
1094
+ __m512i __B)
1095
+ {
1096
+ return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
1097
+ (__v32hi) __B,
1098
+ (__v32hi) __W,
1099
+ (__mmask32) __U);
1100
+ }
1101
+
1102
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1103
+ _mm512_maskz_subs_epi16 (__mmask32 __U, __m512i __A, __m512i __B)
1104
+ {
1105
+ return (__m512i) __builtin_ia32_psubsw512_mask ((__v32hi) __A,
1106
+ (__v32hi) __B,
1107
+ (__v32hi) _mm512_setzero_hi (),
1108
+ (__mmask32) __U);
1109
+ }
1110
+
1111
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1112
+ _mm512_subs_epu8 (__m512i __A, __m512i __B)
1113
+ {
1114
+ return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
1115
+ (__v64qi) __B,
1116
+ (__v64qi) _mm512_setzero_qi (),
1117
+ (__mmask64) -1);
1118
+ }
1119
+
1120
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1121
+ _mm512_mask_subs_epu8 (__m512i __W, __mmask64 __U, __m512i __A,
1122
+ __m512i __B)
1123
+ {
1124
+ return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
1125
+ (__v64qi) __B,
1126
+ (__v64qi) __W,
1127
+ (__mmask64) __U);
1128
+ }
1129
+
1130
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1131
+ _mm512_maskz_subs_epu8 (__mmask64 __U, __m512i __A, __m512i __B)
1132
+ {
1133
+ return (__m512i) __builtin_ia32_psubusb512_mask ((__v64qi) __A,
1134
+ (__v64qi) __B,
1135
+ (__v64qi) _mm512_setzero_qi (),
1136
+ (__mmask64) __U);
1137
+ }
1138
+
1139
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1140
+ _mm512_subs_epu16 (__m512i __A, __m512i __B)
1141
+ {
1142
+ return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
1143
+ (__v32hi) __B,
1144
+ (__v32hi) _mm512_setzero_hi (),
1145
+ (__mmask32) -1);
1146
+ }
1147
+
1148
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1149
+ _mm512_mask_subs_epu16 (__m512i __W, __mmask32 __U, __m512i __A,
1150
+ __m512i __B)
1151
+ {
1152
+ return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
1153
+ (__v32hi) __B,
1154
+ (__v32hi) __W,
1155
+ (__mmask32) __U);
1156
+ }
1157
+
1158
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1159
+ _mm512_maskz_subs_epu16 (__mmask32 __U, __m512i __A, __m512i __B)
1160
+ {
1161
+ return (__m512i) __builtin_ia32_psubusw512_mask ((__v32hi) __A,
1162
+ (__v32hi) __B,
1163
+ (__v32hi) _mm512_setzero_hi (),
1164
+ (__mmask32) __U);
1165
+ }
1166
+
1167
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1168
+ _mm512_mask2_permutex2var_epi16 (__m512i __A, __m512i __I,
1169
+ __mmask32 __U, __m512i __B)
1170
+ {
1171
+ return (__m512i) __builtin_ia32_vpermi2varhi512_mask ((__v32hi) __A,
1172
+ (__v32hi) __I /* idx */ ,
1173
+ (__v32hi) __B,
1174
+ (__mmask32) __U);
1175
+ }
1176
+
1177
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1178
+ _mm512_permutex2var_epi16 (__m512i __A, __m512i __I, __m512i __B)
1179
+ {
1180
+ return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I /* idx */,
1181
+ (__v32hi) __A,
1182
+ (__v32hi) __B,
1183
+ (__mmask32) -1);
1184
+ }
1185
+
1186
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1187
+ _mm512_mask_permutex2var_epi16 (__m512i __A, __mmask32 __U,
1188
+ __m512i __I, __m512i __B)
1189
+ {
1190
+ return (__m512i) __builtin_ia32_vpermt2varhi512_mask ((__v32hi) __I /* idx */,
1191
+ (__v32hi) __A,
1192
+ (__v32hi) __B,
1193
+ (__mmask32) __U);
1194
+ }
1195
+
1196
+ static __inline__ __m512i __DEFAULT_FN_ATTRS
1197
+ _mm512_maskz_permutex2var_epi16 (__mmask32 __U, __m512i __A,
1198
+ __m512i __I, __m512i __B)
1199
+ {
1200
+ return (__m512i) __builtin_ia32_vpermt2varhi512_maskz ((__v32hi) __I
1201
+ /* idx */ ,
1202
+ (__v32hi) __A,
1203
+ (__v32hi) __B,
1204
+ (__mmask32) __U);
1205
+ }
1206
+
1207
+ #define _mm512_cmp_epi8_mask(a, b, p) __extension__ ({ \
1208
+ (__mmask16)__builtin_ia32_cmpb512_mask((__v64qi)(__m512i)(a), \
1209
+ (__v64qi)(__m512i)(b), \
1210
+ (p), (__mmask64)-1); })
1211
+
1212
+ #define _mm512_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
1213
+ (__mmask16)__builtin_ia32_cmpb512_mask((__v64qi)(__m512i)(a), \
1214
+ (__v64qi)(__m512i)(b), \
1215
+ (p), (__mmask64)(m)); })
1216
+
1217
+ #define _mm512_cmp_epu8_mask(a, b, p) __extension__ ({ \
1218
+ (__mmask16)__builtin_ia32_ucmpb512_mask((__v64qi)(__m512i)(a), \
1219
+ (__v64qi)(__m512i)(b), \
1220
+ (p), (__mmask64)-1); })
1221
+
1222
+ #define _mm512_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
1223
+ (__mmask16)__builtin_ia32_ucmpb512_mask((__v64qi)(__m512i)(a), \
1224
+ (__v64qi)(__m512i)(b), \
1225
+ (p), (__mmask64)(m)); })
1226
+
1227
+ #define _mm512_cmp_epi16_mask(a, b, p) __extension__ ({ \
1228
+ (__mmask16)__builtin_ia32_cmpw512_mask((__v32hi)(__m512i)(a), \
1229
+ (__v32hi)(__m512i)(b), \
1230
+ (p), (__mmask32)-1); })
1231
+
1232
+ #define _mm512_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
1233
+ (__mmask16)__builtin_ia32_cmpw512_mask((__v32hi)(__m512i)(a), \
1234
+ (__v32hi)(__m512i)(b), \
1235
+ (p), (__mmask32)(m)); })
1236
+
1237
+ #define _mm512_cmp_epu16_mask(a, b, p) __extension__ ({ \
1238
+ (__mmask16)__builtin_ia32_ucmpw512_mask((__v32hi)(__m512i)(a), \
1239
+ (__v32hi)(__m512i)(b), \
1240
+ (p), (__mmask32)-1); })
1241
+
1242
+ #define _mm512_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
1243
+ (__mmask16)__builtin_ia32_ucmpw512_mask((__v32hi)(__m512i)(a), \
1244
+ (__v32hi)(__m512i)(b), \
1245
+ (p), (__mmask32)(m)); })
1246
+
1247
+
1248
+ #undef __DEFAULT_FN_ATTRS
1249
+
1250
+ #endif