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,1907 @@
1
+ /*===---- avx512vlbwintrin.h - AVX512VL and AVX512BW intrinsics ----------===
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to deal
5
+ * in the Software without restriction, including without limitation the rights
6
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ * copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ * THE SOFTWARE.
20
+ *
21
+ *===-----------------------------------------------------------------------===
22
+ */
23
+
24
+ #ifndef __IMMINTRIN_H
25
+ #error "Never use <avx512vlbwintrin.h> directly; include <immintrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef __AVX512VLBWINTRIN_H
29
+ #define __AVX512VLBWINTRIN_H
30
+
31
+ /* Define the default attributes for the functions in this file. */
32
+ #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
33
+
34
+ /* Integer compare */
35
+
36
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
37
+ _mm_cmpeq_epi8_mask(__m128i __a, __m128i __b) {
38
+ return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
39
+ (__mmask16)-1);
40
+ }
41
+
42
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
43
+ _mm_mask_cmpeq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
44
+ return (__mmask16)__builtin_ia32_pcmpeqb128_mask((__v16qi)__a, (__v16qi)__b,
45
+ __u);
46
+ }
47
+
48
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
49
+ _mm_cmpeq_epu8_mask(__m128i __a, __m128i __b) {
50
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
51
+ (__mmask16)-1);
52
+ }
53
+
54
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
55
+ _mm_mask_cmpeq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
56
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 0,
57
+ __u);
58
+ }
59
+
60
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
61
+ _mm256_cmpeq_epi8_mask(__m256i __a, __m256i __b) {
62
+ return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
63
+ (__mmask32)-1);
64
+ }
65
+
66
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
67
+ _mm256_mask_cmpeq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
68
+ return (__mmask32)__builtin_ia32_pcmpeqb256_mask((__v32qi)__a, (__v32qi)__b,
69
+ __u);
70
+ }
71
+
72
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
73
+ _mm256_cmpeq_epu8_mask(__m256i __a, __m256i __b) {
74
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
75
+ (__mmask32)-1);
76
+ }
77
+
78
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
79
+ _mm256_mask_cmpeq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
80
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 0,
81
+ __u);
82
+ }
83
+
84
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
85
+ _mm_cmpeq_epi16_mask(__m128i __a, __m128i __b) {
86
+ return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
87
+ (__mmask8)-1);
88
+ }
89
+
90
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
91
+ _mm_mask_cmpeq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
92
+ return (__mmask8)__builtin_ia32_pcmpeqw128_mask((__v8hi)__a, (__v8hi)__b,
93
+ __u);
94
+ }
95
+
96
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
97
+ _mm_cmpeq_epu16_mask(__m128i __a, __m128i __b) {
98
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
99
+ (__mmask8)-1);
100
+ }
101
+
102
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
103
+ _mm_mask_cmpeq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
104
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 0,
105
+ __u);
106
+ }
107
+
108
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
109
+ _mm256_cmpeq_epi16_mask(__m256i __a, __m256i __b) {
110
+ return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
111
+ (__mmask16)-1);
112
+ }
113
+
114
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
115
+ _mm256_mask_cmpeq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
116
+ return (__mmask16)__builtin_ia32_pcmpeqw256_mask((__v16hi)__a, (__v16hi)__b,
117
+ __u);
118
+ }
119
+
120
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
121
+ _mm256_cmpeq_epu16_mask(__m256i __a, __m256i __b) {
122
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
123
+ (__mmask16)-1);
124
+ }
125
+
126
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
127
+ _mm256_mask_cmpeq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
128
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 0,
129
+ __u);
130
+ }
131
+
132
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
133
+ _mm_cmpge_epi8_mask(__m128i __a, __m128i __b) {
134
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
135
+ (__mmask16)-1);
136
+ }
137
+
138
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
139
+ _mm_mask_cmpge_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
140
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
141
+ __u);
142
+ }
143
+
144
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
145
+ _mm_cmpge_epu8_mask(__m128i __a, __m128i __b) {
146
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
147
+ (__mmask16)-1);
148
+ }
149
+
150
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
151
+ _mm_mask_cmpge_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
152
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 5,
153
+ __u);
154
+ }
155
+
156
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
157
+ _mm256_cmpge_epi8_mask(__m256i __a, __m256i __b) {
158
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
159
+ (__mmask32)-1);
160
+ }
161
+
162
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
163
+ _mm256_mask_cmpge_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
164
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
165
+ __u);
166
+ }
167
+
168
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
169
+ _mm256_cmpge_epu8_mask(__m256i __a, __m256i __b) {
170
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
171
+ (__mmask32)-1);
172
+ }
173
+
174
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
175
+ _mm256_mask_cmpge_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
176
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 5,
177
+ __u);
178
+ }
179
+
180
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
181
+ _mm_cmpge_epi16_mask(__m128i __a, __m128i __b) {
182
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
183
+ (__mmask8)-1);
184
+ }
185
+
186
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
187
+ _mm_mask_cmpge_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
188
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
189
+ __u);
190
+ }
191
+
192
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
193
+ _mm_cmpge_epu16_mask(__m128i __a, __m128i __b) {
194
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
195
+ (__mmask8)-1);
196
+ }
197
+
198
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
199
+ _mm_mask_cmpge_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
200
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 5,
201
+ __u);
202
+ }
203
+
204
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
205
+ _mm256_cmpge_epi16_mask(__m256i __a, __m256i __b) {
206
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
207
+ (__mmask16)-1);
208
+ }
209
+
210
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
211
+ _mm256_mask_cmpge_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
212
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
213
+ __u);
214
+ }
215
+
216
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
217
+ _mm256_cmpge_epu16_mask(__m256i __a, __m256i __b) {
218
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
219
+ (__mmask16)-1);
220
+ }
221
+
222
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
223
+ _mm256_mask_cmpge_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
224
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 5,
225
+ __u);
226
+ }
227
+
228
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
229
+ _mm_cmpgt_epi8_mask(__m128i __a, __m128i __b) {
230
+ return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
231
+ (__mmask16)-1);
232
+ }
233
+
234
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
235
+ _mm_mask_cmpgt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
236
+ return (__mmask16)__builtin_ia32_pcmpgtb128_mask((__v16qi)__a, (__v16qi)__b,
237
+ __u);
238
+ }
239
+
240
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
241
+ _mm_cmpgt_epu8_mask(__m128i __a, __m128i __b) {
242
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
243
+ (__mmask16)-1);
244
+ }
245
+
246
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
247
+ _mm_mask_cmpgt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
248
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 6,
249
+ __u);
250
+ }
251
+
252
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
253
+ _mm256_cmpgt_epi8_mask(__m256i __a, __m256i __b) {
254
+ return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
255
+ (__mmask32)-1);
256
+ }
257
+
258
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
259
+ _mm256_mask_cmpgt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
260
+ return (__mmask32)__builtin_ia32_pcmpgtb256_mask((__v32qi)__a, (__v32qi)__b,
261
+ __u);
262
+ }
263
+
264
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
265
+ _mm256_cmpgt_epu8_mask(__m256i __a, __m256i __b) {
266
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
267
+ (__mmask32)-1);
268
+ }
269
+
270
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
271
+ _mm256_mask_cmpgt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
272
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 6,
273
+ __u);
274
+ }
275
+
276
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
277
+ _mm_cmpgt_epi16_mask(__m128i __a, __m128i __b) {
278
+ return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
279
+ (__mmask8)-1);
280
+ }
281
+
282
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
283
+ _mm_mask_cmpgt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
284
+ return (__mmask8)__builtin_ia32_pcmpgtw128_mask((__v8hi)__a, (__v8hi)__b,
285
+ __u);
286
+ }
287
+
288
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
289
+ _mm_cmpgt_epu16_mask(__m128i __a, __m128i __b) {
290
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
291
+ (__mmask8)-1);
292
+ }
293
+
294
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
295
+ _mm_mask_cmpgt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
296
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 6,
297
+ __u);
298
+ }
299
+
300
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
301
+ _mm256_cmpgt_epi16_mask(__m256i __a, __m256i __b) {
302
+ return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
303
+ (__mmask16)-1);
304
+ }
305
+
306
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
307
+ _mm256_mask_cmpgt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
308
+ return (__mmask16)__builtin_ia32_pcmpgtw256_mask((__v16hi)__a, (__v16hi)__b,
309
+ __u);
310
+ }
311
+
312
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
313
+ _mm256_cmpgt_epu16_mask(__m256i __a, __m256i __b) {
314
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
315
+ (__mmask16)-1);
316
+ }
317
+
318
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
319
+ _mm256_mask_cmpgt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
320
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 6,
321
+ __u);
322
+ }
323
+
324
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
325
+ _mm_cmple_epi8_mask(__m128i __a, __m128i __b) {
326
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
327
+ (__mmask16)-1);
328
+ }
329
+
330
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
331
+ _mm_mask_cmple_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
332
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
333
+ __u);
334
+ }
335
+
336
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
337
+ _mm_cmple_epu8_mask(__m128i __a, __m128i __b) {
338
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
339
+ (__mmask16)-1);
340
+ }
341
+
342
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
343
+ _mm_mask_cmple_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
344
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 2,
345
+ __u);
346
+ }
347
+
348
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
349
+ _mm256_cmple_epi8_mask(__m256i __a, __m256i __b) {
350
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
351
+ (__mmask32)-1);
352
+ }
353
+
354
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
355
+ _mm256_mask_cmple_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
356
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
357
+ __u);
358
+ }
359
+
360
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
361
+ _mm256_cmple_epu8_mask(__m256i __a, __m256i __b) {
362
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
363
+ (__mmask32)-1);
364
+ }
365
+
366
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
367
+ _mm256_mask_cmple_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
368
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 2,
369
+ __u);
370
+ }
371
+
372
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
373
+ _mm_cmple_epi16_mask(__m128i __a, __m128i __b) {
374
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
375
+ (__mmask8)-1);
376
+ }
377
+
378
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
379
+ _mm_mask_cmple_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
380
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
381
+ __u);
382
+ }
383
+
384
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
385
+ _mm_cmple_epu16_mask(__m128i __a, __m128i __b) {
386
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
387
+ (__mmask8)-1);
388
+ }
389
+
390
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
391
+ _mm_mask_cmple_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
392
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 2,
393
+ __u);
394
+ }
395
+
396
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
397
+ _mm256_cmple_epi16_mask(__m256i __a, __m256i __b) {
398
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
399
+ (__mmask16)-1);
400
+ }
401
+
402
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
403
+ _mm256_mask_cmple_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
404
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
405
+ __u);
406
+ }
407
+
408
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
409
+ _mm256_cmple_epu16_mask(__m256i __a, __m256i __b) {
410
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
411
+ (__mmask16)-1);
412
+ }
413
+
414
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
415
+ _mm256_mask_cmple_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
416
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 2,
417
+ __u);
418
+ }
419
+
420
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
421
+ _mm_cmplt_epi8_mask(__m128i __a, __m128i __b) {
422
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
423
+ (__mmask16)-1);
424
+ }
425
+
426
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
427
+ _mm_mask_cmplt_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
428
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
429
+ __u);
430
+ }
431
+
432
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
433
+ _mm_cmplt_epu8_mask(__m128i __a, __m128i __b) {
434
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
435
+ (__mmask16)-1);
436
+ }
437
+
438
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
439
+ _mm_mask_cmplt_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
440
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 1,
441
+ __u);
442
+ }
443
+
444
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
445
+ _mm256_cmplt_epi8_mask(__m256i __a, __m256i __b) {
446
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
447
+ (__mmask32)-1);
448
+ }
449
+
450
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
451
+ _mm256_mask_cmplt_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
452
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
453
+ __u);
454
+ }
455
+
456
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
457
+ _mm256_cmplt_epu8_mask(__m256i __a, __m256i __b) {
458
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
459
+ (__mmask32)-1);
460
+ }
461
+
462
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
463
+ _mm256_mask_cmplt_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
464
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 1,
465
+ __u);
466
+ }
467
+
468
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
469
+ _mm_cmplt_epi16_mask(__m128i __a, __m128i __b) {
470
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
471
+ (__mmask8)-1);
472
+ }
473
+
474
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
475
+ _mm_mask_cmplt_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
476
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
477
+ __u);
478
+ }
479
+
480
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
481
+ _mm_cmplt_epu16_mask(__m128i __a, __m128i __b) {
482
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
483
+ (__mmask8)-1);
484
+ }
485
+
486
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
487
+ _mm_mask_cmplt_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
488
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 1,
489
+ __u);
490
+ }
491
+
492
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
493
+ _mm256_cmplt_epi16_mask(__m256i __a, __m256i __b) {
494
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
495
+ (__mmask16)-1);
496
+ }
497
+
498
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
499
+ _mm256_mask_cmplt_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
500
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
501
+ __u);
502
+ }
503
+
504
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
505
+ _mm256_cmplt_epu16_mask(__m256i __a, __m256i __b) {
506
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
507
+ (__mmask16)-1);
508
+ }
509
+
510
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
511
+ _mm256_mask_cmplt_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
512
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 1,
513
+ __u);
514
+ }
515
+
516
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
517
+ _mm_cmpneq_epi8_mask(__m128i __a, __m128i __b) {
518
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
519
+ (__mmask16)-1);
520
+ }
521
+
522
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
523
+ _mm_mask_cmpneq_epi8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
524
+ return (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
525
+ __u);
526
+ }
527
+
528
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
529
+ _mm_cmpneq_epu8_mask(__m128i __a, __m128i __b) {
530
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
531
+ (__mmask16)-1);
532
+ }
533
+
534
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
535
+ _mm_mask_cmpneq_epu8_mask(__mmask16 __u, __m128i __a, __m128i __b) {
536
+ return (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)__a, (__v16qi)__b, 4,
537
+ __u);
538
+ }
539
+
540
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
541
+ _mm256_cmpneq_epi8_mask(__m256i __a, __m256i __b) {
542
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
543
+ (__mmask32)-1);
544
+ }
545
+
546
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
547
+ _mm256_mask_cmpneq_epi8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
548
+ return (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
549
+ __u);
550
+ }
551
+
552
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
553
+ _mm256_cmpneq_epu8_mask(__m256i __a, __m256i __b) {
554
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
555
+ (__mmask32)-1);
556
+ }
557
+
558
+ static __inline__ __mmask32 __DEFAULT_FN_ATTRS
559
+ _mm256_mask_cmpneq_epu8_mask(__mmask32 __u, __m256i __a, __m256i __b) {
560
+ return (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)__a, (__v32qi)__b, 4,
561
+ __u);
562
+ }
563
+
564
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
565
+ _mm_cmpneq_epi16_mask(__m128i __a, __m128i __b) {
566
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
567
+ (__mmask8)-1);
568
+ }
569
+
570
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
571
+ _mm_mask_cmpneq_epi16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
572
+ return (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
573
+ __u);
574
+ }
575
+
576
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
577
+ _mm_cmpneq_epu16_mask(__m128i __a, __m128i __b) {
578
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
579
+ (__mmask8)-1);
580
+ }
581
+
582
+ static __inline__ __mmask8 __DEFAULT_FN_ATTRS
583
+ _mm_mask_cmpneq_epu16_mask(__mmask8 __u, __m128i __a, __m128i __b) {
584
+ return (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)__a, (__v8hi)__b, 4,
585
+ __u);
586
+ }
587
+
588
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
589
+ _mm256_cmpneq_epi16_mask(__m256i __a, __m256i __b) {
590
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
591
+ (__mmask16)-1);
592
+ }
593
+
594
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
595
+ _mm256_mask_cmpneq_epi16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
596
+ return (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
597
+ __u);
598
+ }
599
+
600
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
601
+ _mm256_cmpneq_epu16_mask(__m256i __a, __m256i __b) {
602
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
603
+ (__mmask16)-1);
604
+ }
605
+
606
+ static __inline__ __mmask16 __DEFAULT_FN_ATTRS
607
+ _mm256_mask_cmpneq_epu16_mask(__mmask16 __u, __m256i __a, __m256i __b) {
608
+ return (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)__a, (__v16hi)__b, 4,
609
+ __u);
610
+ }
611
+
612
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
613
+ _mm256_mask_add_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B){
614
+ return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
615
+ (__v32qi) __B,
616
+ (__v32qi) __W,
617
+ (__mmask32) __U);
618
+ }
619
+
620
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
621
+ _mm256_maskz_add_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
622
+ return (__m256i) __builtin_ia32_paddb256_mask ((__v32qi) __A,
623
+ (__v32qi) __B,
624
+ (__v32qi)
625
+ _mm256_setzero_si256 (),
626
+ (__mmask32) __U);
627
+ }
628
+
629
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
630
+ _mm256_mask_add_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
631
+ return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
632
+ (__v16hi) __B,
633
+ (__v16hi) __W,
634
+ (__mmask16) __U);
635
+ }
636
+
637
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
638
+ _mm256_maskz_add_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
639
+ return (__m256i) __builtin_ia32_paddw256_mask ((__v16hi) __A,
640
+ (__v16hi) __B,
641
+ (__v16hi)
642
+ _mm256_setzero_si256 (),
643
+ (__mmask16) __U);
644
+ }
645
+
646
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
647
+ _mm256_mask_sub_epi8 (__m256i __W, __mmask32 __U, __m256i __A, __m256i __B) {
648
+ return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
649
+ (__v32qi) __B,
650
+ (__v32qi) __W,
651
+ (__mmask32) __U);
652
+ }
653
+
654
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
655
+ _mm256_maskz_sub_epi8 (__mmask32 __U, __m256i __A, __m256i __B) {
656
+ return (__m256i) __builtin_ia32_psubb256_mask ((__v32qi) __A,
657
+ (__v32qi) __B,
658
+ (__v32qi)
659
+ _mm256_setzero_si256 (),
660
+ (__mmask32) __U);
661
+ }
662
+
663
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
664
+ _mm256_mask_sub_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
665
+ return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
666
+ (__v16hi) __B,
667
+ (__v16hi) __W,
668
+ (__mmask16) __U);
669
+ }
670
+
671
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
672
+ _mm256_maskz_sub_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
673
+ return (__m256i) __builtin_ia32_psubw256_mask ((__v16hi) __A,
674
+ (__v16hi) __B,
675
+ (__v16hi)
676
+ _mm256_setzero_si256 (),
677
+ (__mmask16) __U);
678
+ }
679
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
680
+ _mm_mask_add_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
681
+ return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
682
+ (__v16qi) __B,
683
+ (__v16qi) __W,
684
+ (__mmask16) __U);
685
+ }
686
+
687
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
688
+ _mm_maskz_add_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
689
+ return (__m128i) __builtin_ia32_paddb128_mask ((__v16qi) __A,
690
+ (__v16qi) __B,
691
+ (__v16qi)
692
+ _mm_setzero_si128 (),
693
+ (__mmask16) __U);
694
+ }
695
+
696
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
697
+ _mm_mask_add_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
698
+ return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
699
+ (__v8hi) __B,
700
+ (__v8hi) __W,
701
+ (__mmask8) __U);
702
+ }
703
+
704
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
705
+ _mm_maskz_add_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
706
+ return (__m128i) __builtin_ia32_paddw128_mask ((__v8hi) __A,
707
+ (__v8hi) __B,
708
+ (__v8hi)
709
+ _mm_setzero_si128 (),
710
+ (__mmask8) __U);
711
+ }
712
+
713
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
714
+ _mm_mask_sub_epi8 (__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) {
715
+ return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
716
+ (__v16qi) __B,
717
+ (__v16qi) __W,
718
+ (__mmask16) __U);
719
+ }
720
+
721
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
722
+ _mm_maskz_sub_epi8 (__mmask16 __U, __m128i __A, __m128i __B) {
723
+ return (__m128i) __builtin_ia32_psubb128_mask ((__v16qi) __A,
724
+ (__v16qi) __B,
725
+ (__v16qi)
726
+ _mm_setzero_si128 (),
727
+ (__mmask16) __U);
728
+ }
729
+
730
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
731
+ _mm_mask_sub_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
732
+ return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
733
+ (__v8hi) __B,
734
+ (__v8hi) __W,
735
+ (__mmask8) __U);
736
+ }
737
+
738
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
739
+ _mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
740
+ return (__m128i) __builtin_ia32_psubw128_mask ((__v8hi) __A,
741
+ (__v8hi) __B,
742
+ (__v8hi)
743
+ _mm_setzero_si128 (),
744
+ (__mmask8) __U);
745
+ }
746
+
747
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
748
+ _mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
749
+ return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
750
+ (__v16hi) __B,
751
+ (__v16hi) __W,
752
+ (__mmask16) __U);
753
+ }
754
+
755
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
756
+ _mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
757
+ return (__m256i) __builtin_ia32_pmullw256_mask ((__v16hi) __A,
758
+ (__v16hi) __B,
759
+ (__v16hi)
760
+ _mm256_setzero_si256 (),
761
+ (__mmask16) __U);
762
+ }
763
+
764
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
765
+ _mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
766
+ return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
767
+ (__v8hi) __B,
768
+ (__v8hi) __W,
769
+ (__mmask8) __U);
770
+ }
771
+
772
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
773
+ _mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
774
+ return (__m128i) __builtin_ia32_pmullw128_mask ((__v8hi) __A,
775
+ (__v8hi) __B,
776
+ (__v8hi)
777
+ _mm_setzero_si128 (),
778
+ (__mmask8) __U);
779
+ }
780
+
781
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
782
+ _mm_mask_blend_epi8 (__mmask16 __U, __m128i __A, __m128i __W)
783
+ {
784
+ return (__m128i) __builtin_ia32_blendmb_128_mask ((__v16qi) __A,
785
+ (__v16qi) __W,
786
+ (__mmask16) __U);
787
+ }
788
+
789
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
790
+ _mm256_mask_blend_epi8 (__mmask32 __U, __m256i __A, __m256i __W)
791
+ {
792
+ return (__m256i) __builtin_ia32_blendmb_256_mask ((__v32qi) __A,
793
+ (__v32qi) __W,
794
+ (__mmask32) __U);
795
+ }
796
+
797
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
798
+ _mm_mask_blend_epi16 (__mmask8 __U, __m128i __A, __m128i __W)
799
+ {
800
+ return (__m128i) __builtin_ia32_blendmw_128_mask ((__v8hi) __A,
801
+ (__v8hi) __W,
802
+ (__mmask8) __U);
803
+ }
804
+
805
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
806
+ _mm256_mask_blend_epi16 (__mmask16 __U, __m256i __A, __m256i __W)
807
+ {
808
+ return (__m256i) __builtin_ia32_blendmw_256_mask ((__v16hi) __A,
809
+ (__v16hi) __W,
810
+ (__mmask16) __U);
811
+ }
812
+
813
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
814
+ _mm_mask_abs_epi8 (__m128i __W, __mmask16 __U, __m128i __A)
815
+ {
816
+ return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
817
+ (__v16qi) __W,
818
+ (__mmask16) __U);
819
+ }
820
+
821
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
822
+ _mm_maskz_abs_epi8 (__mmask16 __U, __m128i __A)
823
+ {
824
+ return (__m128i) __builtin_ia32_pabsb128_mask ((__v16qi) __A,
825
+ (__v16qi) _mm_setzero_si128 (),
826
+ (__mmask16) __U);
827
+ }
828
+
829
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
830
+ _mm256_mask_abs_epi8 (__m256i __W, __mmask32 __U, __m256i __A)
831
+ {
832
+ return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
833
+ (__v32qi) __W,
834
+ (__mmask32) __U);
835
+ }
836
+
837
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
838
+ _mm256_maskz_abs_epi8 (__mmask32 __U, __m256i __A)
839
+ {
840
+ return (__m256i) __builtin_ia32_pabsb256_mask ((__v32qi) __A,
841
+ (__v32qi) _mm256_setzero_si256 (),
842
+ (__mmask32) __U);
843
+ }
844
+
845
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
846
+ _mm_mask_abs_epi16 (__m128i __W, __mmask8 __U, __m128i __A)
847
+ {
848
+ return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
849
+ (__v8hi) __W,
850
+ (__mmask8) __U);
851
+ }
852
+
853
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
854
+ _mm_maskz_abs_epi16 (__mmask8 __U, __m128i __A)
855
+ {
856
+ return (__m128i) __builtin_ia32_pabsw128_mask ((__v8hi) __A,
857
+ (__v8hi) _mm_setzero_si128 (),
858
+ (__mmask8) __U);
859
+ }
860
+
861
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
862
+ _mm256_mask_abs_epi16 (__m256i __W, __mmask16 __U, __m256i __A)
863
+ {
864
+ return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
865
+ (__v16hi) __W,
866
+ (__mmask16) __U);
867
+ }
868
+
869
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
870
+ _mm256_maskz_abs_epi16 (__mmask16 __U, __m256i __A)
871
+ {
872
+ return (__m256i) __builtin_ia32_pabsw256_mask ((__v16hi) __A,
873
+ (__v16hi) _mm256_setzero_si256 (),
874
+ (__mmask16) __U);
875
+ }
876
+
877
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
878
+ _mm_maskz_packs_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
879
+ {
880
+ return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
881
+ (__v4si) __B,
882
+ (__v8hi) _mm_setzero_si128 (), __M);
883
+ }
884
+
885
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
886
+ _mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
887
+ __m128i __B)
888
+ {
889
+ return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A,
890
+ (__v4si) __B,
891
+ (__v8hi) __W, __M);
892
+ }
893
+
894
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
895
+ _mm256_maskz_packs_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
896
+ {
897
+ return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
898
+ (__v8si) __B,
899
+ (__v16hi) _mm256_setzero_si256 (),
900
+ __M);
901
+ }
902
+
903
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
904
+ _mm256_mask_packs_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
905
+ __m256i __B)
906
+ {
907
+ return (__m256i) __builtin_ia32_packssdw256_mask ((__v8si) __A,
908
+ (__v8si) __B,
909
+ (__v16hi) __W, __M);
910
+ }
911
+
912
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
913
+ _mm_maskz_packs_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
914
+ {
915
+ return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
916
+ (__v8hi) __B,
917
+ (__v16qi) _mm_setzero_si128 (),
918
+ __M);
919
+ }
920
+
921
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
922
+ _mm_mask_packs_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
923
+ __m128i __B)
924
+ {
925
+ return (__m128i) __builtin_ia32_packsswb128_mask ((__v8hi) __A,
926
+ (__v8hi) __B,
927
+ (__v16qi) __W,
928
+ __M);
929
+ }
930
+
931
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
932
+ _mm256_maskz_packs_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
933
+ {
934
+ return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
935
+ (__v16hi) __B,
936
+ (__v32qi) _mm256_setzero_si256 (),
937
+ __M);
938
+ }
939
+
940
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
941
+ _mm256_mask_packs_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
942
+ __m256i __B)
943
+ {
944
+ return (__m256i) __builtin_ia32_packsswb256_mask ((__v16hi) __A,
945
+ (__v16hi) __B,
946
+ (__v32qi) __W,
947
+ __M);
948
+ }
949
+
950
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
951
+ _mm_maskz_packus_epi32 (__mmask8 __M, __m128i __A, __m128i __B)
952
+ {
953
+ return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
954
+ (__v4si) __B,
955
+ (__v8hi) _mm_setzero_si128 (),
956
+ __M);
957
+ }
958
+
959
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
960
+ _mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A,
961
+ __m128i __B)
962
+ {
963
+ return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A,
964
+ (__v4si) __B,
965
+ (__v8hi) __W, __M);
966
+ }
967
+
968
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
969
+ _mm256_maskz_packus_epi32 (__mmask16 __M, __m256i __A, __m256i __B)
970
+ {
971
+ return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
972
+ (__v8si) __B,
973
+ (__v16hi) _mm256_setzero_si256 (),
974
+ __M);
975
+ }
976
+
977
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
978
+ _mm256_mask_packus_epi32 (__m256i __W, __mmask16 __M, __m256i __A,
979
+ __m256i __B)
980
+ {
981
+ return (__m256i) __builtin_ia32_packusdw256_mask ((__v8si) __A,
982
+ (__v8si) __B,
983
+ (__v16hi) __W,
984
+ __M);
985
+ }
986
+
987
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
988
+ _mm_maskz_packus_epi16 (__mmask16 __M, __m128i __A, __m128i __B)
989
+ {
990
+ return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
991
+ (__v8hi) __B,
992
+ (__v16qi) _mm_setzero_si128 (),
993
+ __M);
994
+ }
995
+
996
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
997
+ _mm_mask_packus_epi16 (__m128i __W, __mmask16 __M, __m128i __A,
998
+ __m128i __B)
999
+ {
1000
+ return (__m128i) __builtin_ia32_packuswb128_mask ((__v8hi) __A,
1001
+ (__v8hi) __B,
1002
+ (__v16qi) __W,
1003
+ __M);
1004
+ }
1005
+
1006
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1007
+ _mm256_maskz_packus_epi16 (__mmask32 __M, __m256i __A, __m256i __B)
1008
+ {
1009
+ return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1010
+ (__v16hi) __B,
1011
+ (__v32qi) _mm256_setzero_si256 (),
1012
+ __M);
1013
+ }
1014
+
1015
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1016
+ _mm256_mask_packus_epi16 (__m256i __W, __mmask32 __M, __m256i __A,
1017
+ __m256i __B)
1018
+ {
1019
+ return (__m256i) __builtin_ia32_packuswb256_mask ((__v16hi) __A,
1020
+ (__v16hi) __B,
1021
+ (__v32qi) __W,
1022
+ __M);
1023
+ }
1024
+
1025
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1026
+ _mm_mask_adds_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1027
+ __m128i __B)
1028
+ {
1029
+ return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1030
+ (__v16qi) __B,
1031
+ (__v16qi) __W,
1032
+ (__mmask16) __U);
1033
+ }
1034
+
1035
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1036
+ _mm_maskz_adds_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1037
+ {
1038
+ return (__m128i) __builtin_ia32_paddsb128_mask ((__v16qi) __A,
1039
+ (__v16qi) __B,
1040
+ (__v16qi) _mm_setzero_si128 (),
1041
+ (__mmask16) __U);
1042
+ }
1043
+
1044
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1045
+ _mm256_mask_adds_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1046
+ __m256i __B)
1047
+ {
1048
+ return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1049
+ (__v32qi) __B,
1050
+ (__v32qi) __W,
1051
+ (__mmask32) __U);
1052
+ }
1053
+
1054
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1055
+ _mm256_maskz_adds_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1056
+ {
1057
+ return (__m256i) __builtin_ia32_paddsb256_mask ((__v32qi) __A,
1058
+ (__v32qi) __B,
1059
+ (__v32qi) _mm256_setzero_si256 (),
1060
+ (__mmask32) __U);
1061
+ }
1062
+
1063
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1064
+ _mm_mask_adds_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
1065
+ __m128i __B)
1066
+ {
1067
+ return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1068
+ (__v8hi) __B,
1069
+ (__v8hi) __W,
1070
+ (__mmask8) __U);
1071
+ }
1072
+
1073
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1074
+ _mm_maskz_adds_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
1075
+ {
1076
+ return (__m128i) __builtin_ia32_paddsw128_mask ((__v8hi) __A,
1077
+ (__v8hi) __B,
1078
+ (__v8hi) _mm_setzero_si128 (),
1079
+ (__mmask8) __U);
1080
+ }
1081
+
1082
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1083
+ _mm256_mask_adds_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
1084
+ __m256i __B)
1085
+ {
1086
+ return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1087
+ (__v16hi) __B,
1088
+ (__v16hi) __W,
1089
+ (__mmask16) __U);
1090
+ }
1091
+
1092
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1093
+ _mm256_maskz_adds_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
1094
+ {
1095
+ return (__m256i) __builtin_ia32_paddsw256_mask ((__v16hi) __A,
1096
+ (__v16hi) __B,
1097
+ (__v16hi) _mm256_setzero_si256 (),
1098
+ (__mmask16) __U);
1099
+ }
1100
+
1101
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1102
+ _mm_mask_adds_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1103
+ __m128i __B)
1104
+ {
1105
+ return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1106
+ (__v16qi) __B,
1107
+ (__v16qi) __W,
1108
+ (__mmask16) __U);
1109
+ }
1110
+
1111
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1112
+ _mm_maskz_adds_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1113
+ {
1114
+ return (__m128i) __builtin_ia32_paddusb128_mask ((__v16qi) __A,
1115
+ (__v16qi) __B,
1116
+ (__v16qi) _mm_setzero_si128 (),
1117
+ (__mmask16) __U);
1118
+ }
1119
+
1120
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1121
+ _mm256_mask_adds_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1122
+ __m256i __B)
1123
+ {
1124
+ return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1125
+ (__v32qi) __B,
1126
+ (__v32qi) __W,
1127
+ (__mmask32) __U);
1128
+ }
1129
+
1130
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1131
+ _mm256_maskz_adds_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1132
+ {
1133
+ return (__m256i) __builtin_ia32_paddusb256_mask ((__v32qi) __A,
1134
+ (__v32qi) __B,
1135
+ (__v32qi) _mm256_setzero_si256 (),
1136
+ (__mmask32) __U);
1137
+ }
1138
+
1139
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1140
+ _mm_mask_adds_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1141
+ __m128i __B)
1142
+ {
1143
+ return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1144
+ (__v8hi) __B,
1145
+ (__v8hi) __W,
1146
+ (__mmask8) __U);
1147
+ }
1148
+
1149
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1150
+ _mm_maskz_adds_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1151
+ {
1152
+ return (__m128i) __builtin_ia32_paddusw128_mask ((__v8hi) __A,
1153
+ (__v8hi) __B,
1154
+ (__v8hi) _mm_setzero_si128 (),
1155
+ (__mmask8) __U);
1156
+ }
1157
+
1158
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1159
+ _mm256_mask_adds_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1160
+ __m256i __B)
1161
+ {
1162
+ return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1163
+ (__v16hi) __B,
1164
+ (__v16hi) __W,
1165
+ (__mmask16) __U);
1166
+ }
1167
+
1168
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1169
+ _mm256_maskz_adds_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1170
+ {
1171
+ return (__m256i) __builtin_ia32_paddusw256_mask ((__v16hi) __A,
1172
+ (__v16hi) __B,
1173
+ (__v16hi) _mm256_setzero_si256 (),
1174
+ (__mmask16) __U);
1175
+ }
1176
+
1177
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1178
+ _mm_mask_avg_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1179
+ __m128i __B)
1180
+ {
1181
+ return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1182
+ (__v16qi) __B,
1183
+ (__v16qi) __W,
1184
+ (__mmask16) __U);
1185
+ }
1186
+
1187
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1188
+ _mm_maskz_avg_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1189
+ {
1190
+ return (__m128i) __builtin_ia32_pavgb128_mask ((__v16qi) __A,
1191
+ (__v16qi) __B,
1192
+ (__v16qi) _mm_setzero_si128 (),
1193
+ (__mmask16) __U);
1194
+ }
1195
+
1196
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1197
+ _mm256_mask_avg_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1198
+ __m256i __B)
1199
+ {
1200
+ return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1201
+ (__v32qi) __B,
1202
+ (__v32qi) __W,
1203
+ (__mmask32) __U);
1204
+ }
1205
+
1206
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1207
+ _mm256_maskz_avg_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1208
+ {
1209
+ return (__m256i) __builtin_ia32_pavgb256_mask ((__v32qi) __A,
1210
+ (__v32qi) __B,
1211
+ (__v32qi) _mm256_setzero_si256 (),
1212
+ (__mmask32) __U);
1213
+ }
1214
+
1215
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1216
+ _mm_mask_avg_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1217
+ __m128i __B)
1218
+ {
1219
+ return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1220
+ (__v8hi) __B,
1221
+ (__v8hi) __W,
1222
+ (__mmask8) __U);
1223
+ }
1224
+
1225
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1226
+ _mm_maskz_avg_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1227
+ {
1228
+ return (__m128i) __builtin_ia32_pavgw128_mask ((__v8hi) __A,
1229
+ (__v8hi) __B,
1230
+ (__v8hi) _mm_setzero_si128 (),
1231
+ (__mmask8) __U);
1232
+ }
1233
+
1234
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1235
+ _mm256_mask_avg_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1236
+ __m256i __B)
1237
+ {
1238
+ return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1239
+ (__v16hi) __B,
1240
+ (__v16hi) __W,
1241
+ (__mmask16) __U);
1242
+ }
1243
+
1244
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1245
+ _mm256_maskz_avg_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1246
+ {
1247
+ return (__m256i) __builtin_ia32_pavgw256_mask ((__v16hi) __A,
1248
+ (__v16hi) __B,
1249
+ (__v16hi) _mm256_setzero_si256 (),
1250
+ (__mmask16) __U);
1251
+ }
1252
+
1253
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1254
+ _mm_maskz_max_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
1255
+ {
1256
+ return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1257
+ (__v16qi) __B,
1258
+ (__v16qi) _mm_setzero_si128 (),
1259
+ (__mmask16) __M);
1260
+ }
1261
+
1262
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1263
+ _mm_mask_max_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
1264
+ __m128i __B)
1265
+ {
1266
+ return (__m128i) __builtin_ia32_pmaxsb128_mask ((__v16qi) __A,
1267
+ (__v16qi) __B,
1268
+ (__v16qi) __W,
1269
+ (__mmask16) __M);
1270
+ }
1271
+
1272
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1273
+ _mm256_maskz_max_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
1274
+ {
1275
+ return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1276
+ (__v32qi) __B,
1277
+ (__v32qi) _mm256_setzero_si256 (),
1278
+ (__mmask32) __M);
1279
+ }
1280
+
1281
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1282
+ _mm256_mask_max_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
1283
+ __m256i __B)
1284
+ {
1285
+ return (__m256i) __builtin_ia32_pmaxsb256_mask ((__v32qi) __A,
1286
+ (__v32qi) __B,
1287
+ (__v32qi) __W,
1288
+ (__mmask32) __M);
1289
+ }
1290
+
1291
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1292
+ _mm_maskz_max_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
1293
+ {
1294
+ return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1295
+ (__v8hi) __B,
1296
+ (__v8hi) _mm_setzero_si128 (),
1297
+ (__mmask8) __M);
1298
+ }
1299
+
1300
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1301
+ _mm_mask_max_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
1302
+ __m128i __B)
1303
+ {
1304
+ return (__m128i) __builtin_ia32_pmaxsw128_mask ((__v8hi) __A,
1305
+ (__v8hi) __B,
1306
+ (__v8hi) __W,
1307
+ (__mmask8) __M);
1308
+ }
1309
+
1310
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1311
+ _mm256_maskz_max_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
1312
+ {
1313
+ return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1314
+ (__v16hi) __B,
1315
+ (__v16hi) _mm256_setzero_si256 (),
1316
+ (__mmask16) __M);
1317
+ }
1318
+
1319
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1320
+ _mm256_mask_max_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
1321
+ __m256i __B)
1322
+ {
1323
+ return (__m256i) __builtin_ia32_pmaxsw256_mask ((__v16hi) __A,
1324
+ (__v16hi) __B,
1325
+ (__v16hi) __W,
1326
+ (__mmask16) __M);
1327
+ }
1328
+
1329
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1330
+ _mm_maskz_max_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
1331
+ {
1332
+ return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1333
+ (__v16qi) __B,
1334
+ (__v16qi) _mm_setzero_si128 (),
1335
+ (__mmask16) __M);
1336
+ }
1337
+
1338
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1339
+ _mm_mask_max_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
1340
+ __m128i __B)
1341
+ {
1342
+ return (__m128i) __builtin_ia32_pmaxub128_mask ((__v16qi) __A,
1343
+ (__v16qi) __B,
1344
+ (__v16qi) __W,
1345
+ (__mmask16) __M);
1346
+ }
1347
+
1348
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1349
+ _mm256_maskz_max_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1350
+ {
1351
+ return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1352
+ (__v32qi) __B,
1353
+ (__v32qi) _mm256_setzero_si256 (),
1354
+ (__mmask32) __M);
1355
+ }
1356
+
1357
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1358
+ _mm256_mask_max_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
1359
+ __m256i __B)
1360
+ {
1361
+ return (__m256i) __builtin_ia32_pmaxub256_mask ((__v32qi) __A,
1362
+ (__v32qi) __B,
1363
+ (__v32qi) __W,
1364
+ (__mmask32) __M);
1365
+ }
1366
+
1367
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1368
+ _mm_maskz_max_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
1369
+ {
1370
+ return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1371
+ (__v8hi) __B,
1372
+ (__v8hi) _mm_setzero_si128 (),
1373
+ (__mmask8) __M);
1374
+ }
1375
+
1376
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1377
+ _mm_mask_max_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
1378
+ __m128i __B)
1379
+ {
1380
+ return (__m128i) __builtin_ia32_pmaxuw128_mask ((__v8hi) __A,
1381
+ (__v8hi) __B,
1382
+ (__v8hi) __W,
1383
+ (__mmask8) __M);
1384
+ }
1385
+
1386
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1387
+ _mm256_maskz_max_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
1388
+ {
1389
+ return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1390
+ (__v16hi) __B,
1391
+ (__v16hi) _mm256_setzero_si256 (),
1392
+ (__mmask16) __M);
1393
+ }
1394
+
1395
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1396
+ _mm256_mask_max_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
1397
+ __m256i __B)
1398
+ {
1399
+ return (__m256i) __builtin_ia32_pmaxuw256_mask ((__v16hi) __A,
1400
+ (__v16hi) __B,
1401
+ (__v16hi) __W,
1402
+ (__mmask16) __M);
1403
+ }
1404
+
1405
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1406
+ _mm_maskz_min_epi8 (__mmask16 __M, __m128i __A, __m128i __B)
1407
+ {
1408
+ return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1409
+ (__v16qi) __B,
1410
+ (__v16qi) _mm_setzero_si128 (),
1411
+ (__mmask16) __M);
1412
+ }
1413
+
1414
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1415
+ _mm_mask_min_epi8 (__m128i __W, __mmask16 __M, __m128i __A,
1416
+ __m128i __B)
1417
+ {
1418
+ return (__m128i) __builtin_ia32_pminsb128_mask ((__v16qi) __A,
1419
+ (__v16qi) __B,
1420
+ (__v16qi) __W,
1421
+ (__mmask16) __M);
1422
+ }
1423
+
1424
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1425
+ _mm256_maskz_min_epi8 (__mmask32 __M, __m256i __A, __m256i __B)
1426
+ {
1427
+ return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1428
+ (__v32qi) __B,
1429
+ (__v32qi) _mm256_setzero_si256 (),
1430
+ (__mmask32) __M);
1431
+ }
1432
+
1433
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1434
+ _mm256_mask_min_epi8 (__m256i __W, __mmask32 __M, __m256i __A,
1435
+ __m256i __B)
1436
+ {
1437
+ return (__m256i) __builtin_ia32_pminsb256_mask ((__v32qi) __A,
1438
+ (__v32qi) __B,
1439
+ (__v32qi) __W,
1440
+ (__mmask32) __M);
1441
+ }
1442
+
1443
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1444
+ _mm_maskz_min_epi16 (__mmask8 __M, __m128i __A, __m128i __B)
1445
+ {
1446
+ return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1447
+ (__v8hi) __B,
1448
+ (__v8hi) _mm_setzero_si128 (),
1449
+ (__mmask8) __M);
1450
+ }
1451
+
1452
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1453
+ _mm_mask_min_epi16 (__m128i __W, __mmask8 __M, __m128i __A,
1454
+ __m128i __B)
1455
+ {
1456
+ return (__m128i) __builtin_ia32_pminsw128_mask ((__v8hi) __A,
1457
+ (__v8hi) __B,
1458
+ (__v8hi) __W,
1459
+ (__mmask8) __M);
1460
+ }
1461
+
1462
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1463
+ _mm256_maskz_min_epi16 (__mmask16 __M, __m256i __A, __m256i __B)
1464
+ {
1465
+ return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1466
+ (__v16hi) __B,
1467
+ (__v16hi) _mm256_setzero_si256 (),
1468
+ (__mmask16) __M);
1469
+ }
1470
+
1471
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1472
+ _mm256_mask_min_epi16 (__m256i __W, __mmask16 __M, __m256i __A,
1473
+ __m256i __B)
1474
+ {
1475
+ return (__m256i) __builtin_ia32_pminsw256_mask ((__v16hi) __A,
1476
+ (__v16hi) __B,
1477
+ (__v16hi) __W,
1478
+ (__mmask16) __M);
1479
+ }
1480
+
1481
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1482
+ _mm_maskz_min_epu8 (__mmask16 __M, __m128i __A, __m128i __B)
1483
+ {
1484
+ return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1485
+ (__v16qi) __B,
1486
+ (__v16qi) _mm_setzero_si128 (),
1487
+ (__mmask16) __M);
1488
+ }
1489
+
1490
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1491
+ _mm_mask_min_epu8 (__m128i __W, __mmask16 __M, __m128i __A,
1492
+ __m128i __B)
1493
+ {
1494
+ return (__m128i) __builtin_ia32_pminub128_mask ((__v16qi) __A,
1495
+ (__v16qi) __B,
1496
+ (__v16qi) __W,
1497
+ (__mmask16) __M);
1498
+ }
1499
+
1500
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1501
+ _mm256_maskz_min_epu8 (__mmask32 __M, __m256i __A, __m256i __B)
1502
+ {
1503
+ return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1504
+ (__v32qi) __B,
1505
+ (__v32qi) _mm256_setzero_si256 (),
1506
+ (__mmask32) __M);
1507
+ }
1508
+
1509
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1510
+ _mm256_mask_min_epu8 (__m256i __W, __mmask32 __M, __m256i __A,
1511
+ __m256i __B)
1512
+ {
1513
+ return (__m256i) __builtin_ia32_pminub256_mask ((__v32qi) __A,
1514
+ (__v32qi) __B,
1515
+ (__v32qi) __W,
1516
+ (__mmask32) __M);
1517
+ }
1518
+
1519
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1520
+ _mm_maskz_min_epu16 (__mmask8 __M, __m128i __A, __m128i __B)
1521
+ {
1522
+ return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1523
+ (__v8hi) __B,
1524
+ (__v8hi) _mm_setzero_si128 (),
1525
+ (__mmask8) __M);
1526
+ }
1527
+
1528
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1529
+ _mm_mask_min_epu16 (__m128i __W, __mmask8 __M, __m128i __A,
1530
+ __m128i __B)
1531
+ {
1532
+ return (__m128i) __builtin_ia32_pminuw128_mask ((__v8hi) __A,
1533
+ (__v8hi) __B,
1534
+ (__v8hi) __W,
1535
+ (__mmask8) __M);
1536
+ }
1537
+
1538
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1539
+ _mm256_maskz_min_epu16 (__mmask16 __M, __m256i __A, __m256i __B)
1540
+ {
1541
+ return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1542
+ (__v16hi) __B,
1543
+ (__v16hi) _mm256_setzero_si256 (),
1544
+ (__mmask16) __M);
1545
+ }
1546
+
1547
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1548
+ _mm256_mask_min_epu16 (__m256i __W, __mmask16 __M, __m256i __A,
1549
+ __m256i __B)
1550
+ {
1551
+ return (__m256i) __builtin_ia32_pminuw256_mask ((__v16hi) __A,
1552
+ (__v16hi) __B,
1553
+ (__v16hi) __W,
1554
+ (__mmask16) __M);
1555
+ }
1556
+
1557
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1558
+ _mm_mask_shuffle_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1559
+ __m128i __B)
1560
+ {
1561
+ return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1562
+ (__v16qi) __B,
1563
+ (__v16qi) __W,
1564
+ (__mmask16) __U);
1565
+ }
1566
+
1567
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1568
+ _mm_maskz_shuffle_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1569
+ {
1570
+ return (__m128i) __builtin_ia32_pshufb128_mask ((__v16qi) __A,
1571
+ (__v16qi) __B,
1572
+ (__v16qi) _mm_setzero_si128 (),
1573
+ (__mmask16) __U);
1574
+ }
1575
+
1576
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1577
+ _mm256_mask_shuffle_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1578
+ __m256i __B)
1579
+ {
1580
+ return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1581
+ (__v32qi) __B,
1582
+ (__v32qi) __W,
1583
+ (__mmask32) __U);
1584
+ }
1585
+
1586
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1587
+ _mm256_maskz_shuffle_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1588
+ {
1589
+ return (__m256i) __builtin_ia32_pshufb256_mask ((__v32qi) __A,
1590
+ (__v32qi) __B,
1591
+ (__v32qi) _mm256_setzero_si256 (),
1592
+ (__mmask32) __U);
1593
+ }
1594
+
1595
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1596
+ _mm_mask_subs_epi8 (__m128i __W, __mmask16 __U, __m128i __A,
1597
+ __m128i __B)
1598
+ {
1599
+ return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1600
+ (__v16qi) __B,
1601
+ (__v16qi) __W,
1602
+ (__mmask16) __U);
1603
+ }
1604
+
1605
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1606
+ _mm_maskz_subs_epi8 (__mmask16 __U, __m128i __A, __m128i __B)
1607
+ {
1608
+ return (__m128i) __builtin_ia32_psubsb128_mask ((__v16qi) __A,
1609
+ (__v16qi) __B,
1610
+ (__v16qi) _mm_setzero_si128 (),
1611
+ (__mmask16) __U);
1612
+ }
1613
+
1614
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1615
+ _mm256_mask_subs_epi8 (__m256i __W, __mmask32 __U, __m256i __A,
1616
+ __m256i __B)
1617
+ {
1618
+ return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1619
+ (__v32qi) __B,
1620
+ (__v32qi) __W,
1621
+ (__mmask32) __U);
1622
+ }
1623
+
1624
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1625
+ _mm256_maskz_subs_epi8 (__mmask32 __U, __m256i __A, __m256i __B)
1626
+ {
1627
+ return (__m256i) __builtin_ia32_psubsb256_mask ((__v32qi) __A,
1628
+ (__v32qi) __B,
1629
+ (__v32qi) _mm256_setzero_si256 (),
1630
+ (__mmask32) __U);
1631
+ }
1632
+
1633
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1634
+ _mm_mask_subs_epi16 (__m128i __W, __mmask8 __U, __m128i __A,
1635
+ __m128i __B)
1636
+ {
1637
+ return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1638
+ (__v8hi) __B,
1639
+ (__v8hi) __W,
1640
+ (__mmask8) __U);
1641
+ }
1642
+
1643
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1644
+ _mm_maskz_subs_epi16 (__mmask8 __U, __m128i __A, __m128i __B)
1645
+ {
1646
+ return (__m128i) __builtin_ia32_psubsw128_mask ((__v8hi) __A,
1647
+ (__v8hi) __B,
1648
+ (__v8hi) _mm_setzero_si128 (),
1649
+ (__mmask8) __U);
1650
+ }
1651
+
1652
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1653
+ _mm256_mask_subs_epi16 (__m256i __W, __mmask16 __U, __m256i __A,
1654
+ __m256i __B)
1655
+ {
1656
+ return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1657
+ (__v16hi) __B,
1658
+ (__v16hi) __W,
1659
+ (__mmask16) __U);
1660
+ }
1661
+
1662
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1663
+ _mm256_maskz_subs_epi16 (__mmask16 __U, __m256i __A, __m256i __B)
1664
+ {
1665
+ return (__m256i) __builtin_ia32_psubsw256_mask ((__v16hi) __A,
1666
+ (__v16hi) __B,
1667
+ (__v16hi) _mm256_setzero_si256 (),
1668
+ (__mmask16) __U);
1669
+ }
1670
+
1671
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1672
+ _mm_mask_subs_epu8 (__m128i __W, __mmask16 __U, __m128i __A,
1673
+ __m128i __B)
1674
+ {
1675
+ return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1676
+ (__v16qi) __B,
1677
+ (__v16qi) __W,
1678
+ (__mmask16) __U);
1679
+ }
1680
+
1681
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1682
+ _mm_maskz_subs_epu8 (__mmask16 __U, __m128i __A, __m128i __B)
1683
+ {
1684
+ return (__m128i) __builtin_ia32_psubusb128_mask ((__v16qi) __A,
1685
+ (__v16qi) __B,
1686
+ (__v16qi) _mm_setzero_si128 (),
1687
+ (__mmask16) __U);
1688
+ }
1689
+
1690
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1691
+ _mm256_mask_subs_epu8 (__m256i __W, __mmask32 __U, __m256i __A,
1692
+ __m256i __B)
1693
+ {
1694
+ return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1695
+ (__v32qi) __B,
1696
+ (__v32qi) __W,
1697
+ (__mmask32) __U);
1698
+ }
1699
+
1700
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1701
+ _mm256_maskz_subs_epu8 (__mmask32 __U, __m256i __A, __m256i __B)
1702
+ {
1703
+ return (__m256i) __builtin_ia32_psubusb256_mask ((__v32qi) __A,
1704
+ (__v32qi) __B,
1705
+ (__v32qi) _mm256_setzero_si256 (),
1706
+ (__mmask32) __U);
1707
+ }
1708
+
1709
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1710
+ _mm_mask_subs_epu16 (__m128i __W, __mmask8 __U, __m128i __A,
1711
+ __m128i __B)
1712
+ {
1713
+ return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1714
+ (__v8hi) __B,
1715
+ (__v8hi) __W,
1716
+ (__mmask8) __U);
1717
+ }
1718
+
1719
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1720
+ _mm_maskz_subs_epu16 (__mmask8 __U, __m128i __A, __m128i __B)
1721
+ {
1722
+ return (__m128i) __builtin_ia32_psubusw128_mask ((__v8hi) __A,
1723
+ (__v8hi) __B,
1724
+ (__v8hi) _mm_setzero_si128 (),
1725
+ (__mmask8) __U);
1726
+ }
1727
+
1728
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1729
+ _mm256_mask_subs_epu16 (__m256i __W, __mmask16 __U, __m256i __A,
1730
+ __m256i __B)
1731
+ {
1732
+ return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1733
+ (__v16hi) __B,
1734
+ (__v16hi) __W,
1735
+ (__mmask16) __U);
1736
+ }
1737
+
1738
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1739
+ _mm256_maskz_subs_epu16 (__mmask16 __U, __m256i __A, __m256i __B)
1740
+ {
1741
+ return (__m256i) __builtin_ia32_psubusw256_mask ((__v16hi) __A,
1742
+ (__v16hi) __B,
1743
+ (__v16hi) _mm256_setzero_si256 (),
1744
+ (__mmask16) __U);
1745
+ }
1746
+
1747
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1748
+ _mm_mask2_permutex2var_epi16 (__m128i __A, __m128i __I, __mmask8 __U,
1749
+ __m128i __B)
1750
+ {
1751
+ return (__m128i) __builtin_ia32_vpermi2varhi128_mask ((__v8hi) __A,
1752
+ (__v8hi) __I /* idx */ ,
1753
+ (__v8hi) __B,
1754
+ (__mmask8) __U);
1755
+ }
1756
+
1757
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1758
+ _mm256_mask2_permutex2var_epi16 (__m256i __A, __m256i __I,
1759
+ __mmask16 __U, __m256i __B)
1760
+ {
1761
+ return (__m256i) __builtin_ia32_vpermi2varhi256_mask ((__v16hi) __A,
1762
+ (__v16hi) __I /* idx */ ,
1763
+ (__v16hi) __B,
1764
+ (__mmask16) __U);
1765
+ }
1766
+
1767
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1768
+ _mm_permutex2var_epi16 (__m128i __A, __m128i __I, __m128i __B)
1769
+ {
1770
+ return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1771
+ (__v8hi) __A,
1772
+ (__v8hi) __B,
1773
+ (__mmask8) -1);
1774
+ }
1775
+
1776
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1777
+ _mm_mask_permutex2var_epi16 (__m128i __A, __mmask8 __U, __m128i __I,
1778
+ __m128i __B)
1779
+ {
1780
+ return (__m128i) __builtin_ia32_vpermt2varhi128_mask ((__v8hi) __I/* idx */,
1781
+ (__v8hi) __A,
1782
+ (__v8hi) __B,
1783
+ (__mmask8) __U);
1784
+ }
1785
+
1786
+ static __inline__ __m128i __DEFAULT_FN_ATTRS
1787
+ _mm_maskz_permutex2var_epi16 (__mmask8 __U, __m128i __A, __m128i __I,
1788
+ __m128i __B)
1789
+ {
1790
+ return (__m128i) __builtin_ia32_vpermt2varhi128_maskz ((__v8hi) __I/* idx */,
1791
+ (__v8hi) __A,
1792
+ (__v8hi) __B,
1793
+ (__mmask8) __U);
1794
+ }
1795
+
1796
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1797
+ _mm256_permutex2var_epi16 (__m256i __A, __m256i __I, __m256i __B)
1798
+ {
1799
+ return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1800
+ (__v16hi) __A,
1801
+ (__v16hi) __B,
1802
+ (__mmask16) -1);
1803
+ }
1804
+
1805
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1806
+ _mm256_mask_permutex2var_epi16 (__m256i __A, __mmask16 __U,
1807
+ __m256i __I, __m256i __B)
1808
+ {
1809
+ return (__m256i) __builtin_ia32_vpermt2varhi256_mask ((__v16hi) __I/* idx */,
1810
+ (__v16hi) __A,
1811
+ (__v16hi) __B,
1812
+ (__mmask16) __U);
1813
+ }
1814
+
1815
+ static __inline__ __m256i __DEFAULT_FN_ATTRS
1816
+ _mm256_maskz_permutex2var_epi16 (__mmask16 __U, __m256i __A,
1817
+ __m256i __I, __m256i __B)
1818
+ {
1819
+ return (__m256i) __builtin_ia32_vpermt2varhi256_maskz ((__v16hi) __I/* idx */,
1820
+ (__v16hi) __A,
1821
+ (__v16hi) __B,
1822
+ (__mmask16) __U);
1823
+ }
1824
+
1825
+ #define _mm_cmp_epi8_mask(a, b, p) __extension__ ({ \
1826
+ (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
1827
+ (__v16qi)(__m128i)(b), \
1828
+ (p), (__mmask16)-1); })
1829
+
1830
+ #define _mm_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
1831
+ (__mmask16)__builtin_ia32_cmpb128_mask((__v16qi)(__m128i)(a), \
1832
+ (__v16qi)(__m128i)(b), \
1833
+ (p), (__mmask16)(m)); })
1834
+
1835
+ #define _mm_cmp_epu8_mask(a, b, p) __extension__ ({ \
1836
+ (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
1837
+ (__v16qi)(__m128i)(b), \
1838
+ (p), (__mmask16)-1); })
1839
+
1840
+ #define _mm_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
1841
+ (__mmask16)__builtin_ia32_ucmpb128_mask((__v16qi)(__m128i)(a), \
1842
+ (__v16qi)(__m128i)(b), \
1843
+ (p), (__mmask16)(m)); })
1844
+
1845
+ #define _mm256_cmp_epi8_mask(a, b, p) __extension__ ({ \
1846
+ (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
1847
+ (__v32qi)(__m256i)(b), \
1848
+ (p), (__mmask32)-1); })
1849
+
1850
+ #define _mm256_mask_cmp_epi8_mask(m, a, b, p) __extension__ ({ \
1851
+ (__mmask32)__builtin_ia32_cmpb256_mask((__v32qi)(__m256i)(a), \
1852
+ (__v32qi)(__m256i)(b), \
1853
+ (p), (__mmask32)(m)); })
1854
+
1855
+ #define _mm256_cmp_epu8_mask(a, b, p) __extension__ ({ \
1856
+ (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
1857
+ (__v32qi)(__m256i)(b), \
1858
+ (p), (__mmask32)-1); })
1859
+
1860
+ #define _mm256_mask_cmp_epu8_mask(m, a, b, p) __extension__ ({ \
1861
+ (__mmask32)__builtin_ia32_ucmpb256_mask((__v32qi)(__m256i)(a), \
1862
+ (__v32qi)(__m256i)(b), \
1863
+ (p), (__mmask32)(m)); })
1864
+
1865
+ #define _mm_cmp_epi16_mask(a, b, p) __extension__ ({ \
1866
+ (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
1867
+ (__v8hi)(__m128i)(b), \
1868
+ (p), (__mmask8)-1); })
1869
+
1870
+ #define _mm_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
1871
+ (__mmask8)__builtin_ia32_cmpw128_mask((__v8hi)(__m128i)(a), \
1872
+ (__v8hi)(__m128i)(b), \
1873
+ (p), (__mmask8)(m)); })
1874
+
1875
+ #define _mm_cmp_epu16_mask(a, b, p) __extension__ ({ \
1876
+ (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
1877
+ (__v8hi)(__m128i)(b), \
1878
+ (p), (__mmask8)-1); })
1879
+
1880
+ #define _mm_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
1881
+ (__mmask8)__builtin_ia32_ucmpw128_mask((__v8hi)(__m128i)(a), \
1882
+ (__v8hi)(__m128i)(b), \
1883
+ (p), (__mmask8)(m)); })
1884
+
1885
+ #define _mm256_cmp_epi16_mask(a, b, p) __extension__ ({ \
1886
+ (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
1887
+ (__v16hi)(__m256i)(b), \
1888
+ (p), (__mmask16)-1); })
1889
+
1890
+ #define _mm256_mask_cmp_epi16_mask(m, a, b, p) __extension__ ({ \
1891
+ (__mmask16)__builtin_ia32_cmpw256_mask((__v16hi)(__m256i)(a), \
1892
+ (__v16hi)(__m256i)(b), \
1893
+ (p), (__mmask16)(m)); })
1894
+
1895
+ #define _mm256_cmp_epu16_mask(a, b, p) __extension__ ({ \
1896
+ (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
1897
+ (__v16hi)(__m256i)(b), \
1898
+ (p), (__mmask16)-1); })
1899
+
1900
+ #define _mm256_mask_cmp_epu16_mask(m, a, b, p) __extension__ ({ \
1901
+ (__mmask16)__builtin_ia32_ucmpw256_mask((__v16hi)(__m256i)(a), \
1902
+ (__v16hi)(__m256i)(b), \
1903
+ (p), (__mmask16)(m)); })
1904
+
1905
+ #undef __DEFAULT_FN_ATTRS
1906
+
1907
+ #endif /* __AVX512VLBWINTRIN_H */