xcodebuild-helper 1.1.1 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (204) hide show
  1. checksums.yaml +4 -4
  2. metadata +4 -220
  3. data/.codeclimate.yml +0 -20
  4. data/.gitignore +0 -1
  5. data/.rspec +0 -2
  6. data/.travis.yml +0 -7
  7. data/Gemfile +0 -6
  8. data/Gemfile.lock +0 -114
  9. data/Guardfile +0 -18
  10. data/README.md +0 -7
  11. data/Rakefile +0 -7
  12. data/assets/style.css +0 -110
  13. data/bin/oclint +0 -5
  14. data/bin/oclint-0.8 +0 -5
  15. data/bin/oclint-json-compilation-database +0 -5
  16. data/bin/oclint-xcodebuild +0 -5
  17. data/externals/oclint/LICENSE +0 -69
  18. data/externals/oclint/bin/oclint +0 -0
  19. data/externals/oclint/bin/oclint-0.10.2 +0 -0
  20. data/externals/oclint/bin/oclint-json-compilation-database +0 -88
  21. data/externals/oclint/bin/oclint-xcodebuild +0 -218
  22. data/externals/oclint/lib/clang/3.7.0/asan_blacklist.txt +0 -13
  23. data/externals/oclint/lib/clang/3.7.0/include/Intrin.h +0 -958
  24. data/externals/oclint/lib/clang/3.7.0/include/__stddef_max_align_t.h +0 -43
  25. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_aes.h +0 -72
  26. data/externals/oclint/lib/clang/3.7.0/include/__wmmintrin_pclmul.h +0 -34
  27. data/externals/oclint/lib/clang/3.7.0/include/adxintrin.h +0 -88
  28. data/externals/oclint/lib/clang/3.7.0/include/altivec.h +0 -13528
  29. data/externals/oclint/lib/clang/3.7.0/include/ammintrin.h +0 -215
  30. data/externals/oclint/lib/clang/3.7.0/include/arm_acle.h +0 -304
  31. data/externals/oclint/lib/clang/3.7.0/include/arm_neon.h +0 -68419
  32. data/externals/oclint/lib/clang/3.7.0/include/avx2intrin.h +0 -1256
  33. data/externals/oclint/lib/clang/3.7.0/include/avx512bwintrin.h +0 -1250
  34. data/externals/oclint/lib/clang/3.7.0/include/avx512cdintrin.h +0 -131
  35. data/externals/oclint/lib/clang/3.7.0/include/avx512dqintrin.h +0 -242
  36. data/externals/oclint/lib/clang/3.7.0/include/avx512erintrin.h +0 -285
  37. data/externals/oclint/lib/clang/3.7.0/include/avx512fintrin.h +0 -2457
  38. data/externals/oclint/lib/clang/3.7.0/include/avx512vlbwintrin.h +0 -1907
  39. data/externals/oclint/lib/clang/3.7.0/include/avx512vldqintrin.h +0 -353
  40. data/externals/oclint/lib/clang/3.7.0/include/avx512vlintrin.h +0 -1982
  41. data/externals/oclint/lib/clang/3.7.0/include/avxintrin.h +0 -1308
  42. data/externals/oclint/lib/clang/3.7.0/include/bmi2intrin.h +0 -99
  43. data/externals/oclint/lib/clang/3.7.0/include/bmiintrin.h +0 -153
  44. data/externals/oclint/lib/clang/3.7.0/include/cpuid.h +0 -209
  45. data/externals/oclint/lib/clang/3.7.0/include/cuda_builtin_vars.h +0 -110
  46. data/externals/oclint/lib/clang/3.7.0/include/emmintrin.h +0 -1480
  47. data/externals/oclint/lib/clang/3.7.0/include/f16cintrin.h +0 -63
  48. data/externals/oclint/lib/clang/3.7.0/include/float.h +0 -124
  49. data/externals/oclint/lib/clang/3.7.0/include/fma4intrin.h +0 -236
  50. data/externals/oclint/lib/clang/3.7.0/include/fmaintrin.h +0 -234
  51. data/externals/oclint/lib/clang/3.7.0/include/fxsrintrin.h +0 -55
  52. data/externals/oclint/lib/clang/3.7.0/include/htmintrin.h +0 -226
  53. data/externals/oclint/lib/clang/3.7.0/include/htmxlintrin.h +0 -363
  54. data/externals/oclint/lib/clang/3.7.0/include/ia32intrin.h +0 -101
  55. data/externals/oclint/lib/clang/3.7.0/include/immintrin.h +0 -203
  56. data/externals/oclint/lib/clang/3.7.0/include/inttypes.h +0 -102
  57. data/externals/oclint/lib/clang/3.7.0/include/iso646.h +0 -43
  58. data/externals/oclint/lib/clang/3.7.0/include/limits.h +0 -118
  59. data/externals/oclint/lib/clang/3.7.0/include/lzcntintrin.h +0 -72
  60. data/externals/oclint/lib/clang/3.7.0/include/mm3dnow.h +0 -167
  61. data/externals/oclint/lib/clang/3.7.0/include/mm_malloc.h +0 -75
  62. data/externals/oclint/lib/clang/3.7.0/include/mmintrin.h +0 -507
  63. data/externals/oclint/lib/clang/3.7.0/include/module.modulemap +0 -196
  64. data/externals/oclint/lib/clang/3.7.0/include/nmmintrin.h +0 -35
  65. data/externals/oclint/lib/clang/3.7.0/include/pmmintrin.h +0 -122
  66. data/externals/oclint/lib/clang/3.7.0/include/popcntintrin.h +0 -50
  67. data/externals/oclint/lib/clang/3.7.0/include/prfchwintrin.h +0 -39
  68. data/externals/oclint/lib/clang/3.7.0/include/rdseedintrin.h +0 -59
  69. data/externals/oclint/lib/clang/3.7.0/include/rtmintrin.h +0 -59
  70. data/externals/oclint/lib/clang/3.7.0/include/s390intrin.h +0 -39
  71. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/allocator_interface.h +0 -66
  72. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/asan_interface.h +0 -155
  73. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/common_interface_defs.h +0 -118
  74. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/coverage_interface.h +0 -63
  75. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/dfsan_interface.h +0 -114
  76. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/linux_syscall_hooks.h +0 -3070
  77. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/lsan_interface.h +0 -84
  78. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/msan_interface.h +0 -107
  79. data/externals/oclint/lib/clang/3.7.0/include/sanitizer/tsan_interface_atomic.h +0 -222
  80. data/externals/oclint/lib/clang/3.7.0/include/shaintrin.h +0 -79
  81. data/externals/oclint/lib/clang/3.7.0/include/smmintrin.h +0 -487
  82. data/externals/oclint/lib/clang/3.7.0/include/stdalign.h +0 -35
  83. data/externals/oclint/lib/clang/3.7.0/include/stdarg.h +0 -52
  84. data/externals/oclint/lib/clang/3.7.0/include/stdatomic.h +0 -190
  85. data/externals/oclint/lib/clang/3.7.0/include/stdbool.h +0 -44
  86. data/externals/oclint/lib/clang/3.7.0/include/stddef.h +0 -137
  87. data/externals/oclint/lib/clang/3.7.0/include/stdint.h +0 -707
  88. data/externals/oclint/lib/clang/3.7.0/include/stdnoreturn.h +0 -30
  89. data/externals/oclint/lib/clang/3.7.0/include/tbmintrin.h +0 -154
  90. data/externals/oclint/lib/clang/3.7.0/include/tgmath.h +0 -1374
  91. data/externals/oclint/lib/clang/3.7.0/include/tmmintrin.h +0 -230
  92. data/externals/oclint/lib/clang/3.7.0/include/unwind.h +0 -282
  93. data/externals/oclint/lib/clang/3.7.0/include/vadefs.h +0 -65
  94. data/externals/oclint/lib/clang/3.7.0/include/varargs.h +0 -26
  95. data/externals/oclint/lib/clang/3.7.0/include/vecintrin.h +0 -8946
  96. data/externals/oclint/lib/clang/3.7.0/include/wmmintrin.h +0 -42
  97. data/externals/oclint/lib/clang/3.7.0/include/x86intrin.h +0 -81
  98. data/externals/oclint/lib/clang/3.7.0/include/xmmintrin.h +0 -1008
  99. data/externals/oclint/lib/clang/3.7.0/include/xopintrin.h +0 -809
  100. data/externals/oclint/lib/clang/3.7.0/include/xtestintrin.h +0 -41
  101. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_iossim_dynamic.dylib +0 -0
  102. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  103. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-i386.a +0 -0
  104. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.builtins-x86_64.a +0 -0
  105. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.profile_osx.a +0 -0
  106. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.safestack_osx.a +0 -0
  107. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_iossim_dynamic.dylib +0 -0
  108. data/externals/oclint/lib/clang/3.7.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib +0 -0
  109. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  110. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  111. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  112. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  113. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  114. data/externals/oclint/lib/oclint/reporters/libXcodeReporter.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libAvoidDefaultArgumentsOnVirtualMethodsRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libAvoidPrivateStaticMembersRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libBaseClassDestructorShouldBeVirtualOrProtectedRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libCoveredSwitchStatementsDontNeedDefaultRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libDestructorOfVirtualClassRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  134. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  135. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  136. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  137. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  138. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  139. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  140. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  141. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  142. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  143. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  144. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  145. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  146. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  147. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  148. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  149. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  150. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  151. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  152. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  153. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  154. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  155. data/externals/oclint/lib/oclint/rules/libObjCAssignIvarOutsideAccessorsRule.dylib +0 -0
  156. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  157. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  158. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  159. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  160. data/externals/oclint/lib/oclint/rules/libObjCVerifyIsEqualHashRule.dylib +0 -0
  161. data/externals/oclint/lib/oclint/rules/libObjCVerifyMustCallSuperRule.dylib +0 -0
  162. data/externals/oclint/lib/oclint/rules/libObjCVerifyProhibitedCallRule.dylib +0 -0
  163. data/externals/oclint/lib/oclint/rules/libObjCVerifyProtectedMethodRule.dylib +0 -0
  164. data/externals/oclint/lib/oclint/rules/libObjCVerifySubclassMustImplementRule.dylib +0 -0
  165. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  166. data/externals/oclint/lib/oclint/rules/libPreferEarlyExitRule.dylib +0 -0
  167. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  168. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  169. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  170. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  171. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  172. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  173. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  174. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  175. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  176. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  177. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  178. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  179. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  180. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  181. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  182. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  183. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  184. data/lib/coverage_html_converter.rb +0 -141
  185. data/lib/coverage_plan.rb +0 -27
  186. data/lib/device.rb +0 -27
  187. data/lib/execute.rb +0 -7
  188. data/lib/lint_plan.rb +0 -41
  189. data/lib/rules.rb +0 -23
  190. data/lib/test_plan.rb +0 -11
  191. data/lib/version.rb +0 -3
  192. data/lib/xcode.rb +0 -128
  193. data/lib/xcodebuild-helper.rb +0 -135
  194. data/spec/coverage_html_coverter_spec.rb +0 -55
  195. data/spec/coverage_plan_spec.rb +0 -23
  196. data/spec/device_spec.rb +0 -24
  197. data/spec/lint_plan_spec.rb +0 -35
  198. data/spec/rule_spec.rb +0 -37
  199. data/spec/spec_helper.rb +0 -17
  200. data/spec/test_plan_spec.rb +0 -11
  201. data/spec/xcode_dsl_actions_spec.rb +0 -227
  202. data/spec/xcode_dsl_spec.rb +0 -176
  203. data/spec/xcode_spec.rb +0 -85
  204. data/xcodebuild-helper.gemspec +0 -27
@@ -1,809 +0,0 @@
1
- /*===---- xopintrin.h - XOP 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 __X86INTRIN_H
25
- #error "Never use <xopintrin.h> directly; include <x86intrin.h> instead."
26
- #endif
27
-
28
- #ifndef __XOPINTRIN_H
29
- #define __XOPINTRIN_H
30
-
31
- #ifndef __XOP__
32
- # error "XOP instruction set is not enabled"
33
- #else
34
-
35
- #include <fma4intrin.h>
36
-
37
- /* Define the default attributes for the functions in this file. */
38
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
39
-
40
- static __inline__ __m128i __DEFAULT_FN_ATTRS
41
- _mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
42
- {
43
- return (__m128i)__builtin_ia32_vpmacssww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
44
- }
45
-
46
- static __inline__ __m128i __DEFAULT_FN_ATTRS
47
- _mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
48
- {
49
- return (__m128i)__builtin_ia32_vpmacsww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
50
- }
51
-
52
- static __inline__ __m128i __DEFAULT_FN_ATTRS
53
- _mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
54
- {
55
- return (__m128i)__builtin_ia32_vpmacsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
56
- }
57
-
58
- static __inline__ __m128i __DEFAULT_FN_ATTRS
59
- _mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
60
- {
61
- return (__m128i)__builtin_ia32_vpmacswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
62
- }
63
-
64
- static __inline__ __m128i __DEFAULT_FN_ATTRS
65
- _mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
66
- {
67
- return (__m128i)__builtin_ia32_vpmacssdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
68
- }
69
-
70
- static __inline__ __m128i __DEFAULT_FN_ATTRS
71
- _mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
72
- {
73
- return (__m128i)__builtin_ia32_vpmacsdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
74
- }
75
-
76
- static __inline__ __m128i __DEFAULT_FN_ATTRS
77
- _mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
78
- {
79
- return (__m128i)__builtin_ia32_vpmacssdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
80
- }
81
-
82
- static __inline__ __m128i __DEFAULT_FN_ATTRS
83
- _mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
84
- {
85
- return (__m128i)__builtin_ia32_vpmacsdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
86
- }
87
-
88
- static __inline__ __m128i __DEFAULT_FN_ATTRS
89
- _mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
90
- {
91
- return (__m128i)__builtin_ia32_vpmacssdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
92
- }
93
-
94
- static __inline__ __m128i __DEFAULT_FN_ATTRS
95
- _mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
96
- {
97
- return (__m128i)__builtin_ia32_vpmacsdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
98
- }
99
-
100
- static __inline__ __m128i __DEFAULT_FN_ATTRS
101
- _mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
102
- {
103
- return (__m128i)__builtin_ia32_vpmadcsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
104
- }
105
-
106
- static __inline__ __m128i __DEFAULT_FN_ATTRS
107
- _mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
108
- {
109
- return (__m128i)__builtin_ia32_vpmadcswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
110
- }
111
-
112
- static __inline__ __m128i __DEFAULT_FN_ATTRS
113
- _mm_haddw_epi8(__m128i __A)
114
- {
115
- return (__m128i)__builtin_ia32_vphaddbw((__v16qi)__A);
116
- }
117
-
118
- static __inline__ __m128i __DEFAULT_FN_ATTRS
119
- _mm_haddd_epi8(__m128i __A)
120
- {
121
- return (__m128i)__builtin_ia32_vphaddbd((__v16qi)__A);
122
- }
123
-
124
- static __inline__ __m128i __DEFAULT_FN_ATTRS
125
- _mm_haddq_epi8(__m128i __A)
126
- {
127
- return (__m128i)__builtin_ia32_vphaddbq((__v16qi)__A);
128
- }
129
-
130
- static __inline__ __m128i __DEFAULT_FN_ATTRS
131
- _mm_haddd_epi16(__m128i __A)
132
- {
133
- return (__m128i)__builtin_ia32_vphaddwd((__v8hi)__A);
134
- }
135
-
136
- static __inline__ __m128i __DEFAULT_FN_ATTRS
137
- _mm_haddq_epi16(__m128i __A)
138
- {
139
- return (__m128i)__builtin_ia32_vphaddwq((__v8hi)__A);
140
- }
141
-
142
- static __inline__ __m128i __DEFAULT_FN_ATTRS
143
- _mm_haddq_epi32(__m128i __A)
144
- {
145
- return (__m128i)__builtin_ia32_vphadddq((__v4si)__A);
146
- }
147
-
148
- static __inline__ __m128i __DEFAULT_FN_ATTRS
149
- _mm_haddw_epu8(__m128i __A)
150
- {
151
- return (__m128i)__builtin_ia32_vphaddubw((__v16qi)__A);
152
- }
153
-
154
- static __inline__ __m128i __DEFAULT_FN_ATTRS
155
- _mm_haddd_epu8(__m128i __A)
156
- {
157
- return (__m128i)__builtin_ia32_vphaddubd((__v16qi)__A);
158
- }
159
-
160
- static __inline__ __m128i __DEFAULT_FN_ATTRS
161
- _mm_haddq_epu8(__m128i __A)
162
- {
163
- return (__m128i)__builtin_ia32_vphaddubq((__v16qi)__A);
164
- }
165
-
166
- static __inline__ __m128i __DEFAULT_FN_ATTRS
167
- _mm_haddd_epu16(__m128i __A)
168
- {
169
- return (__m128i)__builtin_ia32_vphadduwd((__v8hi)__A);
170
- }
171
-
172
- static __inline__ __m128i __DEFAULT_FN_ATTRS
173
- _mm_haddq_epu16(__m128i __A)
174
- {
175
- return (__m128i)__builtin_ia32_vphadduwq((__v8hi)__A);
176
- }
177
-
178
- static __inline__ __m128i __DEFAULT_FN_ATTRS
179
- _mm_haddq_epu32(__m128i __A)
180
- {
181
- return (__m128i)__builtin_ia32_vphaddudq((__v4si)__A);
182
- }
183
-
184
- static __inline__ __m128i __DEFAULT_FN_ATTRS
185
- _mm_hsubw_epi8(__m128i __A)
186
- {
187
- return (__m128i)__builtin_ia32_vphsubbw((__v16qi)__A);
188
- }
189
-
190
- static __inline__ __m128i __DEFAULT_FN_ATTRS
191
- _mm_hsubd_epi16(__m128i __A)
192
- {
193
- return (__m128i)__builtin_ia32_vphsubwd((__v8hi)__A);
194
- }
195
-
196
- static __inline__ __m128i __DEFAULT_FN_ATTRS
197
- _mm_hsubq_epi32(__m128i __A)
198
- {
199
- return (__m128i)__builtin_ia32_vphsubdq((__v4si)__A);
200
- }
201
-
202
- static __inline__ __m128i __DEFAULT_FN_ATTRS
203
- _mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
204
- {
205
- return (__m128i)__builtin_ia32_vpcmov(__A, __B, __C);
206
- }
207
-
208
- static __inline__ __m256i __DEFAULT_FN_ATTRS
209
- _mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
210
- {
211
- return (__m256i)__builtin_ia32_vpcmov_256(__A, __B, __C);
212
- }
213
-
214
- static __inline__ __m128i __DEFAULT_FN_ATTRS
215
- _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
216
- {
217
- return (__m128i)__builtin_ia32_vpperm((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
218
- }
219
-
220
- static __inline__ __m128i __DEFAULT_FN_ATTRS
221
- _mm_rot_epi8(__m128i __A, __m128i __B)
222
- {
223
- return (__m128i)__builtin_ia32_vprotb((__v16qi)__A, (__v16qi)__B);
224
- }
225
-
226
- static __inline__ __m128i __DEFAULT_FN_ATTRS
227
- _mm_rot_epi16(__m128i __A, __m128i __B)
228
- {
229
- return (__m128i)__builtin_ia32_vprotw((__v8hi)__A, (__v8hi)__B);
230
- }
231
-
232
- static __inline__ __m128i __DEFAULT_FN_ATTRS
233
- _mm_rot_epi32(__m128i __A, __m128i __B)
234
- {
235
- return (__m128i)__builtin_ia32_vprotd((__v4si)__A, (__v4si)__B);
236
- }
237
-
238
- static __inline__ __m128i __DEFAULT_FN_ATTRS
239
- _mm_rot_epi64(__m128i __A, __m128i __B)
240
- {
241
- return (__m128i)__builtin_ia32_vprotq((__v2di)__A, (__v2di)__B);
242
- }
243
-
244
- #define _mm_roti_epi8(A, N) __extension__ ({ \
245
- __m128i __A = (A); \
246
- (__m128i)__builtin_ia32_vprotbi((__v16qi)__A, (N)); })
247
-
248
- #define _mm_roti_epi16(A, N) __extension__ ({ \
249
- __m128i __A = (A); \
250
- (__m128i)__builtin_ia32_vprotwi((__v8hi)__A, (N)); })
251
-
252
- #define _mm_roti_epi32(A, N) __extension__ ({ \
253
- __m128i __A = (A); \
254
- (__m128i)__builtin_ia32_vprotdi((__v4si)__A, (N)); })
255
-
256
- #define _mm_roti_epi64(A, N) __extension__ ({ \
257
- __m128i __A = (A); \
258
- (__m128i)__builtin_ia32_vprotqi((__v2di)__A, (N)); })
259
-
260
- static __inline__ __m128i __DEFAULT_FN_ATTRS
261
- _mm_shl_epi8(__m128i __A, __m128i __B)
262
- {
263
- return (__m128i)__builtin_ia32_vpshlb((__v16qi)__A, (__v16qi)__B);
264
- }
265
-
266
- static __inline__ __m128i __DEFAULT_FN_ATTRS
267
- _mm_shl_epi16(__m128i __A, __m128i __B)
268
- {
269
- return (__m128i)__builtin_ia32_vpshlw((__v8hi)__A, (__v8hi)__B);
270
- }
271
-
272
- static __inline__ __m128i __DEFAULT_FN_ATTRS
273
- _mm_shl_epi32(__m128i __A, __m128i __B)
274
- {
275
- return (__m128i)__builtin_ia32_vpshld((__v4si)__A, (__v4si)__B);
276
- }
277
-
278
- static __inline__ __m128i __DEFAULT_FN_ATTRS
279
- _mm_shl_epi64(__m128i __A, __m128i __B)
280
- {
281
- return (__m128i)__builtin_ia32_vpshlq((__v2di)__A, (__v2di)__B);
282
- }
283
-
284
- static __inline__ __m128i __DEFAULT_FN_ATTRS
285
- _mm_sha_epi8(__m128i __A, __m128i __B)
286
- {
287
- return (__m128i)__builtin_ia32_vpshab((__v16qi)__A, (__v16qi)__B);
288
- }
289
-
290
- static __inline__ __m128i __DEFAULT_FN_ATTRS
291
- _mm_sha_epi16(__m128i __A, __m128i __B)
292
- {
293
- return (__m128i)__builtin_ia32_vpshaw((__v8hi)__A, (__v8hi)__B);
294
- }
295
-
296
- static __inline__ __m128i __DEFAULT_FN_ATTRS
297
- _mm_sha_epi32(__m128i __A, __m128i __B)
298
- {
299
- return (__m128i)__builtin_ia32_vpshad((__v4si)__A, (__v4si)__B);
300
- }
301
-
302
- static __inline__ __m128i __DEFAULT_FN_ATTRS
303
- _mm_sha_epi64(__m128i __A, __m128i __B)
304
- {
305
- return (__m128i)__builtin_ia32_vpshaq((__v2di)__A, (__v2di)__B);
306
- }
307
-
308
- #define _mm_com_epu8(A, B, N) __extension__ ({ \
309
- __m128i __A = (A); \
310
- __m128i __B = (B); \
311
- (__m128i)__builtin_ia32_vpcomub((__v16qi)__A, (__v16qi)__B, (N)); })
312
-
313
- #define _mm_com_epu16(A, B, N) __extension__ ({ \
314
- __m128i __A = (A); \
315
- __m128i __B = (B); \
316
- (__m128i)__builtin_ia32_vpcomuw((__v8hi)__A, (__v8hi)__B, (N)); })
317
-
318
- #define _mm_com_epu32(A, B, N) __extension__ ({ \
319
- __m128i __A = (A); \
320
- __m128i __B = (B); \
321
- (__m128i)__builtin_ia32_vpcomud((__v4si)__A, (__v4si)__B, (N)); })
322
-
323
- #define _mm_com_epu64(A, B, N) __extension__ ({ \
324
- __m128i __A = (A); \
325
- __m128i __B = (B); \
326
- (__m128i)__builtin_ia32_vpcomuq((__v2di)__A, (__v2di)__B, (N)); })
327
-
328
- #define _mm_com_epi8(A, B, N) __extension__ ({ \
329
- __m128i __A = (A); \
330
- __m128i __B = (B); \
331
- (__m128i)__builtin_ia32_vpcomb((__v16qi)__A, (__v16qi)__B, (N)); })
332
-
333
- #define _mm_com_epi16(A, B, N) __extension__ ({ \
334
- __m128i __A = (A); \
335
- __m128i __B = (B); \
336
- (__m128i)__builtin_ia32_vpcomw((__v8hi)__A, (__v8hi)__B, (N)); })
337
-
338
- #define _mm_com_epi32(A, B, N) __extension__ ({ \
339
- __m128i __A = (A); \
340
- __m128i __B = (B); \
341
- (__m128i)__builtin_ia32_vpcomd((__v4si)__A, (__v4si)__B, (N)); })
342
-
343
- #define _mm_com_epi64(A, B, N) __extension__ ({ \
344
- __m128i __A = (A); \
345
- __m128i __B = (B); \
346
- (__m128i)__builtin_ia32_vpcomq((__v2di)__A, (__v2di)__B, (N)); })
347
-
348
- #define _MM_PCOMCTRL_LT 0
349
- #define _MM_PCOMCTRL_LE 1
350
- #define _MM_PCOMCTRL_GT 2
351
- #define _MM_PCOMCTRL_GE 3
352
- #define _MM_PCOMCTRL_EQ 4
353
- #define _MM_PCOMCTRL_NEQ 5
354
- #define _MM_PCOMCTRL_FALSE 6
355
- #define _MM_PCOMCTRL_TRUE 7
356
-
357
- static __inline__ __m128i __DEFAULT_FN_ATTRS
358
- _mm_comlt_epu8(__m128i __A, __m128i __B)
359
- {
360
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LT);
361
- }
362
-
363
- static __inline__ __m128i __DEFAULT_FN_ATTRS
364
- _mm_comle_epu8(__m128i __A, __m128i __B)
365
- {
366
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_LE);
367
- }
368
-
369
- static __inline__ __m128i __DEFAULT_FN_ATTRS
370
- _mm_comgt_epu8(__m128i __A, __m128i __B)
371
- {
372
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GT);
373
- }
374
-
375
- static __inline__ __m128i __DEFAULT_FN_ATTRS
376
- _mm_comge_epu8(__m128i __A, __m128i __B)
377
- {
378
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_GE);
379
- }
380
-
381
- static __inline__ __m128i __DEFAULT_FN_ATTRS
382
- _mm_comeq_epu8(__m128i __A, __m128i __B)
383
- {
384
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_EQ);
385
- }
386
-
387
- static __inline__ __m128i __DEFAULT_FN_ATTRS
388
- _mm_comneq_epu8(__m128i __A, __m128i __B)
389
- {
390
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_NEQ);
391
- }
392
-
393
- static __inline__ __m128i __DEFAULT_FN_ATTRS
394
- _mm_comfalse_epu8(__m128i __A, __m128i __B)
395
- {
396
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_FALSE);
397
- }
398
-
399
- static __inline__ __m128i __DEFAULT_FN_ATTRS
400
- _mm_comtrue_epu8(__m128i __A, __m128i __B)
401
- {
402
- return _mm_com_epu8(__A, __B, _MM_PCOMCTRL_TRUE);
403
- }
404
-
405
- static __inline__ __m128i __DEFAULT_FN_ATTRS
406
- _mm_comlt_epu16(__m128i __A, __m128i __B)
407
- {
408
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LT);
409
- }
410
-
411
- static __inline__ __m128i __DEFAULT_FN_ATTRS
412
- _mm_comle_epu16(__m128i __A, __m128i __B)
413
- {
414
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_LE);
415
- }
416
-
417
- static __inline__ __m128i __DEFAULT_FN_ATTRS
418
- _mm_comgt_epu16(__m128i __A, __m128i __B)
419
- {
420
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GT);
421
- }
422
-
423
- static __inline__ __m128i __DEFAULT_FN_ATTRS
424
- _mm_comge_epu16(__m128i __A, __m128i __B)
425
- {
426
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_GE);
427
- }
428
-
429
- static __inline__ __m128i __DEFAULT_FN_ATTRS
430
- _mm_comeq_epu16(__m128i __A, __m128i __B)
431
- {
432
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_EQ);
433
- }
434
-
435
- static __inline__ __m128i __DEFAULT_FN_ATTRS
436
- _mm_comneq_epu16(__m128i __A, __m128i __B)
437
- {
438
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_NEQ);
439
- }
440
-
441
- static __inline__ __m128i __DEFAULT_FN_ATTRS
442
- _mm_comfalse_epu16(__m128i __A, __m128i __B)
443
- {
444
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_FALSE);
445
- }
446
-
447
- static __inline__ __m128i __DEFAULT_FN_ATTRS
448
- _mm_comtrue_epu16(__m128i __A, __m128i __B)
449
- {
450
- return _mm_com_epu16(__A, __B, _MM_PCOMCTRL_TRUE);
451
- }
452
-
453
- static __inline__ __m128i __DEFAULT_FN_ATTRS
454
- _mm_comlt_epu32(__m128i __A, __m128i __B)
455
- {
456
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LT);
457
- }
458
-
459
- static __inline__ __m128i __DEFAULT_FN_ATTRS
460
- _mm_comle_epu32(__m128i __A, __m128i __B)
461
- {
462
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_LE);
463
- }
464
-
465
- static __inline__ __m128i __DEFAULT_FN_ATTRS
466
- _mm_comgt_epu32(__m128i __A, __m128i __B)
467
- {
468
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GT);
469
- }
470
-
471
- static __inline__ __m128i __DEFAULT_FN_ATTRS
472
- _mm_comge_epu32(__m128i __A, __m128i __B)
473
- {
474
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_GE);
475
- }
476
-
477
- static __inline__ __m128i __DEFAULT_FN_ATTRS
478
- _mm_comeq_epu32(__m128i __A, __m128i __B)
479
- {
480
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_EQ);
481
- }
482
-
483
- static __inline__ __m128i __DEFAULT_FN_ATTRS
484
- _mm_comneq_epu32(__m128i __A, __m128i __B)
485
- {
486
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_NEQ);
487
- }
488
-
489
- static __inline__ __m128i __DEFAULT_FN_ATTRS
490
- _mm_comfalse_epu32(__m128i __A, __m128i __B)
491
- {
492
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_FALSE);
493
- }
494
-
495
- static __inline__ __m128i __DEFAULT_FN_ATTRS
496
- _mm_comtrue_epu32(__m128i __A, __m128i __B)
497
- {
498
- return _mm_com_epu32(__A, __B, _MM_PCOMCTRL_TRUE);
499
- }
500
-
501
- static __inline__ __m128i __DEFAULT_FN_ATTRS
502
- _mm_comlt_epu64(__m128i __A, __m128i __B)
503
- {
504
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LT);
505
- }
506
-
507
- static __inline__ __m128i __DEFAULT_FN_ATTRS
508
- _mm_comle_epu64(__m128i __A, __m128i __B)
509
- {
510
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_LE);
511
- }
512
-
513
- static __inline__ __m128i __DEFAULT_FN_ATTRS
514
- _mm_comgt_epu64(__m128i __A, __m128i __B)
515
- {
516
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GT);
517
- }
518
-
519
- static __inline__ __m128i __DEFAULT_FN_ATTRS
520
- _mm_comge_epu64(__m128i __A, __m128i __B)
521
- {
522
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_GE);
523
- }
524
-
525
- static __inline__ __m128i __DEFAULT_FN_ATTRS
526
- _mm_comeq_epu64(__m128i __A, __m128i __B)
527
- {
528
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_EQ);
529
- }
530
-
531
- static __inline__ __m128i __DEFAULT_FN_ATTRS
532
- _mm_comneq_epu64(__m128i __A, __m128i __B)
533
- {
534
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_NEQ);
535
- }
536
-
537
- static __inline__ __m128i __DEFAULT_FN_ATTRS
538
- _mm_comfalse_epu64(__m128i __A, __m128i __B)
539
- {
540
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_FALSE);
541
- }
542
-
543
- static __inline__ __m128i __DEFAULT_FN_ATTRS
544
- _mm_comtrue_epu64(__m128i __A, __m128i __B)
545
- {
546
- return _mm_com_epu64(__A, __B, _MM_PCOMCTRL_TRUE);
547
- }
548
-
549
- static __inline__ __m128i __DEFAULT_FN_ATTRS
550
- _mm_comlt_epi8(__m128i __A, __m128i __B)
551
- {
552
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LT);
553
- }
554
-
555
- static __inline__ __m128i __DEFAULT_FN_ATTRS
556
- _mm_comle_epi8(__m128i __A, __m128i __B)
557
- {
558
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_LE);
559
- }
560
-
561
- static __inline__ __m128i __DEFAULT_FN_ATTRS
562
- _mm_comgt_epi8(__m128i __A, __m128i __B)
563
- {
564
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GT);
565
- }
566
-
567
- static __inline__ __m128i __DEFAULT_FN_ATTRS
568
- _mm_comge_epi8(__m128i __A, __m128i __B)
569
- {
570
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_GE);
571
- }
572
-
573
- static __inline__ __m128i __DEFAULT_FN_ATTRS
574
- _mm_comeq_epi8(__m128i __A, __m128i __B)
575
- {
576
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_EQ);
577
- }
578
-
579
- static __inline__ __m128i __DEFAULT_FN_ATTRS
580
- _mm_comneq_epi8(__m128i __A, __m128i __B)
581
- {
582
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_NEQ);
583
- }
584
-
585
- static __inline__ __m128i __DEFAULT_FN_ATTRS
586
- _mm_comfalse_epi8(__m128i __A, __m128i __B)
587
- {
588
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_FALSE);
589
- }
590
-
591
- static __inline__ __m128i __DEFAULT_FN_ATTRS
592
- _mm_comtrue_epi8(__m128i __A, __m128i __B)
593
- {
594
- return _mm_com_epi8(__A, __B, _MM_PCOMCTRL_TRUE);
595
- }
596
-
597
- static __inline__ __m128i __DEFAULT_FN_ATTRS
598
- _mm_comlt_epi16(__m128i __A, __m128i __B)
599
- {
600
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LT);
601
- }
602
-
603
- static __inline__ __m128i __DEFAULT_FN_ATTRS
604
- _mm_comle_epi16(__m128i __A, __m128i __B)
605
- {
606
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_LE);
607
- }
608
-
609
- static __inline__ __m128i __DEFAULT_FN_ATTRS
610
- _mm_comgt_epi16(__m128i __A, __m128i __B)
611
- {
612
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GT);
613
- }
614
-
615
- static __inline__ __m128i __DEFAULT_FN_ATTRS
616
- _mm_comge_epi16(__m128i __A, __m128i __B)
617
- {
618
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_GE);
619
- }
620
-
621
- static __inline__ __m128i __DEFAULT_FN_ATTRS
622
- _mm_comeq_epi16(__m128i __A, __m128i __B)
623
- {
624
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_EQ);
625
- }
626
-
627
- static __inline__ __m128i __DEFAULT_FN_ATTRS
628
- _mm_comneq_epi16(__m128i __A, __m128i __B)
629
- {
630
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_NEQ);
631
- }
632
-
633
- static __inline__ __m128i __DEFAULT_FN_ATTRS
634
- _mm_comfalse_epi16(__m128i __A, __m128i __B)
635
- {
636
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_FALSE);
637
- }
638
-
639
- static __inline__ __m128i __DEFAULT_FN_ATTRS
640
- _mm_comtrue_epi16(__m128i __A, __m128i __B)
641
- {
642
- return _mm_com_epi16(__A, __B, _MM_PCOMCTRL_TRUE);
643
- }
644
-
645
- static __inline__ __m128i __DEFAULT_FN_ATTRS
646
- _mm_comlt_epi32(__m128i __A, __m128i __B)
647
- {
648
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LT);
649
- }
650
-
651
- static __inline__ __m128i __DEFAULT_FN_ATTRS
652
- _mm_comle_epi32(__m128i __A, __m128i __B)
653
- {
654
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_LE);
655
- }
656
-
657
- static __inline__ __m128i __DEFAULT_FN_ATTRS
658
- _mm_comgt_epi32(__m128i __A, __m128i __B)
659
- {
660
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GT);
661
- }
662
-
663
- static __inline__ __m128i __DEFAULT_FN_ATTRS
664
- _mm_comge_epi32(__m128i __A, __m128i __B)
665
- {
666
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_GE);
667
- }
668
-
669
- static __inline__ __m128i __DEFAULT_FN_ATTRS
670
- _mm_comeq_epi32(__m128i __A, __m128i __B)
671
- {
672
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_EQ);
673
- }
674
-
675
- static __inline__ __m128i __DEFAULT_FN_ATTRS
676
- _mm_comneq_epi32(__m128i __A, __m128i __B)
677
- {
678
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_NEQ);
679
- }
680
-
681
- static __inline__ __m128i __DEFAULT_FN_ATTRS
682
- _mm_comfalse_epi32(__m128i __A, __m128i __B)
683
- {
684
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_FALSE);
685
- }
686
-
687
- static __inline__ __m128i __DEFAULT_FN_ATTRS
688
- _mm_comtrue_epi32(__m128i __A, __m128i __B)
689
- {
690
- return _mm_com_epi32(__A, __B, _MM_PCOMCTRL_TRUE);
691
- }
692
-
693
- static __inline__ __m128i __DEFAULT_FN_ATTRS
694
- _mm_comlt_epi64(__m128i __A, __m128i __B)
695
- {
696
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LT);
697
- }
698
-
699
- static __inline__ __m128i __DEFAULT_FN_ATTRS
700
- _mm_comle_epi64(__m128i __A, __m128i __B)
701
- {
702
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_LE);
703
- }
704
-
705
- static __inline__ __m128i __DEFAULT_FN_ATTRS
706
- _mm_comgt_epi64(__m128i __A, __m128i __B)
707
- {
708
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GT);
709
- }
710
-
711
- static __inline__ __m128i __DEFAULT_FN_ATTRS
712
- _mm_comge_epi64(__m128i __A, __m128i __B)
713
- {
714
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_GE);
715
- }
716
-
717
- static __inline__ __m128i __DEFAULT_FN_ATTRS
718
- _mm_comeq_epi64(__m128i __A, __m128i __B)
719
- {
720
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_EQ);
721
- }
722
-
723
- static __inline__ __m128i __DEFAULT_FN_ATTRS
724
- _mm_comneq_epi64(__m128i __A, __m128i __B)
725
- {
726
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_NEQ);
727
- }
728
-
729
- static __inline__ __m128i __DEFAULT_FN_ATTRS
730
- _mm_comfalse_epi64(__m128i __A, __m128i __B)
731
- {
732
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_FALSE);
733
- }
734
-
735
- static __inline__ __m128i __DEFAULT_FN_ATTRS
736
- _mm_comtrue_epi64(__m128i __A, __m128i __B)
737
- {
738
- return _mm_com_epi64(__A, __B, _MM_PCOMCTRL_TRUE);
739
- }
740
-
741
- #define _mm_permute2_pd(X, Y, C, I) __extension__ ({ \
742
- __m128d __X = (X); \
743
- __m128d __Y = (Y); \
744
- __m128i __C = (C); \
745
- (__m128d)__builtin_ia32_vpermil2pd((__v2df)__X, (__v2df)__Y, \
746
- (__v2di)__C, (I)); })
747
-
748
- #define _mm256_permute2_pd(X, Y, C, I) __extension__ ({ \
749
- __m256d __X = (X); \
750
- __m256d __Y = (Y); \
751
- __m256i __C = (C); \
752
- (__m256d)__builtin_ia32_vpermil2pd256((__v4df)__X, (__v4df)__Y, \
753
- (__v4di)__C, (I)); })
754
-
755
- #define _mm_permute2_ps(X, Y, C, I) __extension__ ({ \
756
- __m128 __X = (X); \
757
- __m128 __Y = (Y); \
758
- __m128i __C = (C); \
759
- (__m128)__builtin_ia32_vpermil2ps((__v4sf)__X, (__v4sf)__Y, \
760
- (__v4si)__C, (I)); })
761
-
762
- #define _mm256_permute2_ps(X, Y, C, I) __extension__ ({ \
763
- __m256 __X = (X); \
764
- __m256 __Y = (Y); \
765
- __m256i __C = (C); \
766
- (__m256)__builtin_ia32_vpermil2ps256((__v8sf)__X, (__v8sf)__Y, \
767
- (__v8si)__C, (I)); })
768
-
769
- static __inline__ __m128 __DEFAULT_FN_ATTRS
770
- _mm_frcz_ss(__m128 __A)
771
- {
772
- return (__m128)__builtin_ia32_vfrczss((__v4sf)__A);
773
- }
774
-
775
- static __inline__ __m128d __DEFAULT_FN_ATTRS
776
- _mm_frcz_sd(__m128d __A)
777
- {
778
- return (__m128d)__builtin_ia32_vfrczsd((__v2df)__A);
779
- }
780
-
781
- static __inline__ __m128 __DEFAULT_FN_ATTRS
782
- _mm_frcz_ps(__m128 __A)
783
- {
784
- return (__m128)__builtin_ia32_vfrczps((__v4sf)__A);
785
- }
786
-
787
- static __inline__ __m128d __DEFAULT_FN_ATTRS
788
- _mm_frcz_pd(__m128d __A)
789
- {
790
- return (__m128d)__builtin_ia32_vfrczpd((__v2df)__A);
791
- }
792
-
793
- static __inline__ __m256 __DEFAULT_FN_ATTRS
794
- _mm256_frcz_ps(__m256 __A)
795
- {
796
- return (__m256)__builtin_ia32_vfrczps256((__v8sf)__A);
797
- }
798
-
799
- static __inline__ __m256d __DEFAULT_FN_ATTRS
800
- _mm256_frcz_pd(__m256d __A)
801
- {
802
- return (__m256d)__builtin_ia32_vfrczpd256((__v4df)__A);
803
- }
804
-
805
- #undef __DEFAULT_FN_ATTRS
806
-
807
- #endif /* __XOP__ */
808
-
809
- #endif /* __XOPINTRIN_H */