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,215 +0,0 @@
1
- /*===---- ammintrin.h - SSE4a 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 __AMMINTRIN_H
25
- #define __AMMINTRIN_H
26
-
27
- #ifndef __SSE4A__
28
- #error "SSE4A instruction set not enabled"
29
- #else
30
-
31
- #include <pmmintrin.h>
32
-
33
- /* Define the default attributes for the functions in this file. */
34
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
35
-
36
- /// \brief Extracts the specified bits from the lower 64 bits of the 128-bit
37
- /// integer vector operand at the index idx and of the length len.
38
- ///
39
- /// \headerfile <x86intrin.h>
40
- ///
41
- /// \code
42
- /// __m128i _mm_extracti_si64(__m128i x, const int len, const int idx);
43
- /// \endcode
44
- ///
45
- /// \code
46
- /// This intrinsic corresponds to the \c EXTRQ instruction.
47
- /// \endcode
48
- ///
49
- /// \param x
50
- /// The value from which bits are extracted.
51
- /// \param len
52
- /// Bits [5:0] specify the length; the other bits are ignored. If bits [5:0]
53
- /// are zero, the length is interpreted as 64.
54
- /// \param idx
55
- /// Bits [5:0] specify the index of the least significant bit; the other
56
- /// bits are ignored. If the sum of the index and length is greater than
57
- /// 64, the result is undefined. If the length and index are both zero,
58
- /// bits [63:0] of parameter x are extracted. If the length is zero
59
- /// but the index is non-zero, the result is undefined.
60
- /// \returns A 128-bit integer vector whose lower 64 bits contain the bits
61
- /// extracted from the source operand.
62
- #define _mm_extracti_si64(x, len, idx) \
63
- ((__m128i)__builtin_ia32_extrqi((__v2di)(__m128i)(x), \
64
- (char)(len), (char)(idx)))
65
-
66
- /// \brief Extracts the specified bits from the lower 64 bits of the 128-bit
67
- /// integer vector operand at the index and of the length specified by __y.
68
- ///
69
- /// \headerfile <x86intrin.h>
70
- ///
71
- /// \code
72
- /// This intrinsic corresponds to the \c EXTRQ instruction.
73
- /// \endcode
74
- ///
75
- /// \param __x
76
- /// The value from which bits are extracted.
77
- /// \param __y
78
- /// Specifies the index of the least significant bit at [13:8]
79
- /// and the length at [5:0]; all other bits are ignored.
80
- /// If bits [5:0] are zero, the length is interpreted as 64.
81
- /// If the sum of the index and length is greater than 64, the result is
82
- /// undefined. If the length and index are both zero, bits [63:0] of
83
- /// parameter __x are extracted. If the length is zero but the index is
84
- /// non-zero, the result is undefined.
85
- /// \returns A 128-bit vector whose lower 64 bits contain the bits extracted
86
- /// from the source operand.
87
- static __inline__ __m128i __DEFAULT_FN_ATTRS
88
- _mm_extract_si64(__m128i __x, __m128i __y)
89
- {
90
- return (__m128i)__builtin_ia32_extrq((__v2di)__x, (__v16qi)__y);
91
- }
92
-
93
- /// \brief Inserts bits of a specified length from the source integer vector
94
- /// y into the lower 64 bits of the destination integer vector x at the
95
- /// index idx and of the length len.
96
- ///
97
- /// \headerfile <x86intrin.h>
98
- ///
99
- /// \code
100
- /// __m128i _mm_inserti_si64(__m128i x, __m128i y, const int len,
101
- /// const int idx);
102
- /// \endcode
103
- ///
104
- /// \code
105
- /// This intrinsic corresponds to the \c INSERTQ instruction.
106
- /// \endcode
107
- ///
108
- /// \param x
109
- /// The destination operand where bits will be inserted. The inserted bits
110
- /// are defined by the length len and by the index idx specifying the least
111
- /// significant bit.
112
- /// \param y
113
- /// The source operand containing the bits to be extracted. The extracted
114
- /// bits are the least significant bits of operand y of length len.
115
- /// \param len
116
- /// Bits [5:0] specify the length; the other bits are ignored. If bits [5:0]
117
- /// are zero, the length is interpreted as 64.
118
- /// \param idx
119
- /// Bits [5:0] specify the index of the least significant bit; the other
120
- /// bits are ignored. If the sum of the index and length is greater than
121
- /// 64, the result is undefined. If the length and index are both zero,
122
- /// bits [63:0] of parameter y are inserted into parameter x. If the
123
- /// length is zero but the index is non-zero, the result is undefined.
124
- /// \returns A 128-bit integer vector containing the original lower 64-bits
125
- /// of destination operand x with the specified bitfields replaced by the
126
- /// lower bits of source operand y. The upper 64 bits of the return value
127
- /// are undefined.
128
-
129
- #define _mm_inserti_si64(x, y, len, idx) \
130
- ((__m128i)__builtin_ia32_insertqi((__v2di)(__m128i)(x), \
131
- (__v2di)(__m128i)(y), \
132
- (char)(len), (char)(idx)))
133
-
134
- /// \brief Inserts bits of a specified length from the source integer vector
135
- /// __y into the lower 64 bits of the destination integer vector __x at
136
- /// the index and of the length specified by __y.
137
- ///
138
- /// \headerfile <x86intrin.h>
139
- ///
140
- /// \code
141
- /// This intrinsic corresponds to the \c INSERTQ instruction.
142
- /// \endcode
143
- ///
144
- /// \param __x
145
- /// The destination operand where bits will be inserted. The inserted bits
146
- /// are defined by the length and by the index of the least significant bit
147
- /// specified by operand __y.
148
- /// \param __y
149
- /// The source operand containing the bits to be extracted. The extracted
150
- /// bits are the least significant bits of operand __y with length specified
151
- /// by bits [69:64]. These are inserted into the destination at the index
152
- /// specified by bits [77:72]; all other bits are ignored.
153
- /// If bits [69:64] are zero, the length is interpreted as 64.
154
- /// If the sum of the index and length is greater than 64, the result is
155
- /// undefined. If the length and index are both zero, bits [63:0] of
156
- /// parameter __y are inserted into parameter __x. If the length
157
- /// is zero but the index is non-zero, the result is undefined.
158
- /// \returns A 128-bit integer vector containing the original lower 64-bits
159
- /// of destination operand __x with the specified bitfields replaced by the
160
- /// lower bits of source operand __y. The upper 64 bits of the return value
161
- /// are undefined.
162
-
163
- static __inline__ __m128i __DEFAULT_FN_ATTRS
164
- _mm_insert_si64(__m128i __x, __m128i __y)
165
- {
166
- return (__m128i)__builtin_ia32_insertq((__v2di)__x, (__v2di)__y);
167
- }
168
-
169
- /// \brief Stores a 64-bit double-precision value in a 64-bit memory location.
170
- /// To minimize caching, the data is flagged as non-temporal (unlikely to be
171
- /// used again soon).
172
- ///
173
- /// \headerfile <x86intrin.h>
174
- ///
175
- /// \code
176
- /// This intrinsic corresponds to the \c MOVNTSD instruction.
177
- /// \endcode
178
- ///
179
- /// \param __p
180
- /// The 64-bit memory location used to store the register value.
181
- /// \param __a
182
- /// The 64-bit double-precision floating-point register value to
183
- /// be stored.
184
- static __inline__ void __DEFAULT_FN_ATTRS
185
- _mm_stream_sd(double *__p, __m128d __a)
186
- {
187
- __builtin_ia32_movntsd(__p, (__v2df)__a);
188
- }
189
-
190
- /// \brief Stores a 32-bit single-precision floating-point value in a 32-bit
191
- /// memory location. To minimize caching, the data is flagged as
192
- /// non-temporal (unlikely to be used again soon).
193
- ///
194
- /// \headerfile <x86intrin.h>
195
- ///
196
- /// \code
197
- /// This intrinsic corresponds to the \c MOVNTSS instruction.
198
- /// \endcode
199
- ///
200
- /// \param __p
201
- /// The 32-bit memory location used to store the register value.
202
- /// \param __a
203
- /// The 32-bit single-precision floating-point register value to
204
- /// be stored.
205
- static __inline__ void __DEFAULT_FN_ATTRS
206
- _mm_stream_ss(float *__p, __m128 __a)
207
- {
208
- __builtin_ia32_movntss(__p, (__v4sf)__a);
209
- }
210
-
211
- #undef __DEFAULT_FN_ATTRS
212
-
213
- #endif /* __SSE4A__ */
214
-
215
- #endif /* __AMMINTRIN_H */
@@ -1,304 +0,0 @@
1
- /*===---- arm_acle.h - ARM Non-Neon 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 __ARM_ACLE_H
25
- #define __ARM_ACLE_H
26
-
27
- #ifndef __ARM_ACLE
28
- #error "ACLE intrinsics support not enabled."
29
- #endif
30
-
31
- #include <stdint.h>
32
-
33
- #if defined(__cplusplus)
34
- extern "C" {
35
- #endif
36
-
37
- /* 8 SYNCHRONIZATION, BARRIER AND HINT INTRINSICS */
38
- /* 8.3 Memory barriers */
39
- #if !defined(_MSC_VER)
40
- #define __dmb(i) __builtin_arm_dmb(i)
41
- #define __dsb(i) __builtin_arm_dsb(i)
42
- #define __isb(i) __builtin_arm_isb(i)
43
- #endif
44
-
45
- /* 8.4 Hints */
46
-
47
- #if !defined(_MSC_VER)
48
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __wfi(void) {
49
- __builtin_arm_wfi();
50
- }
51
-
52
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __wfe(void) {
53
- __builtin_arm_wfe();
54
- }
55
-
56
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __sev(void) {
57
- __builtin_arm_sev();
58
- }
59
-
60
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __sevl(void) {
61
- __builtin_arm_sevl();
62
- }
63
-
64
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __yield(void) {
65
- __builtin_arm_yield();
66
- }
67
- #endif
68
-
69
- #if __ARM_32BIT_STATE
70
- #define __dbg(t) __builtin_arm_dbg(t)
71
- #endif
72
-
73
- /* 8.5 Swap */
74
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
75
- __swp(uint32_t x, volatile uint32_t *p) {
76
- uint32_t v;
77
- do v = __builtin_arm_ldrex(p); while (__builtin_arm_strex(x, p));
78
- return v;
79
- }
80
-
81
- /* 8.6 Memory prefetch intrinsics */
82
- /* 8.6.1 Data prefetch */
83
- #define __pld(addr) __pldx(0, 0, 0, addr)
84
-
85
- #if __ARM_32BIT_STATE
86
- #define __pldx(access_kind, cache_level, retention_policy, addr) \
87
- __builtin_arm_prefetch(addr, access_kind, 1)
88
- #else
89
- #define __pldx(access_kind, cache_level, retention_policy, addr) \
90
- __builtin_arm_prefetch(addr, access_kind, cache_level, retention_policy, 1)
91
- #endif
92
-
93
- /* 8.6.2 Instruction prefetch */
94
- #define __pli(addr) __plix(0, 0, addr)
95
-
96
- #if __ARM_32BIT_STATE
97
- #define __plix(cache_level, retention_policy, addr) \
98
- __builtin_arm_prefetch(addr, 0, 0)
99
- #else
100
- #define __plix(cache_level, retention_policy, addr) \
101
- __builtin_arm_prefetch(addr, 0, cache_level, retention_policy, 0)
102
- #endif
103
-
104
- /* 8.7 NOP */
105
- static __inline__ void __attribute__((__always_inline__, __nodebug__)) __nop(void) {
106
- __builtin_arm_nop();
107
- }
108
-
109
- /* 9 DATA-PROCESSING INTRINSICS */
110
- /* 9.2 Miscellaneous data-processing intrinsics */
111
- /* ROR */
112
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
113
- __ror(uint32_t x, uint32_t y) {
114
- y %= 32;
115
- if (y == 0) return x;
116
- return (x >> y) | (x << (32 - y));
117
- }
118
-
119
- static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
120
- __rorll(uint64_t x, uint32_t y) {
121
- y %= 64;
122
- if (y == 0) return x;
123
- return (x >> y) | (x << (64 - y));
124
- }
125
-
126
- static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
127
- __rorl(unsigned long x, uint32_t y) {
128
- #if __SIZEOF_LONG__ == 4
129
- return __ror(x, y);
130
- #else
131
- return __rorll(x, y);
132
- #endif
133
- }
134
-
135
-
136
- /* CLZ */
137
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
138
- __clz(uint32_t t) {
139
- return __builtin_clz(t);
140
- }
141
-
142
- static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
143
- __clzl(unsigned long t) {
144
- return __builtin_clzl(t);
145
- }
146
-
147
- static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
148
- __clzll(uint64_t t) {
149
- return __builtin_clzll(t);
150
- }
151
-
152
- /* REV */
153
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
154
- __rev(uint32_t t) {
155
- return __builtin_bswap32(t);
156
- }
157
-
158
- static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
159
- __revl(unsigned long t) {
160
- #if __SIZEOF_LONG__ == 4
161
- return __builtin_bswap32(t);
162
- #else
163
- return __builtin_bswap64(t);
164
- #endif
165
- }
166
-
167
- static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
168
- __revll(uint64_t t) {
169
- return __builtin_bswap64(t);
170
- }
171
-
172
- /* REV16 */
173
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
174
- __rev16(uint32_t t) {
175
- return __ror(__rev(t), 16);
176
- }
177
-
178
- static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
179
- __rev16l(unsigned long t) {
180
- return __rorl(__revl(t), sizeof(long) / 2);
181
- }
182
-
183
- static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
184
- __rev16ll(uint64_t t) {
185
- return __rorll(__revll(t), 32);
186
- }
187
-
188
- /* REVSH */
189
- static __inline__ int16_t __attribute__((__always_inline__, __nodebug__))
190
- __revsh(int16_t t) {
191
- return __builtin_bswap16(t);
192
- }
193
-
194
- /* RBIT */
195
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
196
- __rbit(uint32_t t) {
197
- return __builtin_arm_rbit(t);
198
- }
199
-
200
- static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
201
- __rbitll(uint64_t t) {
202
- #if __ARM_32BIT_STATE
203
- return (((uint64_t) __builtin_arm_rbit(t)) << 32) |
204
- __builtin_arm_rbit(t >> 32);
205
- #else
206
- return __builtin_arm_rbit64(t);
207
- #endif
208
- }
209
-
210
- static __inline__ unsigned long __attribute__((__always_inline__, __nodebug__))
211
- __rbitl(unsigned long t) {
212
- #if __SIZEOF_LONG__ == 4
213
- return __rbit(t);
214
- #else
215
- return __rbitll(t);
216
- #endif
217
- }
218
-
219
- /*
220
- * 9.4 Saturating intrinsics
221
- *
222
- * FIXME: Change guard to their corrosponding __ARM_FEATURE flag when Q flag
223
- * intrinsics are implemented and the flag is enabled.
224
- */
225
- /* 9.4.1 Width-specified saturation intrinsics */
226
- #if __ARM_32BIT_STATE
227
- #define __ssat(x, y) __builtin_arm_ssat(x, y)
228
- #define __usat(x, y) __builtin_arm_usat(x, y)
229
- #endif
230
-
231
- /* 9.4.2 Saturating addition and subtraction intrinsics */
232
- #if __ARM_32BIT_STATE
233
- static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
234
- __qadd(int32_t t, int32_t v) {
235
- return __builtin_arm_qadd(t, v);
236
- }
237
-
238
- static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
239
- __qsub(int32_t t, int32_t v) {
240
- return __builtin_arm_qsub(t, v);
241
- }
242
-
243
- static __inline__ int32_t __attribute__((__always_inline__, __nodebug__))
244
- __qdbl(int32_t t) {
245
- return __builtin_arm_qadd(t, t);
246
- }
247
- #endif
248
-
249
- /* 9.7 CRC32 intrinsics */
250
- #if __ARM_FEATURE_CRC32
251
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
252
- __crc32b(uint32_t a, uint8_t b) {
253
- return __builtin_arm_crc32b(a, b);
254
- }
255
-
256
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
257
- __crc32h(uint32_t a, uint16_t b) {
258
- return __builtin_arm_crc32h(a, b);
259
- }
260
-
261
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
262
- __crc32w(uint32_t a, uint32_t b) {
263
- return __builtin_arm_crc32w(a, b);
264
- }
265
-
266
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
267
- __crc32d(uint32_t a, uint64_t b) {
268
- return __builtin_arm_crc32d(a, b);
269
- }
270
-
271
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
272
- __crc32cb(uint32_t a, uint8_t b) {
273
- return __builtin_arm_crc32cb(a, b);
274
- }
275
-
276
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
277
- __crc32ch(uint32_t a, uint16_t b) {
278
- return __builtin_arm_crc32ch(a, b);
279
- }
280
-
281
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
282
- __crc32cw(uint32_t a, uint32_t b) {
283
- return __builtin_arm_crc32cw(a, b);
284
- }
285
-
286
- static __inline__ uint32_t __attribute__((__always_inline__, __nodebug__))
287
- __crc32cd(uint32_t a, uint64_t b) {
288
- return __builtin_arm_crc32cd(a, b);
289
- }
290
- #endif
291
-
292
- /* 10.1 Special register intrinsics */
293
- #define __arm_rsr(sysreg) __builtin_arm_rsr(sysreg)
294
- #define __arm_rsr64(sysreg) __builtin_arm_rsr64(sysreg)
295
- #define __arm_rsrp(sysreg) __builtin_arm_rsrp(sysreg)
296
- #define __arm_wsr(sysreg, v) __builtin_arm_wsr(sysreg, v)
297
- #define __arm_wsr64(sysreg, v) __builtin_arm_wsr64(sysreg, v)
298
- #define __arm_wsrp(sysreg, v) __builtin_arm_wsrp(sysreg, v)
299
-
300
- #if defined(__cplusplus)
301
- }
302
- #endif
303
-
304
- #endif /* __ARM_ACLE_H */