objective-ci 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +15 -0
  2. data/README.md +1 -3
  3. data/Rakefile +1 -1
  4. data/bin/oclint +4 -0
  5. data/bin/oclint-0.8 +1 -1
  6. data/bin/oclint-json-compilation-database +1 -1
  7. data/bin/oclint-xcodebuild +1 -1
  8. data/externals/oclint/LICENSE +69 -0
  9. data/externals/oclint/bin/oclint +0 -0
  10. data/externals/oclint/{oclint-0.8 → bin/oclint-0.8} +0 -0
  11. data/externals/oclint/{oclint-json-compilation-database → bin/oclint-json-compilation-database} +0 -0
  12. data/externals/oclint/{oclint-xcodebuild → bin/oclint-xcodebuild} +0 -0
  13. data/externals/oclint/lib/clang/3.4/asan_blacklist.txt +10 -0
  14. data/externals/oclint/lib/clang/3.4/include/Intrin.h +784 -0
  15. data/externals/oclint/lib/clang/3.4/include/__wmmintrin_aes.h +67 -0
  16. data/externals/oclint/lib/clang/3.4/include/__wmmintrin_pclmul.h +34 -0
  17. data/externals/oclint/lib/clang/3.4/include/altivec.h +11856 -0
  18. data/externals/oclint/lib/clang/3.4/include/ammintrin.h +68 -0
  19. data/externals/oclint/lib/clang/3.4/include/arm_neon.h +6802 -0
  20. data/externals/oclint/lib/clang/3.4/include/avx2intrin.h +1206 -0
  21. data/externals/oclint/lib/clang/3.4/include/avxintrin.h +1224 -0
  22. data/externals/oclint/lib/clang/3.4/include/bmi2intrin.h +94 -0
  23. data/externals/oclint/lib/clang/3.4/include/bmiintrin.h +115 -0
  24. data/externals/oclint/lib/clang/3.4/include/cpuid.h +156 -0
  25. data/externals/oclint/lib/clang/3.4/include/emmintrin.h +1451 -0
  26. data/externals/oclint/lib/clang/3.4/include/f16cintrin.h +58 -0
  27. data/externals/oclint/lib/clang/3.4/include/float.h +124 -0
  28. data/externals/oclint/lib/clang/3.4/include/fma4intrin.h +231 -0
  29. data/externals/oclint/lib/clang/3.4/include/fmaintrin.h +229 -0
  30. data/externals/oclint/lib/clang/3.4/include/immintrin.h +118 -0
  31. data/externals/oclint/lib/clang/3.4/include/iso646.h +43 -0
  32. data/externals/oclint/lib/clang/3.4/include/limits.h +119 -0
  33. data/externals/oclint/lib/clang/3.4/include/lzcntintrin.h +55 -0
  34. data/externals/oclint/lib/clang/3.4/include/mm3dnow.h +162 -0
  35. data/externals/oclint/lib/clang/3.4/include/mm_malloc.h +75 -0
  36. data/externals/oclint/lib/clang/3.4/include/mmintrin.h +503 -0
  37. data/externals/oclint/lib/clang/3.4/include/module.map +156 -0
  38. data/externals/oclint/lib/clang/3.4/include/nmmintrin.h +35 -0
  39. data/externals/oclint/lib/clang/3.4/include/pmmintrin.h +117 -0
  40. data/externals/oclint/lib/clang/3.4/include/popcntintrin.h +45 -0
  41. data/externals/oclint/lib/clang/3.4/include/prfchwintrin.h +39 -0
  42. data/externals/oclint/lib/clang/3.4/include/rdseedintrin.h +52 -0
  43. data/externals/oclint/lib/clang/3.4/include/rtmintrin.h +54 -0
  44. data/externals/oclint/lib/clang/3.4/include/sanitizer/asan_interface.h +137 -0
  45. data/externals/oclint/lib/clang/3.4/include/sanitizer/common_interface_defs.h +54 -0
  46. data/externals/oclint/lib/clang/3.4/include/sanitizer/dfsan_interface.h +87 -0
  47. data/externals/oclint/lib/clang/3.4/include/sanitizer/linux_syscall_hooks.h +3070 -0
  48. data/externals/oclint/lib/clang/3.4/include/sanitizer/lsan_interface.h +52 -0
  49. data/externals/oclint/lib/clang/3.4/include/sanitizer/msan_interface.h +162 -0
  50. data/externals/oclint/lib/clang/3.4/include/shaintrin.h +74 -0
  51. data/externals/oclint/lib/clang/3.4/include/smmintrin.h +468 -0
  52. data/externals/oclint/lib/clang/3.4/include/stdalign.h +35 -0
  53. data/externals/oclint/lib/clang/3.4/include/stdarg.h +50 -0
  54. data/externals/oclint/lib/clang/3.4/include/stdbool.h +44 -0
  55. data/externals/oclint/lib/clang/3.4/include/stddef.h +102 -0
  56. data/externals/oclint/lib/clang/3.4/include/stdint.h +708 -0
  57. data/externals/oclint/lib/clang/3.4/include/stdnoreturn.h +30 -0
  58. data/externals/oclint/lib/clang/3.4/include/tbmintrin.h +158 -0
  59. data/externals/oclint/lib/clang/3.4/include/tgmath.h +1374 -0
  60. data/externals/oclint/lib/clang/3.4/include/tmmintrin.h +225 -0
  61. data/externals/oclint/lib/clang/3.4/include/unwind.h +280 -0
  62. data/externals/oclint/lib/clang/3.4/include/varargs.h +26 -0
  63. data/externals/oclint/lib/clang/3.4/include/wmmintrin.h +42 -0
  64. data/externals/oclint/lib/clang/3.4/include/x86intrin.h +79 -0
  65. data/externals/oclint/lib/clang/3.4/include/xmmintrin.h +1001 -0
  66. data/externals/oclint/lib/clang/3.4/include/xopintrin.h +804 -0
  67. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.asan_osx_dynamic.dylib +0 -0
  68. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.i386.a +0 -0
  69. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.profile_osx.a +0 -0
  70. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.ubsan_osx.a +0 -0
  71. data/externals/oclint/lib/clang/3.4/lib/darwin/libclang_rt.x86_64.a +0 -0
  72. data/externals/oclint/lib/oclint/reporters/libHTMLReporter.dylib +0 -0
  73. data/externals/oclint/lib/oclint/reporters/libJSONReporter.dylib +0 -0
  74. data/externals/oclint/lib/oclint/reporters/libPMDReporter.dylib +0 -0
  75. data/externals/oclint/lib/oclint/reporters/libTextReporter.dylib +0 -0
  76. data/externals/oclint/lib/oclint/reporters/libXMLReporter.dylib +0 -0
  77. data/externals/oclint/lib/oclint/rules/libAvoidBranchingStatementAsLastInLoopRule.dylib +0 -0
  78. data/externals/oclint/lib/oclint/rules/libBitwiseOperatorInConditionalRule.dylib +0 -0
  79. data/externals/oclint/lib/oclint/rules/libBrokenNullCheckRule.dylib +0 -0
  80. data/externals/oclint/lib/oclint/rules/libBrokenOddnessCheckRule.dylib +0 -0
  81. data/externals/oclint/lib/oclint/rules/libCollapsibleIfStatementsRule.dylib +0 -0
  82. data/externals/oclint/lib/oclint/rules/libConstantConditionalOperatorRule.dylib +0 -0
  83. data/externals/oclint/lib/oclint/rules/libConstantIfExpressionRule.dylib +0 -0
  84. data/externals/oclint/lib/oclint/rules/libCyclomaticComplexityRule.dylib +0 -0
  85. data/externals/oclint/lib/oclint/rules/libDeadCodeRule.dylib +0 -0
  86. data/externals/oclint/lib/oclint/rules/libDefaultLabelNotLastInSwitchStatementRule.dylib +0 -0
  87. data/externals/oclint/lib/oclint/rules/libDoubleNegativeRule.dylib +0 -0
  88. data/externals/oclint/lib/oclint/rules/libEmptyCatchStatementRule.dylib +0 -0
  89. data/externals/oclint/lib/oclint/rules/libEmptyDoWhileStatementRule.dylib +0 -0
  90. data/externals/oclint/lib/oclint/rules/libEmptyElseBlockRule.dylib +0 -0
  91. data/externals/oclint/lib/oclint/rules/libEmptyFinallyStatementRule.dylib +0 -0
  92. data/externals/oclint/lib/oclint/rules/libEmptyForStatementRule.dylib +0 -0
  93. data/externals/oclint/lib/oclint/rules/libEmptyIfStatementRule.dylib +0 -0
  94. data/externals/oclint/lib/oclint/rules/libEmptySwitchStatementRule.dylib +0 -0
  95. data/externals/oclint/lib/oclint/rules/libEmptyTryStatementRule.dylib +0 -0
  96. data/externals/oclint/lib/oclint/rules/libEmptyWhileStatementRule.dylib +0 -0
  97. data/externals/oclint/lib/oclint/rules/libForLoopShouldBeWhileLoopRule.dylib +0 -0
  98. data/externals/oclint/lib/oclint/rules/libGotoStatementRule.dylib +0 -0
  99. data/externals/oclint/lib/oclint/rules/libInvertedLogicRule.dylib +0 -0
  100. data/externals/oclint/lib/oclint/rules/libJumbledIncrementerRule.dylib +0 -0
  101. data/externals/oclint/lib/oclint/rules/libLongClassRule.dylib +0 -0
  102. data/externals/oclint/lib/oclint/rules/libLongLineRule.dylib +0 -0
  103. data/externals/oclint/lib/oclint/rules/libLongMethodRule.dylib +0 -0
  104. data/externals/oclint/lib/oclint/rules/libLongVariableNameRule.dylib +0 -0
  105. data/externals/oclint/lib/oclint/rules/libMisplacedNullCheckRule.dylib +0 -0
  106. data/externals/oclint/lib/oclint/rules/libMissingBreakInSwitchStatementRule.dylib +0 -0
  107. data/externals/oclint/lib/oclint/rules/libMultipleUnaryOperatorRule.dylib +0 -0
  108. data/externals/oclint/lib/oclint/rules/libNPathComplexityRule.dylib +0 -0
  109. data/externals/oclint/lib/oclint/rules/libNcssMethodCountRule.dylib +0 -0
  110. data/externals/oclint/lib/oclint/rules/libNestedBlockDepthRule.dylib +0 -0
  111. data/externals/oclint/lib/oclint/rules/libNonCaseLabelInSwitchStatementRule.dylib +0 -0
  112. data/externals/oclint/lib/oclint/rules/libObjCBoxedExpressionsRule.dylib +0 -0
  113. data/externals/oclint/lib/oclint/rules/libObjCContainerLiteralsRule.dylib +0 -0
  114. data/externals/oclint/lib/oclint/rules/libObjCNSNumberLiteralsRule.dylib +0 -0
  115. data/externals/oclint/lib/oclint/rules/libObjCObjectSubscriptingRule.dylib +0 -0
  116. data/externals/oclint/lib/oclint/rules/libParameterReassignmentRule.dylib +0 -0
  117. data/externals/oclint/lib/oclint/rules/libRedundantConditionalOperatorRule.dylib +0 -0
  118. data/externals/oclint/lib/oclint/rules/libRedundantIfStatementRule.dylib +0 -0
  119. data/externals/oclint/lib/oclint/rules/libRedundantLocalVariableRule.dylib +0 -0
  120. data/externals/oclint/lib/oclint/rules/libRedundantNilCheckRule.dylib +0 -0
  121. data/externals/oclint/lib/oclint/rules/libReturnFromFinallyBlockRule.dylib +0 -0
  122. data/externals/oclint/lib/oclint/rules/libShortVariableNameRule.dylib +0 -0
  123. data/externals/oclint/lib/oclint/rules/libSwitchStatementsShouldHaveDefaultRule.dylib +0 -0
  124. data/externals/oclint/lib/oclint/rules/libThrowExceptionFromFinallyBlockRule.dylib +0 -0
  125. data/externals/oclint/lib/oclint/rules/libTooFewBranchesInSwitchStatementRule.dylib +0 -0
  126. data/externals/oclint/lib/oclint/rules/libTooManyFieldsRule.dylib +0 -0
  127. data/externals/oclint/lib/oclint/rules/libTooManyMethodsRule.dylib +0 -0
  128. data/externals/oclint/lib/oclint/rules/libTooManyParametersRule.dylib +0 -0
  129. data/externals/oclint/lib/oclint/rules/libUnnecessaryElseStatementRule.dylib +0 -0
  130. data/externals/oclint/lib/oclint/rules/libUnnecessaryNullCheckForCXXDeallocRule.dylib +0 -0
  131. data/externals/oclint/lib/oclint/rules/libUnusedLocalVariableRule.dylib +0 -0
  132. data/externals/oclint/lib/oclint/rules/libUnusedMethodParameterRule.dylib +0 -0
  133. data/externals/oclint/lib/oclint/rules/libUselessParenthesesRule.dylib +0 -0
  134. data/lib/objective_ci/ci_tasks.rb +1 -1
  135. data/lib/objective_ci/version.rb +1 -1
  136. metadata +200 -84
@@ -0,0 +1,156 @@
1
+ module _Builtin_intrinsics [system] {
2
+ explicit module altivec {
3
+ requires altivec
4
+ header "altivec.h"
5
+ }
6
+
7
+ explicit module arm {
8
+ requires arm
9
+
10
+ explicit module neon {
11
+ requires neon
12
+ header "arm_neon.h"
13
+ export *
14
+ }
15
+ }
16
+
17
+ explicit module intel {
18
+ requires x86
19
+ export *
20
+
21
+ header "immintrin.h"
22
+ header "x86intrin.h"
23
+
24
+ explicit module mm_malloc {
25
+ header "mm_malloc.h"
26
+ export * // note: for <stdlib.h> dependency
27
+ }
28
+
29
+ explicit module cpuid {
30
+ requires x86
31
+ header "cpuid.h"
32
+ }
33
+
34
+ explicit module mmx {
35
+ requires mmx
36
+ header "mmintrin.h"
37
+ }
38
+
39
+ explicit module f16c {
40
+ requires f16c
41
+ header "f16cintrin.h"
42
+ }
43
+
44
+ explicit module sse {
45
+ requires sse
46
+ export mmx
47
+ export * // note: for hackish <emmintrin.h> dependency
48
+ header "xmmintrin.h"
49
+ }
50
+
51
+ explicit module sse2 {
52
+ requires sse2
53
+ export sse
54
+ header "emmintrin.h"
55
+ }
56
+
57
+ explicit module sse3 {
58
+ requires sse3
59
+ export sse2
60
+ header "pmmintrin.h"
61
+ }
62
+
63
+ explicit module ssse3 {
64
+ requires ssse3
65
+ export sse3
66
+ header "tmmintrin.h"
67
+ }
68
+
69
+ explicit module sse4_1 {
70
+ requires sse41
71
+ export ssse3
72
+ header "smmintrin.h"
73
+ }
74
+
75
+ explicit module sse4_2 {
76
+ requires sse42
77
+ export sse4_1
78
+ header "nmmintrin.h"
79
+ }
80
+
81
+ explicit module sse4a {
82
+ requires sse4a
83
+ export sse3
84
+ header "ammintrin.h"
85
+ }
86
+
87
+ explicit module avx {
88
+ requires avx
89
+ export sse4_2
90
+ header "avxintrin.h"
91
+ }
92
+
93
+ explicit module avx2 {
94
+ requires avx2
95
+ export avx
96
+ header "avx2intrin.h"
97
+ }
98
+
99
+ explicit module bmi {
100
+ requires bmi
101
+ header "bmiintrin.h"
102
+ }
103
+
104
+ explicit module bmi2 {
105
+ requires bmi2
106
+ header "bmi2intrin.h"
107
+ }
108
+
109
+ explicit module fma {
110
+ requires fma
111
+ header "fmaintrin.h"
112
+ }
113
+
114
+ explicit module fma4 {
115
+ requires fma4
116
+ export sse3
117
+ header "fma4intrin.h"
118
+ }
119
+
120
+ explicit module lzcnt {
121
+ requires lzcnt
122
+ header "lzcntintrin.h"
123
+ }
124
+
125
+ explicit module popcnt {
126
+ requires popcnt
127
+ header "popcntintrin.h"
128
+ }
129
+
130
+ explicit module mm3dnow {
131
+ requires mm3dnow
132
+ header "mm3dnow.h"
133
+ }
134
+
135
+ explicit module xop {
136
+ requires xop
137
+ export fma4
138
+ header "xopintrin.h"
139
+ }
140
+
141
+ explicit module aes_pclmul {
142
+ requires aes, pclmul
143
+ header "wmmintrin.h"
144
+ }
145
+
146
+ explicit module aes {
147
+ requires aes
148
+ header "__wmmintrin_aes.h"
149
+ }
150
+
151
+ explicit module pclmul {
152
+ requires pclmul
153
+ header "__wmmintrin_pclmul.h"
154
+ }
155
+ }
156
+ }
@@ -0,0 +1,35 @@
1
+ /*===---- nmmintrin.h - SSE4 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 _NMMINTRIN_H
25
+ #define _NMMINTRIN_H
26
+
27
+ #ifndef __SSE4_2__
28
+ #error "SSE4.2 instruction set not enabled"
29
+ #else
30
+
31
+ /* To match expectations of gcc we put the sse4.2 definitions into smmintrin.h,
32
+ just include it now then. */
33
+ #include <smmintrin.h>
34
+ #endif /* __SSE4_2__ */
35
+ #endif /* _NMMINTRIN_H */
@@ -0,0 +1,117 @@
1
+ /*===---- pmmintrin.h - SSE3 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 __PMMINTRIN_H
25
+ #define __PMMINTRIN_H
26
+
27
+ #ifndef __SSE3__
28
+ #error "SSE3 instruction set not enabled"
29
+ #else
30
+
31
+ #include <emmintrin.h>
32
+
33
+ static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
34
+ _mm_lddqu_si128(__m128i const *__p)
35
+ {
36
+ return (__m128i)__builtin_ia32_lddqu((char const *)__p);
37
+ }
38
+
39
+ static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
40
+ _mm_addsub_ps(__m128 __a, __m128 __b)
41
+ {
42
+ return __builtin_ia32_addsubps(__a, __b);
43
+ }
44
+
45
+ static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
46
+ _mm_hadd_ps(__m128 __a, __m128 __b)
47
+ {
48
+ return __builtin_ia32_haddps(__a, __b);
49
+ }
50
+
51
+ static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
52
+ _mm_hsub_ps(__m128 __a, __m128 __b)
53
+ {
54
+ return __builtin_ia32_hsubps(__a, __b);
55
+ }
56
+
57
+ static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
58
+ _mm_movehdup_ps(__m128 __a)
59
+ {
60
+ return __builtin_shufflevector(__a, __a, 1, 1, 3, 3);
61
+ }
62
+
63
+ static __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
64
+ _mm_moveldup_ps(__m128 __a)
65
+ {
66
+ return __builtin_shufflevector(__a, __a, 0, 0, 2, 2);
67
+ }
68
+
69
+ static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
70
+ _mm_addsub_pd(__m128d __a, __m128d __b)
71
+ {
72
+ return __builtin_ia32_addsubpd(__a, __b);
73
+ }
74
+
75
+ static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
76
+ _mm_hadd_pd(__m128d __a, __m128d __b)
77
+ {
78
+ return __builtin_ia32_haddpd(__a, __b);
79
+ }
80
+
81
+ static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
82
+ _mm_hsub_pd(__m128d __a, __m128d __b)
83
+ {
84
+ return __builtin_ia32_hsubpd(__a, __b);
85
+ }
86
+
87
+ #define _mm_loaddup_pd(dp) _mm_load1_pd(dp)
88
+
89
+ static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
90
+ _mm_movedup_pd(__m128d __a)
91
+ {
92
+ return __builtin_shufflevector(__a, __a, 0, 0);
93
+ }
94
+
95
+ #define _MM_DENORMALS_ZERO_ON (0x0040)
96
+ #define _MM_DENORMALS_ZERO_OFF (0x0000)
97
+
98
+ #define _MM_DENORMALS_ZERO_MASK (0x0040)
99
+
100
+ #define _MM_GET_DENORMALS_ZERO_MODE() (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)
101
+ #define _MM_SET_DENORMALS_ZERO_MODE(x) (_mm_setcsr((_mm_getcsr() & ~_MM_DENORMALS_ZERO_MASK) | (x)))
102
+
103
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
104
+ _mm_monitor(void const *__p, unsigned __extensions, unsigned __hints)
105
+ {
106
+ __builtin_ia32_monitor((void *)__p, __extensions, __hints);
107
+ }
108
+
109
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
110
+ _mm_mwait(unsigned __extensions, unsigned __hints)
111
+ {
112
+ __builtin_ia32_mwait(__extensions, __hints);
113
+ }
114
+
115
+ #endif /* __SSE3__ */
116
+
117
+ #endif /* __PMMINTRIN_H */
@@ -0,0 +1,45 @@
1
+ /*===---- popcntintrin.h - POPCNT 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 __POPCNT__
25
+ #error "POPCNT instruction set not enabled"
26
+ #endif
27
+
28
+ #ifndef _POPCNTINTRIN_H
29
+ #define _POPCNTINTRIN_H
30
+
31
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
32
+ _mm_popcnt_u32(unsigned int __A)
33
+ {
34
+ return __builtin_popcount(__A);
35
+ }
36
+
37
+ #ifdef __x86_64__
38
+ static __inline__ long long __attribute__((__always_inline__, __nodebug__))
39
+ _mm_popcnt_u64(unsigned long long __A)
40
+ {
41
+ return __builtin_popcountll(__A);
42
+ }
43
+ #endif /* __x86_64__ */
44
+
45
+ #endif /* _POPCNTINTRIN_H */
@@ -0,0 +1,39 @@
1
+ /*===---- prfchwintrin.h - PREFETCHW intrinsic -----------------------------===
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(_MM3DNOW_H_INCLUDED)
25
+ #error "Never use <prfchwintrin.h> directly; include <x86intrin.h> or <mm3dnow.h> instead."
26
+ #endif
27
+
28
+ #ifndef __PRFCHWINTRIN_H
29
+ #define __PRFCHWINTRIN_H
30
+
31
+ #if defined(__PRFCHW__) || defined(__3dNOW__)
32
+ static __inline__ void __attribute__((__always_inline__, __nodebug__))
33
+ _m_prefetchw(void *__P)
34
+ {
35
+ __builtin_prefetch (__P, 1, 3 /* _MM_HINT_T0 */);
36
+ }
37
+ #endif
38
+
39
+ #endif /* __PRFCHWINTRIN_H */
@@ -0,0 +1,52 @@
1
+ /*===---- rdseedintrin.h - RDSEED intrinsics -------------------------------===
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to deal
5
+ * in the Software without restriction, including without limitation the rights
6
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ * copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ * THE SOFTWARE.
20
+ *
21
+ *===-----------------------------------------------------------------------===
22
+ */
23
+
24
+ #ifndef __X86INTRIN_H
25
+ #error "Never use <rdseedintrin.h> directly; include <x86intrin.h> instead."
26
+ #endif
27
+
28
+ #ifndef __RDSEEDINTRIN_H
29
+ #define __RDSEEDINTRIN_H
30
+
31
+ #ifdef __RDSEED__
32
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
33
+ _rdseed16_step(unsigned short *__p)
34
+ {
35
+ return __builtin_ia32_rdseed16_step(__p);
36
+ }
37
+
38
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
39
+ _rdseed32_step(unsigned int *__p)
40
+ {
41
+ return __builtin_ia32_rdseed32_step(__p);
42
+ }
43
+
44
+ #ifdef __x86_64__
45
+ static __inline__ int __attribute__((__always_inline__, __nodebug__))
46
+ _rdseed64_step(unsigned long long *__p)
47
+ {
48
+ return __builtin_ia32_rdseed64_step(__p);
49
+ }
50
+ #endif
51
+ #endif /* __RDSEED__ */
52
+ #endif /* __RDSEEDINTRIN_H */