xcodebuild-helper 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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