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,131 +0,0 @@
1
- /*===------------- avx512cdintrin.h - AVX512CD intrinsics ------------------===
2
- *
3
- *
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy
5
- * of this software and associated documentation files (the "Software"), to deal
6
- * in the Software without restriction, including without limitation the rights
7
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- * copies of the Software, and to permit persons to whom the Software is
9
- * furnished to do so, subject to the following conditions:
10
- *
11
- * The above copyright notice and this permission notice shall be included in
12
- * all copies or substantial portions of the Software.
13
- *
14
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
- * THE SOFTWARE.
21
- *
22
- *===-----------------------------------------------------------------------===
23
- */
24
- #ifndef __IMMINTRIN_H
25
- #error "Never use <avx512cdintrin.h> directly; include <immintrin.h> instead."
26
- #endif
27
-
28
- #ifndef __AVX512CDINTRIN_H
29
- #define __AVX512CDINTRIN_H
30
-
31
- /* Define the default attributes for the functions in this file. */
32
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512cd")))
33
-
34
- static __inline__ __m512i __DEFAULT_FN_ATTRS
35
- _mm512_conflict_epi64 (__m512i __A)
36
- {
37
- return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
38
- (__v8di) _mm512_setzero_si512 (),
39
- (__mmask8) -1);
40
- }
41
-
42
- static __inline__ __m512i __DEFAULT_FN_ATTRS
43
- _mm512_mask_conflict_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
44
- {
45
- return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
46
- (__v8di) __W,
47
- (__mmask8) __U);
48
- }
49
-
50
- static __inline__ __m512i __DEFAULT_FN_ATTRS
51
- _mm512_maskz_conflict_epi64 (__mmask8 __U, __m512i __A)
52
- {
53
- return (__m512i) __builtin_ia32_vpconflictdi_512_mask ((__v8di) __A,
54
- (__v8di) _mm512_setzero_si512 (),
55
- (__mmask8) __U);
56
- }
57
-
58
- static __inline__ __m512i __DEFAULT_FN_ATTRS
59
- _mm512_conflict_epi32 (__m512i __A)
60
- {
61
- return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
62
- (__v16si) _mm512_setzero_si512 (),
63
- (__mmask16) -1);
64
- }
65
-
66
- static __inline__ __m512i __DEFAULT_FN_ATTRS
67
- _mm512_mask_conflict_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
68
- {
69
- return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
70
- (__v16si) __W,
71
- (__mmask16) __U);
72
- }
73
-
74
- static __inline__ __m512i __DEFAULT_FN_ATTRS
75
- _mm512_maskz_conflict_epi32 (__mmask16 __U, __m512i __A)
76
- {
77
- return (__m512i) __builtin_ia32_vpconflictsi_512_mask ((__v16si) __A,
78
- (__v16si) _mm512_setzero_si512 (),
79
- (__mmask16) __U);
80
- }
81
-
82
- static __inline__ __m512i __DEFAULT_FN_ATTRS
83
- _mm512_lzcnt_epi32 (__m512i __A)
84
- {
85
- return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
86
- (__v16si) _mm512_setzero_si512 (),
87
- (__mmask16) -1);
88
- }
89
-
90
- static __inline__ __m512i __DEFAULT_FN_ATTRS
91
- _mm512_mask_lzcnt_epi32 (__m512i __W, __mmask16 __U, __m512i __A)
92
- {
93
- return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
94
- (__v16si) __W,
95
- (__mmask16) __U);
96
- }
97
-
98
- static __inline__ __m512i __DEFAULT_FN_ATTRS
99
- _mm512_maskz_lzcnt_epi32 (__mmask16 __U, __m512i __A)
100
- {
101
- return (__m512i) __builtin_ia32_vplzcntd_512_mask ((__v16si) __A,
102
- (__v16si) _mm512_setzero_si512 (),
103
- (__mmask16) __U);
104
- }
105
-
106
- static __inline__ __m512i __DEFAULT_FN_ATTRS
107
- _mm512_lzcnt_epi64 (__m512i __A)
108
- {
109
- return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
110
- (__v8di) _mm512_setzero_si512 (),
111
- (__mmask8) -1);
112
- }
113
-
114
- static __inline__ __m512i __DEFAULT_FN_ATTRS
115
- _mm512_mask_lzcnt_epi64 (__m512i __W, __mmask8 __U, __m512i __A)
116
- {
117
- return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
118
- (__v8di) __W,
119
- (__mmask8) __U);
120
- }
121
-
122
- static __inline__ __m512i __DEFAULT_FN_ATTRS
123
- _mm512_maskz_lzcnt_epi64 (__mmask8 __U, __m512i __A)
124
- {
125
- return (__m512i) __builtin_ia32_vplzcntq_512_mask ((__v8di) __A,
126
- (__v8di) _mm512_setzero_si512 (),
127
- (__mmask8) __U);
128
- }
129
- #undef __DEFAULT_FN_ATTRS
130
-
131
- #endif
@@ -1,242 +0,0 @@
1
- /*===---- avx512dqintrin.h - AVX512DQ 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 __IMMINTRIN_H
25
- #error "Never use <avx512dqintrin.h> directly; include <immintrin.h> instead."
26
- #endif
27
-
28
- #ifndef __AVX512DQINTRIN_H
29
- #define __AVX512DQINTRIN_H
30
-
31
- /* Define the default attributes for the functions in this file. */
32
- #define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__))
33
-
34
- static __inline__ __m512i __DEFAULT_FN_ATTRS
35
- _mm512_mullo_epi64 (__m512i __A, __m512i __B) {
36
- return (__m512i) ((__v8di) __A * (__v8di) __B);
37
- }
38
-
39
- static __inline__ __m512i __DEFAULT_FN_ATTRS
40
- _mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
41
- return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
42
- (__v8di) __B,
43
- (__v8di) __W,
44
- (__mmask8) __U);
45
- }
46
-
47
- static __inline__ __m512i __DEFAULT_FN_ATTRS
48
- _mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) {
49
- return (__m512i) __builtin_ia32_pmullq512_mask ((__v8di) __A,
50
- (__v8di) __B,
51
- (__v8di)
52
- _mm512_setzero_si512 (),
53
- (__mmask8) __U);
54
- }
55
-
56
- static __inline__ __m512d __DEFAULT_FN_ATTRS
57
- _mm512_xor_pd (__m512d __A, __m512d __B) {
58
- return (__m512d) ((__v8di) __A ^ (__v8di) __B);
59
- }
60
-
61
- static __inline__ __m512d __DEFAULT_FN_ATTRS
62
- _mm512_mask_xor_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
63
- return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
64
- (__v8df) __B,
65
- (__v8df) __W,
66
- (__mmask8) __U);
67
- }
68
-
69
- static __inline__ __m512d __DEFAULT_FN_ATTRS
70
- _mm512_maskz_xor_pd (__mmask8 __U, __m512d __A, __m512d __B) {
71
- return (__m512d) __builtin_ia32_xorpd512_mask ((__v8df) __A,
72
- (__v8df) __B,
73
- (__v8df)
74
- _mm512_setzero_pd (),
75
- (__mmask8) __U);
76
- }
77
-
78
- static __inline__ __m512 __DEFAULT_FN_ATTRS
79
- _mm512_xor_ps (__m512 __A, __m512 __B) {
80
- return (__m512) ((__v16si) __A ^ (__v16si) __B);
81
- }
82
-
83
- static __inline__ __m512 __DEFAULT_FN_ATTRS
84
- _mm512_mask_xor_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
85
- return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
86
- (__v16sf) __B,
87
- (__v16sf) __W,
88
- (__mmask16) __U);
89
- }
90
-
91
- static __inline__ __m512 __DEFAULT_FN_ATTRS
92
- _mm512_maskz_xor_ps (__mmask16 __U, __m512 __A, __m512 __B) {
93
- return (__m512) __builtin_ia32_xorps512_mask ((__v16sf) __A,
94
- (__v16sf) __B,
95
- (__v16sf)
96
- _mm512_setzero_ps (),
97
- (__mmask16) __U);
98
- }
99
-
100
- static __inline__ __m512d __DEFAULT_FN_ATTRS
101
- _mm512_or_pd (__m512d __A, __m512d __B) {
102
- return (__m512d) ((__v8di) __A | (__v8di) __B);
103
- }
104
-
105
- static __inline__ __m512d __DEFAULT_FN_ATTRS
106
- _mm512_mask_or_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
107
- return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
108
- (__v8df) __B,
109
- (__v8df) __W,
110
- (__mmask8) __U);
111
- }
112
-
113
- static __inline__ __m512d __DEFAULT_FN_ATTRS
114
- _mm512_maskz_or_pd (__mmask8 __U, __m512d __A, __m512d __B) {
115
- return (__m512d) __builtin_ia32_orpd512_mask ((__v8df) __A,
116
- (__v8df) __B,
117
- (__v8df)
118
- _mm512_setzero_pd (),
119
- (__mmask8) __U);
120
- }
121
-
122
- static __inline__ __m512 __DEFAULT_FN_ATTRS
123
- _mm512_or_ps (__m512 __A, __m512 __B) {
124
- return (__m512) ((__v16si) __A | (__v16si) __B);
125
- }
126
-
127
- static __inline__ __m512 __DEFAULT_FN_ATTRS
128
- _mm512_mask_or_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
129
- return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
130
- (__v16sf) __B,
131
- (__v16sf) __W,
132
- (__mmask16) __U);
133
- }
134
-
135
- static __inline__ __m512 __DEFAULT_FN_ATTRS
136
- _mm512_maskz_or_ps (__mmask16 __U, __m512 __A, __m512 __B) {
137
- return (__m512) __builtin_ia32_orps512_mask ((__v16sf) __A,
138
- (__v16sf) __B,
139
- (__v16sf)
140
- _mm512_setzero_ps (),
141
- (__mmask16) __U);
142
- }
143
-
144
- static __inline__ __m512d __DEFAULT_FN_ATTRS
145
- _mm512_and_pd (__m512d __A, __m512d __B) {
146
- return (__m512d) ((__v8di) __A & (__v8di) __B);
147
- }
148
-
149
- static __inline__ __m512d __DEFAULT_FN_ATTRS
150
- _mm512_mask_and_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
151
- return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
152
- (__v8df) __B,
153
- (__v8df) __W,
154
- (__mmask8) __U);
155
- }
156
-
157
- static __inline__ __m512d __DEFAULT_FN_ATTRS
158
- _mm512_maskz_and_pd (__mmask8 __U, __m512d __A, __m512d __B) {
159
- return (__m512d) __builtin_ia32_andpd512_mask ((__v8df) __A,
160
- (__v8df) __B,
161
- (__v8df)
162
- _mm512_setzero_pd (),
163
- (__mmask8) __U);
164
- }
165
-
166
- static __inline__ __m512 __DEFAULT_FN_ATTRS
167
- _mm512_and_ps (__m512 __A, __m512 __B) {
168
- return (__m512) ((__v16si) __A & (__v16si) __B);
169
- }
170
-
171
- static __inline__ __m512 __DEFAULT_FN_ATTRS
172
- _mm512_mask_and_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
173
- return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
174
- (__v16sf) __B,
175
- (__v16sf) __W,
176
- (__mmask16) __U);
177
- }
178
-
179
- static __inline__ __m512 __DEFAULT_FN_ATTRS
180
- _mm512_maskz_and_ps (__mmask16 __U, __m512 __A, __m512 __B) {
181
- return (__m512) __builtin_ia32_andps512_mask ((__v16sf) __A,
182
- (__v16sf) __B,
183
- (__v16sf)
184
- _mm512_setzero_ps (),
185
- (__mmask16) __U);
186
- }
187
-
188
- static __inline__ __m512d __DEFAULT_FN_ATTRS
189
- _mm512_andnot_pd (__m512d __A, __m512d __B) {
190
- return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
191
- (__v8df) __B,
192
- (__v8df)
193
- _mm512_setzero_pd (),
194
- (__mmask8) -1);
195
- }
196
-
197
- static __inline__ __m512d __DEFAULT_FN_ATTRS
198
- _mm512_mask_andnot_pd (__m512d __W, __mmask8 __U, __m512d __A, __m512d __B) {
199
- return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
200
- (__v8df) __B,
201
- (__v8df) __W,
202
- (__mmask8) __U);
203
- }
204
-
205
- static __inline__ __m512d __DEFAULT_FN_ATTRS
206
- _mm512_maskz_andnot_pd (__mmask8 __U, __m512d __A, __m512d __B) {
207
- return (__m512d) __builtin_ia32_andnpd512_mask ((__v8df) __A,
208
- (__v8df) __B,
209
- (__v8df)
210
- _mm512_setzero_pd (),
211
- (__mmask8) __U);
212
- }
213
-
214
- static __inline__ __m512 __DEFAULT_FN_ATTRS
215
- _mm512_andnot_ps (__m512 __A, __m512 __B) {
216
- return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
217
- (__v16sf) __B,
218
- (__v16sf)
219
- _mm512_setzero_ps (),
220
- (__mmask16) -1);
221
- }
222
-
223
- static __inline__ __m512 __DEFAULT_FN_ATTRS
224
- _mm512_mask_andnot_ps (__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
225
- return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
226
- (__v16sf) __B,
227
- (__v16sf) __W,
228
- (__mmask16) __U);
229
- }
230
-
231
- static __inline__ __m512 __DEFAULT_FN_ATTRS
232
- _mm512_maskz_andnot_ps (__mmask16 __U, __m512 __A, __m512 __B) {
233
- return (__m512) __builtin_ia32_andnps512_mask ((__v16sf) __A,
234
- (__v16sf) __B,
235
- (__v16sf)
236
- _mm512_setzero_ps (),
237
- (__mmask16) __U);
238
- }
239
-
240
- #undef __DEFAULT_FN_ATTRS
241
-
242
- #endif
@@ -1,285 +0,0 @@
1
- /*===---- avx512fintrin.h - AVX2 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
- #ifndef __IMMINTRIN_H
24
- #error "Never use <avx512erintrin.h> directly; include <immintrin.h> instead."
25
- #endif
26
-
27
- #ifndef __AVX512ERINTRIN_H
28
- #define __AVX512ERINTRIN_H
29
-
30
- // exp2a23
31
- #define _mm512_exp2a23_round_pd(A, R) __extension__ ({ \
32
- (__m512d)__builtin_ia32_exp2pd_mask((__v8df)(__m512d)(A), \
33
- (__v8df)_mm512_setzero_pd(), \
34
- (__mmask8)-1, (R)); })
35
-
36
- #define _mm512_mask_exp2a23_round_pd(S, M, A, R) __extension__ ({ \
37
- (__m512d)__builtin_ia32_exp2pd_mask((__v8df)(__m512d)(A), \
38
- (__v8df)(__m512d)(S), \
39
- (__mmask8)(M), (R)); })
40
-
41
- #define _mm512_maskz_exp2a23_round_pd(M, A, R) __extension__ ({ \
42
- (__m512d)__builtin_ia32_exp2pd_mask((__v8df)(__m512d)(A), \
43
- (__v8df)_mm512_setzero_pd(), \
44
- (__mmask8)(M), (R)); })
45
-
46
- #define _mm512_exp2a23_pd(A) \
47
- _mm512_exp2a23_round_pd((A), _MM_FROUND_CUR_DIRECTION)
48
-
49
- #define _mm512_mask_exp2a23_pd(S, M, A) \
50
- _mm512_mask_exp2a23_round_pd((S), (M), (A), _MM_FROUND_CUR_DIRECTION)
51
-
52
- #define _mm512_maskz_exp2a23_pd(M, A) \
53
- _mm512_maskz_exp2a23_round_pd((M), (A), _MM_FROUND_CUR_DIRECTION)
54
-
55
- #define _mm512_exp2a23_round_ps(A, R) __extension__ ({ \
56
- (__m512)__builtin_ia32_exp2ps_mask((__v16sf)(__m512)(A), \
57
- (__v16sf)_mm512_setzero_ps(), \
58
- (__mmask8)-1, (R)); })
59
-
60
- #define _mm512_mask_exp2a23_round_ps(S, M, A, R) __extension__ ({ \
61
- (__m512)__builtin_ia32_exp2ps_mask((__v16sf)(__m512)(A), \
62
- (__v16sf)(__m512)(S), \
63
- (__mmask8)(M), (R)); })
64
-
65
- #define _mm512_maskz_exp2a23_round_ps(M, A, R) __extension__ ({ \
66
- (__m512)__builtin_ia32_exp2ps_mask((__v16sf)(__m512)(A), \
67
- (__v16sf)_mm512_setzero_ps(), \
68
- (__mmask8)(M), (R)); })
69
-
70
- #define _mm512_exp2a23_ps(A) \
71
- _mm512_exp2a23_round_ps((A), _MM_FROUND_CUR_DIRECTION)
72
-
73
- #define _mm512_mask_exp2a23_ps(S, M, A) \
74
- _mm512_mask_exp2a23_round_ps((S), (M), (A), _MM_FROUND_CUR_DIRECTION)
75
-
76
- #define _mm512_maskz_exp2a23_ps(M, A) \
77
- _mm512_maskz_exp2a23_round_ps((M), (A), _MM_FROUND_CUR_DIRECTION)
78
-
79
- // rsqrt28
80
- #define _mm512_rsqrt28_round_pd(A, R) __extension__ ({ \
81
- (__m512d)__builtin_ia32_rsqrt28pd_mask((__v8df)(__m512d)(A), \
82
- (__v8df)_mm512_setzero_pd(), \
83
- (__mmask8)-1, (R)); })
84
-
85
- #define _mm512_mask_rsqrt28_round_pd(S, M, A, R) __extension__ ({ \
86
- (__m512d)__builtin_ia32_rsqrt28pd_mask((__v8df)(__m512d)(A), \
87
- (__v8df)(__m512d)(S), \
88
- (__mmask8)(M), (R)); })
89
-
90
- #define _mm512_maskz_rsqrt28_round_pd(M, A, R) __extension__ ({ \
91
- (__m512d)__builtin_ia32_rsqrt28pd_mask((__v8df)(__m512d)(A), \
92
- (__v8df)_mm512_setzero_pd(), \
93
- (__mmask8)(M), (R)); })
94
-
95
- #define _mm512_rsqrt28_pd(A) \
96
- _mm512_rsqrt28_round_pd((A), _MM_FROUND_CUR_DIRECTION)
97
-
98
- #define _mm512_mask_rsqrt28_pd(S, M, A) \
99
- _mm512_mask_rsqrt28_round_pd((S), (M), (A), _MM_FROUND_CUR_DIRECTION)
100
-
101
- #define _mm512_maskz_rsqrt28_pd(M, A) \
102
- _mm512_maskz_rsqrt28_round_pd((M), (A), _MM_FROUND_CUR_DIRECTION)
103
-
104
- #define _mm512_rsqrt28_round_ps(A, R) __extension__ ({ \
105
- (__m512)__builtin_ia32_rsqrt28ps_mask((__v16sf)(__m512)(A), \
106
- (__v16sf)_mm512_setzero_ps(), \
107
- (__mmask16)-1, (R)); })
108
-
109
- #define _mm512_mask_rsqrt28_round_ps(S, M, A, R) __extension__ ({ \
110
- (__m512)__builtin_ia32_rsqrt28ps_mask((__v16sf)(__m512)(A), \
111
- (__v16sf)(__m512)(S), \
112
- (__mmask16)(M), (R)); })
113
-
114
- #define _mm512_maskz_rsqrt28_round_ps(M, A, R) __extension__ ({ \
115
- (__m512)__builtin_ia32_rsqrt28ps_mask((__v16sf)(__m512)(A), \
116
- (__v16sf)_mm512_setzero_ps(), \
117
- (__mmask16)(M), (R)); })
118
-
119
- #define _mm512_rsqrt28_ps(A) \
120
- _mm512_rsqrt28_round_ps((A), _MM_FROUND_CUR_DIRECTION)
121
-
122
- #define _mm512_mask_rsqrt28_ps(S, M, A) \
123
- _mm512_mask_rsqrt28_round_ps((S), (M), A, _MM_FROUND_CUR_DIRECTION)
124
-
125
- #define _mm512_maskz_rsqrt28_ps(M, A) \
126
- _mm512_maskz_rsqrt28_round_ps((M), (A), _MM_FROUND_CUR_DIRECTION)
127
-
128
- #define _mm_rsqrt28_round_ss(A, B, R) __extension__ ({ \
129
- (__m128)__builtin_ia32_rsqrt28ss_mask((__v4sf)(__m128)(A), \
130
- (__v4sf)(__m128)(B), \
131
- (__v4sf)_mm_setzero_ps(), \
132
- (__mmask8)-1, (R)); })
133
-
134
- #define _mm_mask_rsqrt28_round_ss(S, M, A, B, R) __extension__ ({ \
135
- (__m128)__builtin_ia32_rsqrt28ss_mask((__v4sf)(__m128)(A), \
136
- (__v4sf)(__m128)(B), \
137
- (__v4sf)(__m128)(S), \
138
- (__mmask8)(M), (R)); })
139
-
140
- #define _mm_maskz_rsqrt28_round_ss(M, A, B, R) __extension__ ({ \
141
- (__m128)__builtin_ia32_rsqrt28ss_mask((__v4sf)(__m128)(A), \
142
- (__v4sf)(__m128)(B), \
143
- (__v4sf)_mm_setzero_ps(), \
144
- (__mmask8)(M), (R)); })
145
-
146
- #define _mm_rsqrt28_ss(A, B) \
147
- _mm_rsqrt28_round_ss((A), (B), _MM_FROUND_CUR_DIRECTION)
148
-
149
- #define _mm_mask_rsqrt28_ss(S, M, A, B) \
150
- _mm_mask_rsqrt28_round_ss((S), (M), (A), (B), _MM_FROUND_CUR_DIRECTION)
151
-
152
- #define _mm_maskz_rsqrt28_ss(M, A, B) \
153
- _mm_maskz_rsqrt28_round_ss((M), (A), (B), _MM_FROUND_CUR_DIRECTION)
154
-
155
- #define _mm_rsqrt28_round_sd(A, B, R) __extension__ ({ \
156
- (__m128d)__builtin_ia32_rsqrt28sd_mask((__v2df)(__m128d)(A), \
157
- (__v2df)(__m128d)(B), \
158
- (__v2df)_mm_setzero_pd(), \
159
- (__mmask8)-1, (R)); })
160
-
161
- #define _mm_mask_rsqrt28_round_sd(S, M, A, B, R) __extension__ ({ \
162
- (__m128d)__builtin_ia32_rsqrt28sd_mask((__v2df)(__m128d)(A), \
163
- (__v2df)(__m128d)(B), \
164
- (__v2df)(__m128d)(S), \
165
- (__mmask8)(M), (R)); })
166
-
167
- #define _mm_maskz_rsqrt28_round_sd(M, A, B, R) __extension__ ({ \
168
- (__m128d)__builtin_ia32_rsqrt28sd_mask((__v2df)(__m128d)(A), \
169
- (__v2df)(__m128d)(B), \
170
- (__v2df)_mm_setzero_pd(), \
171
- (__mmask8)(M), (R)); })
172
-
173
- #define _mm_rsqrt28_sd(A, B) \
174
- _mm_rsqrt28_round_sd((A), (B), _MM_FROUND_CUR_DIRECTION)
175
-
176
- #define _mm_mask_rsqrt28_sd(S, M, A, B) \
177
- _mm_mask_rsqrt28_round_sd((S), (M), (A), (B), _MM_FROUND_CUR_DIRECTION)
178
-
179
- #define _mm_maskz_rsqrt28_sd(M, A, B) \
180
- _mm_mask_rsqrt28_round_sd((M), (A), (B), _MM_FROUND_CUR_DIRECTION)
181
-
182
- // rcp28
183
- #define _mm512_rcp28_round_pd(A, R) __extension__ ({ \
184
- (__m512d)__builtin_ia32_rcp28pd_mask((__v8df)(__m512d)(A), \
185
- (__v8df)_mm512_setzero_pd(), \
186
- (__mmask8)-1, (R)); })
187
-
188
- #define _mm512_mask_rcp28_round_pd(S, M, A, R) __extension__ ({ \
189
- (__m512d)__builtin_ia32_rcp28pd_mask((__v8df)(__m512d)(A), \
190
- (__v8df)(__m512d)(S), \
191
- (__mmask8)(M), (R)); })
192
-
193
- #define _mm512_maskz_rcp28_round_pd(M, A, R) __extension__ ({ \
194
- (__m512d)__builtin_ia32_rcp28pd_mask((__v8df)(__m512d)(A), \
195
- (__v8df)_mm512_setzero_pd(), \
196
- (__mmask8)(M), (R)); })
197
-
198
- #define _mm512_rcp28_pd(A) \
199
- _mm512_rcp28_round_pd((A), _MM_FROUND_CUR_DIRECTION)
200
-
201
- #define _mm512_mask_rcp28_pd(S, M, A) \
202
- _mm512_mask_rcp28_round_pd((S), (M), (A), _MM_FROUND_CUR_DIRECTION)
203
-
204
- #define _mm512_maskz_rcp28_pd(M, A) \
205
- _mm512_maskz_rcp28_round_pd((M), (A), _MM_FROUND_CUR_DIRECTION)
206
-
207
- #define _mm512_rcp28_round_ps(A, R) __extension__ ({ \
208
- (__m512)__builtin_ia32_rcp28ps_mask((__v16sf)(__m512)(A), \
209
- (__v16sf)_mm512_setzero_ps(), \
210
- (__mmask16)-1, (R)); })
211
-
212
- #define _mm512_mask_rcp28_round_ps(S, M, A, R) __extension__ ({ \
213
- (__m512)__builtin_ia32_rcp28ps_mask((__v16sf)(__m512)(A), \
214
- (__v16sf)(__m512)(S), \
215
- (__mmask16)(M), (R)); })
216
-
217
- #define _mm512_maskz_rcp28_round_ps(M, A, R) __extension__ ({ \
218
- (__m512)__builtin_ia32_rcp28ps_mask((__v16sf)(__m512)(A), \
219
- (__v16sf)_mm512_setzero_ps(), \
220
- (__mmask16)(M), (R)); })
221
-
222
- #define _mm512_rcp28_ps(A) \
223
- _mm512_rcp28_round_ps((A), _MM_FROUND_CUR_DIRECTION)
224
-
225
- #define _mm512_mask_rcp28_ps(S, M, A) \
226
- _mm512_mask_rcp28_round_ps((S), (M), (A), _MM_FROUND_CUR_DIRECTION)
227
-
228
- #define _mm512_maskz_rcp28_ps(M, A) \
229
- _mm512_maskz_rcp28_round_ps((M), (A), _MM_FROUND_CUR_DIRECTION)
230
-
231
- #define _mm_rcp28_round_ss(A, B, R) __extension__ ({ \
232
- (__m128)__builtin_ia32_rcp28ss_mask((__v4sf)(__m128)(A), \
233
- (__v4sf)(__m128)(B), \
234
- (__v4sf)_mm_setzero_ps(), \
235
- (__mmask8)-1, (R)); })
236
-
237
- #define _mm_mask_rcp28_round_ss(S, M, A, B, R) __extension__ ({ \
238
- (__m128)__builtin_ia32_rcp28ss_mask((__v4sf)(__m128)(A), \
239
- (__v4sf)(__m128)(B), \
240
- (__v4sf)(__m128)(S), \
241
- (__mmask8)(M), (R)); })
242
-
243
- #define _mm_maskz_rcp28_round_ss(M, A, B, R) __extension__ ({ \
244
- (__m128)__builtin_ia32_rcp28ss_mask((__v4sf)(__m128)(A), \
245
- (__v4sf)(__m128)(B), \
246
- (__v4sf)_mm_setzero_ps(), \
247
- (__mmask8)(M), (R)); })
248
-
249
- #define _mm_rcp28_ss(A, B) \
250
- _mm_rcp28_round_ss((A), (B), _MM_FROUND_CUR_DIRECTION)
251
-
252
- #define _mm_mask_rcp28_ss(S, M, A, B) \
253
- _mm_mask_rcp28_round_ss((S), (M), (A), (B), _MM_FROUND_CUR_DIRECTION)
254
-
255
- #define _mm_maskz_rcp28_ss(M, A, B) \
256
- _mm_maskz_rcp28_round_ss((M), (A), (B), _MM_FROUND_CUR_DIRECTION)
257
-
258
- #define _mm_rcp28_round_sd(A, B, R) __extension__ ({ \
259
- (__m128d)__builtin_ia32_rcp28sd_mask((__v2df)(__m128d)(A), \
260
- (__v2df)(__m128d)(B), \
261
- (__v2df)_mm_setzero_pd(), \
262
- (__mmask8)-1, (R)); })
263
-
264
- #define _mm_mask_rcp28_round_sd(S, M, A, B, R) __extension__ ({ \
265
- (__m128d)__builtin_ia32_rcp28sd_mask((__v2df)(__m128d)(A), \
266
- (__v2df)(__m128d)(B), \
267
- (__v2df)(__m128d)(S), \
268
- (__mmask8)(M), (R)); })
269
-
270
- #define _mm_maskz_rcp28_round_sd(M, A, B, R) __extension__ ({ \
271
- (__m128d)__builtin_ia32_rcp28sd_mask((__v2df)(__m128d)(A), \
272
- (__v2df)(__m128d)(B), \
273
- (__v2df)_mm_setzero_pd(), \
274
- (__mmask8)(M), (R)); })
275
-
276
- #define _mm_rcp28_sd(A, B) \
277
- _mm_rcp28_round_sd((A), (B), _MM_FROUND_CUR_DIRECTION)
278
-
279
- #define _mm_mask_rcp28_sd(S, M, A, B) \
280
- _mm_mask_rcp28_round_sd((S), (M), (A), (B), _MM_FROUND_CUR_DIRECTION)
281
-
282
- #define _mm_maskz_rcp28_sd(M, A, B) \
283
- _mm_maskz_rcp28_round_sd((M), (A), (B), _MM_FROUND_CUR_DIRECTION)
284
-
285
- #endif // __AVX512ERINTRIN_H