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,99 +0,0 @@
1
- /*===---- bmi2intrin.h - BMI2 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
- #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
25
- #error "Never use <bmi2intrin.h> directly; include <x86intrin.h> instead."
26
- #endif
27
-
28
- #ifndef __BMI2__
29
- # error "BMI2 instruction set not enabled"
30
- #endif /* __BMI2__ */
31
-
32
- #ifndef __BMI2INTRIN_H
33
- #define __BMI2INTRIN_H
34
-
35
- /* Define the default attributes for the functions in this file. */
36
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
37
-
38
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
39
- _bzhi_u32(unsigned int __X, unsigned int __Y)
40
- {
41
- return __builtin_ia32_bzhi_si(__X, __Y);
42
- }
43
-
44
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
45
- _pdep_u32(unsigned int __X, unsigned int __Y)
46
- {
47
- return __builtin_ia32_pdep_si(__X, __Y);
48
- }
49
-
50
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
51
- _pext_u32(unsigned int __X, unsigned int __Y)
52
- {
53
- return __builtin_ia32_pext_si(__X, __Y);
54
- }
55
-
56
- #ifdef __x86_64__
57
-
58
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
59
- _bzhi_u64(unsigned long long __X, unsigned long long __Y)
60
- {
61
- return __builtin_ia32_bzhi_di(__X, __Y);
62
- }
63
-
64
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
65
- _pdep_u64(unsigned long long __X, unsigned long long __Y)
66
- {
67
- return __builtin_ia32_pdep_di(__X, __Y);
68
- }
69
-
70
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
71
- _pext_u64(unsigned long long __X, unsigned long long __Y)
72
- {
73
- return __builtin_ia32_pext_di(__X, __Y);
74
- }
75
-
76
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
77
- _mulx_u64 (unsigned long long __X, unsigned long long __Y,
78
- unsigned long long *__P)
79
- {
80
- unsigned __int128 __res = (unsigned __int128) __X * __Y;
81
- *__P = (unsigned long long) (__res >> 64);
82
- return (unsigned long long) __res;
83
- }
84
-
85
- #else /* !__x86_64__ */
86
-
87
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
88
- _mulx_u32 (unsigned int __X, unsigned int __Y, unsigned int *__P)
89
- {
90
- unsigned long long __res = (unsigned long long) __X * __Y;
91
- *__P = (unsigned int) (__res >> 32);
92
- return (unsigned int) __res;
93
- }
94
-
95
- #endif /* !__x86_64__ */
96
-
97
- #undef __DEFAULT_FN_ATTRS
98
-
99
- #endif /* __BMI2INTRIN_H */
@@ -1,153 +0,0 @@
1
- /*===---- bmiintrin.h - BMI 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
- #if !defined __X86INTRIN_H && !defined __IMMINTRIN_H
25
- #error "Never use <bmiintrin.h> directly; include <x86intrin.h> instead."
26
- #endif
27
-
28
- #ifndef __BMI__
29
- # error "BMI instruction set not enabled"
30
- #endif /* __BMI__ */
31
-
32
- #ifndef __BMIINTRIN_H
33
- #define __BMIINTRIN_H
34
-
35
- #define _tzcnt_u16(a) (__tzcnt_u16((a)))
36
- #define _andn_u32(a, b) (__andn_u32((a), (b)))
37
- /* _bextr_u32 != __bextr_u32 */
38
- #define _blsi_u32(a) (__blsi_u32((a)))
39
- #define _blsmsk_u32(a) (__blsmsk_u32((a)))
40
- #define _blsr_u32(a) (__blsr_u32((a)))
41
- #define _tzcnt_u32(a) (__tzcnt_u32((a)))
42
-
43
- /* Define the default attributes for the functions in this file. */
44
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
45
-
46
- static __inline__ unsigned short __DEFAULT_FN_ATTRS
47
- __tzcnt_u16(unsigned short __X)
48
- {
49
- return __X ? __builtin_ctzs(__X) : 16;
50
- }
51
-
52
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
53
- __andn_u32(unsigned int __X, unsigned int __Y)
54
- {
55
- return ~__X & __Y;
56
- }
57
-
58
- /* AMD-specified, double-leading-underscore version of BEXTR */
59
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
60
- __bextr_u32(unsigned int __X, unsigned int __Y)
61
- {
62
- return __builtin_ia32_bextr_u32(__X, __Y);
63
- }
64
-
65
- /* Intel-specified, single-leading-underscore version of BEXTR */
66
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
67
- _bextr_u32(unsigned int __X, unsigned int __Y, unsigned int __Z)
68
- {
69
- return __builtin_ia32_bextr_u32 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
70
- }
71
-
72
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
73
- __blsi_u32(unsigned int __X)
74
- {
75
- return __X & -__X;
76
- }
77
-
78
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
79
- __blsmsk_u32(unsigned int __X)
80
- {
81
- return __X ^ (__X - 1);
82
- }
83
-
84
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
85
- __blsr_u32(unsigned int __X)
86
- {
87
- return __X & (__X - 1);
88
- }
89
-
90
- static __inline__ unsigned int __DEFAULT_FN_ATTRS
91
- __tzcnt_u32(unsigned int __X)
92
- {
93
- return __X ? __builtin_ctz(__X) : 32;
94
- }
95
-
96
- #ifdef __x86_64__
97
-
98
- #define _andn_u64(a, b) (__andn_u64((a), (b)))
99
- /* _bextr_u64 != __bextr_u64 */
100
- #define _blsi_u64(a) (__blsi_u64((a)))
101
- #define _blsmsk_u64(a) (__blsmsk_u64((a)))
102
- #define _blsr_u64(a) (__blsr_u64((a)))
103
- #define _tzcnt_u64(a) (__tzcnt_u64((a)))
104
-
105
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
106
- __andn_u64 (unsigned long long __X, unsigned long long __Y)
107
- {
108
- return ~__X & __Y;
109
- }
110
-
111
- /* AMD-specified, double-leading-underscore version of BEXTR */
112
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
113
- __bextr_u64(unsigned long long __X, unsigned long long __Y)
114
- {
115
- return __builtin_ia32_bextr_u64(__X, __Y);
116
- }
117
-
118
- /* Intel-specified, single-leading-underscore version of BEXTR */
119
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
120
- _bextr_u64(unsigned long long __X, unsigned int __Y, unsigned int __Z)
121
- {
122
- return __builtin_ia32_bextr_u64 (__X, ((__Y & 0xff) | ((__Z & 0xff) << 8)));
123
- }
124
-
125
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
126
- __blsi_u64(unsigned long long __X)
127
- {
128
- return __X & -__X;
129
- }
130
-
131
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
132
- __blsmsk_u64(unsigned long long __X)
133
- {
134
- return __X ^ (__X - 1);
135
- }
136
-
137
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
138
- __blsr_u64(unsigned long long __X)
139
- {
140
- return __X & (__X - 1);
141
- }
142
-
143
- static __inline__ unsigned long long __DEFAULT_FN_ATTRS
144
- __tzcnt_u64(unsigned long long __X)
145
- {
146
- return __X ? __builtin_ctzll(__X) : 64;
147
- }
148
-
149
- #endif /* __x86_64__ */
150
-
151
- #undef __DEFAULT_FN_ATTRS
152
-
153
- #endif /* __BMIINTRIN_H */
@@ -1,209 +0,0 @@
1
- /*===---- cpuid.h - X86 cpu model detection --------------------------------===
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
- #if !(__x86_64__ || __i386__)
25
- #error this header is for x86 only
26
- #endif
27
-
28
- /* Responses identification request with %eax 0 */
29
- /* AMD: "AuthenticAMD" */
30
- #define signature_AMD_ebx 0x68747541
31
- #define signature_AMD_edx 0x69746e65
32
- #define signature_AMD_ecx 0x444d4163
33
- /* CENTAUR: "CentaurHauls" */
34
- #define signature_CENTAUR_ebx 0x746e6543
35
- #define signature_CENTAUR_edx 0x48727561
36
- #define signature_CENTAUR_ecx 0x736c7561
37
- /* CYRIX: "CyrixInstead" */
38
- #define signature_CYRIX_ebx 0x69727943
39
- #define signature_CYRIX_edx 0x736e4978
40
- #define signature_CYRIX_ecx 0x64616574
41
- /* INTEL: "GenuineIntel" */
42
- #define signature_INTEL_ebx 0x756e6547
43
- #define signature_INTEL_edx 0x49656e69
44
- #define signature_INTEL_ecx 0x6c65746e
45
- /* TM1: "TransmetaCPU" */
46
- #define signature_TM1_ebx 0x6e617254
47
- #define signature_TM1_edx 0x74656d73
48
- #define signature_TM1_ecx 0x55504361
49
- /* TM2: "GenuineTMx86" */
50
- #define signature_TM2_ebx 0x756e6547
51
- #define signature_TM2_edx 0x54656e69
52
- #define signature_TM2_ecx 0x3638784d
53
- /* NSC: "Geode by NSC" */
54
- #define signature_NSC_ebx 0x646f6547
55
- #define signature_NSC_edx 0x43534e20
56
- #define signature_NSC_ecx 0x79622065
57
- /* NEXGEN: "NexGenDriven" */
58
- #define signature_NEXGEN_ebx 0x4778654e
59
- #define signature_NEXGEN_edx 0x72446e65
60
- #define signature_NEXGEN_ecx 0x6e657669
61
- /* RISE: "RiseRiseRise" */
62
- #define signature_RISE_ebx 0x65736952
63
- #define signature_RISE_edx 0x65736952
64
- #define signature_RISE_ecx 0x65736952
65
- /* SIS: "SiS SiS SiS " */
66
- #define signature_SIS_ebx 0x20536953
67
- #define signature_SIS_edx 0x20536953
68
- #define signature_SIS_ecx 0x20536953
69
- /* UMC: "UMC UMC UMC " */
70
- #define signature_UMC_ebx 0x20434d55
71
- #define signature_UMC_edx 0x20434d55
72
- #define signature_UMC_ecx 0x20434d55
73
- /* VIA: "VIA VIA VIA " */
74
- #define signature_VIA_ebx 0x20414956
75
- #define signature_VIA_edx 0x20414956
76
- #define signature_VIA_ecx 0x20414956
77
- /* VORTEX: "Vortex86 SoC" */
78
- #define signature_VORTEX_ebx 0x74726f56
79
- #define signature_VORTEX_edx 0x36387865
80
- #define signature_VORTEX_ecx 0x436f5320
81
-
82
- /* Features in %ecx for level 1 */
83
- #define bit_SSE3 0x00000001
84
- #define bit_PCLMULQDQ 0x00000002
85
- #define bit_DTES64 0x00000004
86
- #define bit_MONITOR 0x00000008
87
- #define bit_DSCPL 0x00000010
88
- #define bit_VMX 0x00000020
89
- #define bit_SMX 0x00000040
90
- #define bit_EIST 0x00000080
91
- #define bit_TM2 0x00000100
92
- #define bit_SSSE3 0x00000200
93
- #define bit_CNXTID 0x00000400
94
- #define bit_FMA 0x00001000
95
- #define bit_CMPXCHG16B 0x00002000
96
- #define bit_xTPR 0x00004000
97
- #define bit_PDCM 0x00008000
98
- #define bit_PCID 0x00020000
99
- #define bit_DCA 0x00040000
100
- #define bit_SSE41 0x00080000
101
- #define bit_SSE42 0x00100000
102
- #define bit_x2APIC 0x00200000
103
- #define bit_MOVBE 0x00400000
104
- #define bit_POPCNT 0x00800000
105
- #define bit_TSCDeadline 0x01000000
106
- #define bit_AESNI 0x02000000
107
- #define bit_XSAVE 0x04000000
108
- #define bit_OSXSAVE 0x08000000
109
- #define bit_AVX 0x10000000
110
- #define bit_RDRND 0x40000000
111
-
112
- /* Features in %edx for level 1 */
113
- #define bit_FPU 0x00000001
114
- #define bit_VME 0x00000002
115
- #define bit_DE 0x00000004
116
- #define bit_PSE 0x00000008
117
- #define bit_TSC 0x00000010
118
- #define bit_MSR 0x00000020
119
- #define bit_PAE 0x00000040
120
- #define bit_MCE 0x00000080
121
- #define bit_CX8 0x00000100
122
- #define bit_APIC 0x00000200
123
- #define bit_SEP 0x00000800
124
- #define bit_MTRR 0x00001000
125
- #define bit_PGE 0x00002000
126
- #define bit_MCA 0x00004000
127
- #define bit_CMOV 0x00008000
128
- #define bit_PAT 0x00010000
129
- #define bit_PSE36 0x00020000
130
- #define bit_PSN 0x00040000
131
- #define bit_CLFSH 0x00080000
132
- #define bit_DS 0x00200000
133
- #define bit_ACPI 0x00400000
134
- #define bit_MMX 0x00800000
135
- #define bit_FXSR 0x01000000
136
- #define bit_FXSAVE bit_FXSR /* for gcc compat */
137
- #define bit_SSE 0x02000000
138
- #define bit_SSE2 0x04000000
139
- #define bit_SS 0x08000000
140
- #define bit_HTT 0x10000000
141
- #define bit_TM 0x20000000
142
- #define bit_PBE 0x80000000
143
-
144
- /* Features in %ebx for level 7 sub-leaf 0 */
145
- #define bit_FSGSBASE 0x00000001
146
- #define bit_SMEP 0x00000080
147
- #define bit_ENH_MOVSB 0x00000200
148
-
149
- #if __i386__
150
- #define __cpuid(__level, __eax, __ebx, __ecx, __edx) \
151
- __asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
152
- : "0"(__level))
153
-
154
- #define __cpuid_count(__level, __count, __eax, __ebx, __ecx, __edx) \
155
- __asm("cpuid" : "=a"(__eax), "=b" (__ebx), "=c"(__ecx), "=d"(__edx) \
156
- : "0"(__level), "2"(__count))
157
- #else
158
- /* x86-64 uses %rbx as the base register, so preserve it. */
159
- #define __cpuid(__level, __eax, __ebx, __ecx, __edx) \
160
- __asm(" xchgq %%rbx,%q1\n" \
161
- " cpuid\n" \
162
- " xchgq %%rbx,%q1" \
163
- : "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
164
- : "0"(__level))
165
-
166
- #define __cpuid_count(__level, __count, __eax, __ebx, __ecx, __edx) \
167
- __asm(" xchgq %%rbx,%q1\n" \
168
- " cpuid\n" \
169
- " xchgq %%rbx,%q1" \
170
- : "=a"(__eax), "=r" (__ebx), "=c"(__ecx), "=d"(__edx) \
171
- : "0"(__level), "2"(__count))
172
- #endif
173
-
174
- static __inline int __get_cpuid (unsigned int __level, unsigned int *__eax,
175
- unsigned int *__ebx, unsigned int *__ecx,
176
- unsigned int *__edx) {
177
- __cpuid(__level, *__eax, *__ebx, *__ecx, *__edx);
178
- return 1;
179
- }
180
-
181
- static __inline int __get_cpuid_max (unsigned int __level, unsigned int *__sig)
182
- {
183
- unsigned int __eax, __ebx, __ecx, __edx;
184
- #if __i386__
185
- int __cpuid_supported;
186
-
187
- __asm(" pushfl\n"
188
- " popl %%eax\n"
189
- " movl %%eax,%%ecx\n"
190
- " xorl $0x00200000,%%eax\n"
191
- " pushl %%eax\n"
192
- " popfl\n"
193
- " pushfl\n"
194
- " popl %%eax\n"
195
- " movl $0,%0\n"
196
- " cmpl %%eax,%%ecx\n"
197
- " je 1f\n"
198
- " movl $1,%0\n"
199
- "1:"
200
- : "=r" (__cpuid_supported) : : "eax", "ecx");
201
- if (!__cpuid_supported)
202
- return 0;
203
- #endif
204
-
205
- __cpuid(__level, __eax, __ebx, __ecx, __edx);
206
- if (__sig)
207
- *__sig = __ebx;
208
- return __eax;
209
- }
@@ -1,110 +0,0 @@
1
- /*===---- cuda_builtin_vars.h - CUDA built-in variables ---------------------===
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 __CUDA_BUILTIN_VARS_H
25
- #define __CUDA_BUILTIN_VARS_H
26
-
27
- // The file implements built-in CUDA variables using __declspec(property).
28
- // https://msdn.microsoft.com/en-us/library/yhfk0thd.aspx
29
- // All read accesses of built-in variable fields get converted into calls to a
30
- // getter function which in turn would call appropriate builtin to fetch the
31
- // value.
32
- //
33
- // Example:
34
- // int x = threadIdx.x;
35
- // IR output:
36
- // %0 = call i32 @llvm.ptx.read.tid.x() #3
37
- // PTX output:
38
- // mov.u32 %r2, %tid.x;
39
-
40
- #define __CUDA_DEVICE_BUILTIN(FIELD, INTRINSIC) \
41
- __declspec(property(get = __fetch_builtin_##FIELD)) unsigned int FIELD; \
42
- static inline __attribute__((always_inline)) \
43
- __attribute__((device)) unsigned int __fetch_builtin_##FIELD(void) { \
44
- return INTRINSIC; \
45
- }
46
-
47
- #if __cplusplus >= 201103L
48
- #define __DELETE =delete
49
- #else
50
- #define __DELETE
51
- #endif
52
-
53
- // Make sure nobody can create instances of the special varible types. nvcc
54
- // also disallows taking address of special variables, so we disable address-of
55
- // operator as well.
56
- #define __CUDA_DISALLOW_BUILTINVAR_ACCESS(TypeName) \
57
- __attribute__((device)) TypeName() __DELETE; \
58
- __attribute__((device)) TypeName(const TypeName &) __DELETE; \
59
- __attribute__((device)) void operator=(const TypeName &) const __DELETE; \
60
- __attribute__((device)) TypeName *operator&() const __DELETE
61
-
62
- struct __cuda_builtin_threadIdx_t {
63
- __CUDA_DEVICE_BUILTIN(x,__builtin_ptx_read_tid_x());
64
- __CUDA_DEVICE_BUILTIN(y,__builtin_ptx_read_tid_y());
65
- __CUDA_DEVICE_BUILTIN(z,__builtin_ptx_read_tid_z());
66
- private:
67
- __CUDA_DISALLOW_BUILTINVAR_ACCESS(__cuda_builtin_threadIdx_t);
68
- };
69
-
70
- struct __cuda_builtin_blockIdx_t {
71
- __CUDA_DEVICE_BUILTIN(x,__builtin_ptx_read_ctaid_x());
72
- __CUDA_DEVICE_BUILTIN(y,__builtin_ptx_read_ctaid_y());
73
- __CUDA_DEVICE_BUILTIN(z,__builtin_ptx_read_ctaid_z());
74
- private:
75
- __CUDA_DISALLOW_BUILTINVAR_ACCESS(__cuda_builtin_blockIdx_t);
76
- };
77
-
78
- struct __cuda_builtin_blockDim_t {
79
- __CUDA_DEVICE_BUILTIN(x,__builtin_ptx_read_ntid_x());
80
- __CUDA_DEVICE_BUILTIN(y,__builtin_ptx_read_ntid_y());
81
- __CUDA_DEVICE_BUILTIN(z,__builtin_ptx_read_ntid_z());
82
- private:
83
- __CUDA_DISALLOW_BUILTINVAR_ACCESS(__cuda_builtin_blockDim_t);
84
- };
85
-
86
- struct __cuda_builtin_gridDim_t {
87
- __CUDA_DEVICE_BUILTIN(x,__builtin_ptx_read_nctaid_x());
88
- __CUDA_DEVICE_BUILTIN(y,__builtin_ptx_read_nctaid_y());
89
- __CUDA_DEVICE_BUILTIN(z,__builtin_ptx_read_nctaid_z());
90
- private:
91
- __CUDA_DISALLOW_BUILTINVAR_ACCESS(__cuda_builtin_gridDim_t);
92
- };
93
-
94
- #define __CUDA_BUILTIN_VAR \
95
- extern const __attribute__((device)) __attribute__((weak))
96
- __CUDA_BUILTIN_VAR __cuda_builtin_threadIdx_t threadIdx;
97
- __CUDA_BUILTIN_VAR __cuda_builtin_blockIdx_t blockIdx;
98
- __CUDA_BUILTIN_VAR __cuda_builtin_blockDim_t blockDim;
99
- __CUDA_BUILTIN_VAR __cuda_builtin_gridDim_t gridDim;
100
-
101
- // warpSize should translate to read of %WARP_SZ but there's currently no
102
- // builtin to do so. According to PTX v4.2 docs 'to date, all target
103
- // architectures have a WARP_SZ value of 32'.
104
- __attribute__((device)) const int warpSize = 32;
105
-
106
- #undef __CUDA_DEVICE_BUILTIN
107
- #undef __CUDA_BUILTIN_VAR
108
- #undef __CUDA_DISALLOW_BUILTINVAR_ACCESS
109
-
110
- #endif /* __CUDA_BUILTIN_VARS_H */