xcodebuild-helper 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,75 +0,0 @@
1
- /*===---- mm_malloc.h - Allocating and Freeing Aligned Memory Blocks -------===
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 __MM_MALLOC_H
25
- #define __MM_MALLOC_H
26
-
27
- #include <stdlib.h>
28
-
29
- #ifdef _WIN32
30
- #include <malloc.h>
31
- #else
32
- #ifndef __cplusplus
33
- extern int posix_memalign(void **__memptr, size_t __alignment, size_t __size);
34
- #else
35
- // Some systems (e.g. those with GNU libc) declare posix_memalign with an
36
- // exception specifier. Via an "egregious workaround" in
37
- // Sema::CheckEquivalentExceptionSpec, Clang accepts the following as a valid
38
- // redeclaration of glibc's declaration.
39
- extern "C" int posix_memalign(void **__memptr, size_t __alignment, size_t __size);
40
- #endif
41
- #endif
42
-
43
- #if !(defined(_WIN32) && defined(_mm_malloc))
44
- static __inline__ void *__attribute__((__always_inline__, __nodebug__,
45
- __malloc__))
46
- _mm_malloc(size_t __size, size_t __align)
47
- {
48
- if (__align == 1) {
49
- return malloc(__size);
50
- }
51
-
52
- if (!(__align & (__align - 1)) && __align < sizeof(void *))
53
- __align = sizeof(void *);
54
-
55
- void *__mallocedMemory;
56
- #if defined(__MINGW32__)
57
- __mallocedMemory = __mingw_aligned_malloc(__size, __align);
58
- #elif defined(_WIN32)
59
- __mallocedMemory = _aligned_malloc(__size, __align);
60
- #else
61
- if (posix_memalign(&__mallocedMemory, __align, __size))
62
- return 0;
63
- #endif
64
-
65
- return __mallocedMemory;
66
- }
67
-
68
- static __inline__ void __attribute__((__always_inline__, __nodebug__))
69
- _mm_free(void *__p)
70
- {
71
- free(__p);
72
- }
73
- #endif
74
-
75
- #endif /* __MM_MALLOC_H */
@@ -1,507 +0,0 @@
1
- /*===---- mmintrin.h - MMX 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 __MMINTRIN_H
25
- #define __MMINTRIN_H
26
-
27
- #ifndef __MMX__
28
- #error "MMX instruction set not enabled"
29
- #else
30
-
31
- typedef long long __m64 __attribute__((__vector_size__(8)));
32
-
33
- typedef int __v2si __attribute__((__vector_size__(8)));
34
- typedef short __v4hi __attribute__((__vector_size__(8)));
35
- typedef char __v8qi __attribute__((__vector_size__(8)));
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__ void __DEFAULT_FN_ATTRS
41
- _mm_empty(void)
42
- {
43
- __builtin_ia32_emms();
44
- }
45
-
46
- static __inline__ __m64 __DEFAULT_FN_ATTRS
47
- _mm_cvtsi32_si64(int __i)
48
- {
49
- return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
50
- }
51
-
52
- static __inline__ int __DEFAULT_FN_ATTRS
53
- _mm_cvtsi64_si32(__m64 __m)
54
- {
55
- return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
56
- }
57
-
58
- static __inline__ __m64 __DEFAULT_FN_ATTRS
59
- _mm_cvtsi64_m64(long long __i)
60
- {
61
- return (__m64)__i;
62
- }
63
-
64
- static __inline__ long long __DEFAULT_FN_ATTRS
65
- _mm_cvtm64_si64(__m64 __m)
66
- {
67
- return (long long)__m;
68
- }
69
-
70
- static __inline__ __m64 __DEFAULT_FN_ATTRS
71
- _mm_packs_pi16(__m64 __m1, __m64 __m2)
72
- {
73
- return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
74
- }
75
-
76
- static __inline__ __m64 __DEFAULT_FN_ATTRS
77
- _mm_packs_pi32(__m64 __m1, __m64 __m2)
78
- {
79
- return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
80
- }
81
-
82
- static __inline__ __m64 __DEFAULT_FN_ATTRS
83
- _mm_packs_pu16(__m64 __m1, __m64 __m2)
84
- {
85
- return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
86
- }
87
-
88
- static __inline__ __m64 __DEFAULT_FN_ATTRS
89
- _mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
90
- {
91
- return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
92
- }
93
-
94
- static __inline__ __m64 __DEFAULT_FN_ATTRS
95
- _mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
96
- {
97
- return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
98
- }
99
-
100
- static __inline__ __m64 __DEFAULT_FN_ATTRS
101
- _mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
102
- {
103
- return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
104
- }
105
-
106
- static __inline__ __m64 __DEFAULT_FN_ATTRS
107
- _mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
108
- {
109
- return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
110
- }
111
-
112
- static __inline__ __m64 __DEFAULT_FN_ATTRS
113
- _mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
114
- {
115
- return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
116
- }
117
-
118
- static __inline__ __m64 __DEFAULT_FN_ATTRS
119
- _mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
120
- {
121
- return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
122
- }
123
-
124
- static __inline__ __m64 __DEFAULT_FN_ATTRS
125
- _mm_add_pi8(__m64 __m1, __m64 __m2)
126
- {
127
- return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
128
- }
129
-
130
- static __inline__ __m64 __DEFAULT_FN_ATTRS
131
- _mm_add_pi16(__m64 __m1, __m64 __m2)
132
- {
133
- return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
134
- }
135
-
136
- static __inline__ __m64 __DEFAULT_FN_ATTRS
137
- _mm_add_pi32(__m64 __m1, __m64 __m2)
138
- {
139
- return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
140
- }
141
-
142
- static __inline__ __m64 __DEFAULT_FN_ATTRS
143
- _mm_adds_pi8(__m64 __m1, __m64 __m2)
144
- {
145
- return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2);
146
- }
147
-
148
- static __inline__ __m64 __DEFAULT_FN_ATTRS
149
- _mm_adds_pi16(__m64 __m1, __m64 __m2)
150
- {
151
- return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2);
152
- }
153
-
154
- static __inline__ __m64 __DEFAULT_FN_ATTRS
155
- _mm_adds_pu8(__m64 __m1, __m64 __m2)
156
- {
157
- return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2);
158
- }
159
-
160
- static __inline__ __m64 __DEFAULT_FN_ATTRS
161
- _mm_adds_pu16(__m64 __m1, __m64 __m2)
162
- {
163
- return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2);
164
- }
165
-
166
- static __inline__ __m64 __DEFAULT_FN_ATTRS
167
- _mm_sub_pi8(__m64 __m1, __m64 __m2)
168
- {
169
- return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2);
170
- }
171
-
172
- static __inline__ __m64 __DEFAULT_FN_ATTRS
173
- _mm_sub_pi16(__m64 __m1, __m64 __m2)
174
- {
175
- return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2);
176
- }
177
-
178
- static __inline__ __m64 __DEFAULT_FN_ATTRS
179
- _mm_sub_pi32(__m64 __m1, __m64 __m2)
180
- {
181
- return (__m64)__builtin_ia32_psubd((__v2si)__m1, (__v2si)__m2);
182
- }
183
-
184
- static __inline__ __m64 __DEFAULT_FN_ATTRS
185
- _mm_subs_pi8(__m64 __m1, __m64 __m2)
186
- {
187
- return (__m64)__builtin_ia32_psubsb((__v8qi)__m1, (__v8qi)__m2);
188
- }
189
-
190
- static __inline__ __m64 __DEFAULT_FN_ATTRS
191
- _mm_subs_pi16(__m64 __m1, __m64 __m2)
192
- {
193
- return (__m64)__builtin_ia32_psubsw((__v4hi)__m1, (__v4hi)__m2);
194
- }
195
-
196
- static __inline__ __m64 __DEFAULT_FN_ATTRS
197
- _mm_subs_pu8(__m64 __m1, __m64 __m2)
198
- {
199
- return (__m64)__builtin_ia32_psubusb((__v8qi)__m1, (__v8qi)__m2);
200
- }
201
-
202
- static __inline__ __m64 __DEFAULT_FN_ATTRS
203
- _mm_subs_pu16(__m64 __m1, __m64 __m2)
204
- {
205
- return (__m64)__builtin_ia32_psubusw((__v4hi)__m1, (__v4hi)__m2);
206
- }
207
-
208
- static __inline__ __m64 __DEFAULT_FN_ATTRS
209
- _mm_madd_pi16(__m64 __m1, __m64 __m2)
210
- {
211
- return (__m64)__builtin_ia32_pmaddwd((__v4hi)__m1, (__v4hi)__m2);
212
- }
213
-
214
- static __inline__ __m64 __DEFAULT_FN_ATTRS
215
- _mm_mulhi_pi16(__m64 __m1, __m64 __m2)
216
- {
217
- return (__m64)__builtin_ia32_pmulhw((__v4hi)__m1, (__v4hi)__m2);
218
- }
219
-
220
- static __inline__ __m64 __DEFAULT_FN_ATTRS
221
- _mm_mullo_pi16(__m64 __m1, __m64 __m2)
222
- {
223
- return (__m64)__builtin_ia32_pmullw((__v4hi)__m1, (__v4hi)__m2);
224
- }
225
-
226
- static __inline__ __m64 __DEFAULT_FN_ATTRS
227
- _mm_sll_pi16(__m64 __m, __m64 __count)
228
- {
229
- return (__m64)__builtin_ia32_psllw((__v4hi)__m, __count);
230
- }
231
-
232
- static __inline__ __m64 __DEFAULT_FN_ATTRS
233
- _mm_slli_pi16(__m64 __m, int __count)
234
- {
235
- return (__m64)__builtin_ia32_psllwi((__v4hi)__m, __count);
236
- }
237
-
238
- static __inline__ __m64 __DEFAULT_FN_ATTRS
239
- _mm_sll_pi32(__m64 __m, __m64 __count)
240
- {
241
- return (__m64)__builtin_ia32_pslld((__v2si)__m, __count);
242
- }
243
-
244
- static __inline__ __m64 __DEFAULT_FN_ATTRS
245
- _mm_slli_pi32(__m64 __m, int __count)
246
- {
247
- return (__m64)__builtin_ia32_pslldi((__v2si)__m, __count);
248
- }
249
-
250
- static __inline__ __m64 __DEFAULT_FN_ATTRS
251
- _mm_sll_si64(__m64 __m, __m64 __count)
252
- {
253
- return (__m64)__builtin_ia32_psllq(__m, __count);
254
- }
255
-
256
- static __inline__ __m64 __DEFAULT_FN_ATTRS
257
- _mm_slli_si64(__m64 __m, int __count)
258
- {
259
- return (__m64)__builtin_ia32_psllqi(__m, __count);
260
- }
261
-
262
- static __inline__ __m64 __DEFAULT_FN_ATTRS
263
- _mm_sra_pi16(__m64 __m, __m64 __count)
264
- {
265
- return (__m64)__builtin_ia32_psraw((__v4hi)__m, __count);
266
- }
267
-
268
- static __inline__ __m64 __DEFAULT_FN_ATTRS
269
- _mm_srai_pi16(__m64 __m, int __count)
270
- {
271
- return (__m64)__builtin_ia32_psrawi((__v4hi)__m, __count);
272
- }
273
-
274
- static __inline__ __m64 __DEFAULT_FN_ATTRS
275
- _mm_sra_pi32(__m64 __m, __m64 __count)
276
- {
277
- return (__m64)__builtin_ia32_psrad((__v2si)__m, __count);
278
- }
279
-
280
- static __inline__ __m64 __DEFAULT_FN_ATTRS
281
- _mm_srai_pi32(__m64 __m, int __count)
282
- {
283
- return (__m64)__builtin_ia32_psradi((__v2si)__m, __count);
284
- }
285
-
286
- static __inline__ __m64 __DEFAULT_FN_ATTRS
287
- _mm_srl_pi16(__m64 __m, __m64 __count)
288
- {
289
- return (__m64)__builtin_ia32_psrlw((__v4hi)__m, __count);
290
- }
291
-
292
- static __inline__ __m64 __DEFAULT_FN_ATTRS
293
- _mm_srli_pi16(__m64 __m, int __count)
294
- {
295
- return (__m64)__builtin_ia32_psrlwi((__v4hi)__m, __count);
296
- }
297
-
298
- static __inline__ __m64 __DEFAULT_FN_ATTRS
299
- _mm_srl_pi32(__m64 __m, __m64 __count)
300
- {
301
- return (__m64)__builtin_ia32_psrld((__v2si)__m, __count);
302
- }
303
-
304
- static __inline__ __m64 __DEFAULT_FN_ATTRS
305
- _mm_srli_pi32(__m64 __m, int __count)
306
- {
307
- return (__m64)__builtin_ia32_psrldi((__v2si)__m, __count);
308
- }
309
-
310
- static __inline__ __m64 __DEFAULT_FN_ATTRS
311
- _mm_srl_si64(__m64 __m, __m64 __count)
312
- {
313
- return (__m64)__builtin_ia32_psrlq(__m, __count);
314
- }
315
-
316
- static __inline__ __m64 __DEFAULT_FN_ATTRS
317
- _mm_srli_si64(__m64 __m, int __count)
318
- {
319
- return (__m64)__builtin_ia32_psrlqi(__m, __count);
320
- }
321
-
322
- static __inline__ __m64 __DEFAULT_FN_ATTRS
323
- _mm_and_si64(__m64 __m1, __m64 __m2)
324
- {
325
- return __builtin_ia32_pand(__m1, __m2);
326
- }
327
-
328
- static __inline__ __m64 __DEFAULT_FN_ATTRS
329
- _mm_andnot_si64(__m64 __m1, __m64 __m2)
330
- {
331
- return __builtin_ia32_pandn(__m1, __m2);
332
- }
333
-
334
- static __inline__ __m64 __DEFAULT_FN_ATTRS
335
- _mm_or_si64(__m64 __m1, __m64 __m2)
336
- {
337
- return __builtin_ia32_por(__m1, __m2);
338
- }
339
-
340
- static __inline__ __m64 __DEFAULT_FN_ATTRS
341
- _mm_xor_si64(__m64 __m1, __m64 __m2)
342
- {
343
- return __builtin_ia32_pxor(__m1, __m2);
344
- }
345
-
346
- static __inline__ __m64 __DEFAULT_FN_ATTRS
347
- _mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
348
- {
349
- return (__m64)__builtin_ia32_pcmpeqb((__v8qi)__m1, (__v8qi)__m2);
350
- }
351
-
352
- static __inline__ __m64 __DEFAULT_FN_ATTRS
353
- _mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
354
- {
355
- return (__m64)__builtin_ia32_pcmpeqw((__v4hi)__m1, (__v4hi)__m2);
356
- }
357
-
358
- static __inline__ __m64 __DEFAULT_FN_ATTRS
359
- _mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
360
- {
361
- return (__m64)__builtin_ia32_pcmpeqd((__v2si)__m1, (__v2si)__m2);
362
- }
363
-
364
- static __inline__ __m64 __DEFAULT_FN_ATTRS
365
- _mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
366
- {
367
- return (__m64)__builtin_ia32_pcmpgtb((__v8qi)__m1, (__v8qi)__m2);
368
- }
369
-
370
- static __inline__ __m64 __DEFAULT_FN_ATTRS
371
- _mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
372
- {
373
- return (__m64)__builtin_ia32_pcmpgtw((__v4hi)__m1, (__v4hi)__m2);
374
- }
375
-
376
- static __inline__ __m64 __DEFAULT_FN_ATTRS
377
- _mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
378
- {
379
- return (__m64)__builtin_ia32_pcmpgtd((__v2si)__m1, (__v2si)__m2);
380
- }
381
-
382
- static __inline__ __m64 __DEFAULT_FN_ATTRS
383
- _mm_setzero_si64(void)
384
- {
385
- return (__m64){ 0LL };
386
- }
387
-
388
- static __inline__ __m64 __DEFAULT_FN_ATTRS
389
- _mm_set_pi32(int __i1, int __i0)
390
- {
391
- return (__m64)__builtin_ia32_vec_init_v2si(__i0, __i1);
392
- }
393
-
394
- static __inline__ __m64 __DEFAULT_FN_ATTRS
395
- _mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
396
- {
397
- return (__m64)__builtin_ia32_vec_init_v4hi(__s0, __s1, __s2, __s3);
398
- }
399
-
400
- static __inline__ __m64 __DEFAULT_FN_ATTRS
401
- _mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
402
- char __b1, char __b0)
403
- {
404
- return (__m64)__builtin_ia32_vec_init_v8qi(__b0, __b1, __b2, __b3,
405
- __b4, __b5, __b6, __b7);
406
- }
407
-
408
- static __inline__ __m64 __DEFAULT_FN_ATTRS
409
- _mm_set1_pi32(int __i)
410
- {
411
- return _mm_set_pi32(__i, __i);
412
- }
413
-
414
- static __inline__ __m64 __DEFAULT_FN_ATTRS
415
- _mm_set1_pi16(short __w)
416
- {
417
- return _mm_set_pi16(__w, __w, __w, __w);
418
- }
419
-
420
- static __inline__ __m64 __DEFAULT_FN_ATTRS
421
- _mm_set1_pi8(char __b)
422
- {
423
- return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
424
- }
425
-
426
- static __inline__ __m64 __DEFAULT_FN_ATTRS
427
- _mm_setr_pi32(int __i0, int __i1)
428
- {
429
- return _mm_set_pi32(__i1, __i0);
430
- }
431
-
432
- static __inline__ __m64 __DEFAULT_FN_ATTRS
433
- _mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
434
- {
435
- return _mm_set_pi16(__w3, __w2, __w1, __w0);
436
- }
437
-
438
- static __inline__ __m64 __DEFAULT_FN_ATTRS
439
- _mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
440
- char __b6, char __b7)
441
- {
442
- return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
443
- }
444
-
445
- #undef __DEFAULT_FN_ATTRS
446
-
447
- /* Aliases for compatibility. */
448
- #define _m_empty _mm_empty
449
- #define _m_from_int _mm_cvtsi32_si64
450
- #define _m_to_int _mm_cvtsi64_si32
451
- #define _m_packsswb _mm_packs_pi16
452
- #define _m_packssdw _mm_packs_pi32
453
- #define _m_packuswb _mm_packs_pu16
454
- #define _m_punpckhbw _mm_unpackhi_pi8
455
- #define _m_punpckhwd _mm_unpackhi_pi16
456
- #define _m_punpckhdq _mm_unpackhi_pi32
457
- #define _m_punpcklbw _mm_unpacklo_pi8
458
- #define _m_punpcklwd _mm_unpacklo_pi16
459
- #define _m_punpckldq _mm_unpacklo_pi32
460
- #define _m_paddb _mm_add_pi8
461
- #define _m_paddw _mm_add_pi16
462
- #define _m_paddd _mm_add_pi32
463
- #define _m_paddsb _mm_adds_pi8
464
- #define _m_paddsw _mm_adds_pi16
465
- #define _m_paddusb _mm_adds_pu8
466
- #define _m_paddusw _mm_adds_pu16
467
- #define _m_psubb _mm_sub_pi8
468
- #define _m_psubw _mm_sub_pi16
469
- #define _m_psubd _mm_sub_pi32
470
- #define _m_psubsb _mm_subs_pi8
471
- #define _m_psubsw _mm_subs_pi16
472
- #define _m_psubusb _mm_subs_pu8
473
- #define _m_psubusw _mm_subs_pu16
474
- #define _m_pmaddwd _mm_madd_pi16
475
- #define _m_pmulhw _mm_mulhi_pi16
476
- #define _m_pmullw _mm_mullo_pi16
477
- #define _m_psllw _mm_sll_pi16
478
- #define _m_psllwi _mm_slli_pi16
479
- #define _m_pslld _mm_sll_pi32
480
- #define _m_pslldi _mm_slli_pi32
481
- #define _m_psllq _mm_sll_si64
482
- #define _m_psllqi _mm_slli_si64
483
- #define _m_psraw _mm_sra_pi16
484
- #define _m_psrawi _mm_srai_pi16
485
- #define _m_psrad _mm_sra_pi32
486
- #define _m_psradi _mm_srai_pi32
487
- #define _m_psrlw _mm_srl_pi16
488
- #define _m_psrlwi _mm_srli_pi16
489
- #define _m_psrld _mm_srl_pi32
490
- #define _m_psrldi _mm_srli_pi32
491
- #define _m_psrlq _mm_srl_si64
492
- #define _m_psrlqi _mm_srli_si64
493
- #define _m_pand _mm_and_si64
494
- #define _m_pandn _mm_andnot_si64
495
- #define _m_por _mm_or_si64
496
- #define _m_pxor _mm_xor_si64
497
- #define _m_pcmpeqb _mm_cmpeq_pi8
498
- #define _m_pcmpeqw _mm_cmpeq_pi16
499
- #define _m_pcmpeqd _mm_cmpeq_pi32
500
- #define _m_pcmpgtb _mm_cmpgt_pi8
501
- #define _m_pcmpgtw _mm_cmpgt_pi16
502
- #define _m_pcmpgtd _mm_cmpgt_pi32
503
-
504
- #endif /* __MMX__ */
505
-
506
- #endif /* __MMINTRIN_H */
507
-