File tree Expand file tree Collapse file tree 16 files changed +139
-26
lines changed Expand file tree Collapse file tree 16 files changed +139
-26
lines changed Original file line number Diff line number Diff line change 10
10
#define _LIBCPP___ALGORITHM_PSTL_MOVE_H
11
11
12
12
#include < __algorithm/copy_n.h>
13
+ #include < __algorithm/pstl_backend.h>
13
14
#include < __algorithm/pstl_frontend_dispatch.h>
14
15
#include < __algorithm/pstl_transform.h>
15
16
#include < __config>
Original file line number Diff line number Diff line change 13
13
#include < __algorithm/pstl_copy.h>
14
14
#include < __algorithm/pstl_frontend_dispatch.h>
15
15
#include < __type_traits/is_execution_policy.h>
16
+ #include < optional>
16
17
17
18
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
18
19
# pragma GCC system_header
Original file line number Diff line number Diff line change 10
10
#ifndef _LIBCPP_EXPERIMENTAL___SIMD_ABI_TAG_H
11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_ABI_TAG_H
12
12
13
- #include < experimental/__simd/scalar.h>
14
- #include < experimental/__simd/vec_ext.h>
13
+ #include < cstddef>
14
+ #include < experimental/__config>
15
+ #include < experimental/__simd/internal_declaration.h>
15
16
16
17
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
17
18
Original file line number Diff line number Diff line change 12
12
13
13
#include < __bit/bit_ceil.h>
14
14
#include < __memory/assume_aligned.h>
15
- #include < cstdint>
15
+ #include < cstddef>
16
+ #include < experimental/__config>
16
17
17
18
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
18
19
Original file line number Diff line number Diff line change 10
10
#ifndef _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H
11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H
12
12
13
+ #include < experimental/__config>
14
+ #include < experimental/__simd/abi_tag.h>
15
+
13
16
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
14
17
15
18
_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
Original file line number Diff line number Diff line change 10
10
#ifndef _LIBCPP_EXPERIMENTAL___SIMD_INTERNAL_DECLARATION_H
11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_INTERNAL_DECLARATION_H
12
12
13
+ #include < experimental/__config>
14
+
13
15
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
14
16
15
17
_LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL
16
18
inline namespace parallelism_v2 {
19
+ namespace simd_abi {
20
+ template <int >
21
+ struct __vec_ext ;
22
+ struct __scalar ;
23
+ } // namespace simd_abi
17
24
18
25
template <class _Tp , class _Abi >
19
26
struct __simd_storage ;
Original file line number Diff line number Diff line change 11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_REFERENCE_H
12
12
13
13
#include < __type_traits/is_assignable.h>
14
+ #include < __type_traits/is_same.h>
15
+ #include < __utility/forward.h>
16
+ #include < cstddef>
17
+ #include < experimental/__config>
14
18
#include < experimental/__simd/utility.h>
15
19
16
20
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
Original file line number Diff line number Diff line change 11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_SCALAR_H
12
12
13
13
#include < cstddef>
14
+ #include < experimental/__config>
14
15
#include < experimental/__simd/internal_declaration.h>
16
+ #include < experimental/__simd/traits.h>
15
17
16
18
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
17
19
@@ -23,6 +25,9 @@ struct __scalar {
23
25
};
24
26
} // namespace simd_abi
25
27
28
+ template <>
29
+ inline constexpr bool is_abi_tag_v<simd_abi::__scalar> = true ;
30
+
26
31
template <class _Tp >
27
32
struct __simd_storage <_Tp, simd_abi::__scalar> {
28
33
_Tp __data;
Original file line number Diff line number Diff line change 10
10
#ifndef _LIBCPP_EXPERIMENTAL___SIMD_SIMD_H
11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_SIMD_H
12
12
13
+ #include < __type_traits/is_same.h>
13
14
#include < __type_traits/remove_cvref.h>
15
+ #include < __utility/forward.h>
16
+ #include < cstddef>
17
+ #include < experimental/__config>
14
18
#include < experimental/__simd/abi_tag.h>
15
19
#include < experimental/__simd/declaration.h>
20
+ #include < experimental/__simd/internal_declaration.h>
16
21
#include < experimental/__simd/reference.h>
17
- #include < experimental/__simd/scalar.h>
18
22
#include < experimental/__simd/traits.h>
19
- #include < experimental/__simd/vec_ext .h>
23
+ #include < experimental/__simd/utility .h>
20
24
21
25
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
22
26
@@ -67,6 +71,9 @@ class simd {
67
71
_LIBCPP_HIDE_FROM_ABI value_type operator [](size_t __i) const noexcept { return __s_.__get (__i); }
68
72
};
69
73
74
+ template <class _Tp , class _Abi >
75
+ inline constexpr bool is_simd_v<simd<_Tp, _Abi>> = true ;
76
+
70
77
template <class _Tp >
71
78
using native_simd = simd<_Tp, simd_abi::native<_Tp>>;
72
79
Original file line number Diff line number Diff line change 10
10
#ifndef _LIBCPP_EXPERIMENTAL___SIMD_SIMD_MASK_H
11
11
#define _LIBCPP_EXPERIMENTAL___SIMD_SIMD_MASK_H
12
12
13
+ #include < __type_traits/is_same.h>
14
+ #include < cstddef>
15
+ #include < experimental/__config>
13
16
#include < experimental/__simd/abi_tag.h>
14
17
#include < experimental/__simd/declaration.h>
18
+ #include < experimental/__simd/internal_declaration.h>
15
19
#include < experimental/__simd/reference.h>
16
- #include < experimental/__simd/scalar.h>
17
- #include < experimental/__simd/vec_ext.h>
20
+ #include < experimental/__simd/traits.h>
18
21
19
22
#if _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
20
23
@@ -56,6 +59,9 @@ class simd_mask {
56
59
_LIBCPP_HIDE_FROM_ABI value_type operator [](size_t __i) const noexcept { return __s_.__get (__i); }
57
60
};
58
61
62
+ template <class _Tp , class _Abi >
63
+ inline constexpr bool is_simd_mask_v<simd_mask<_Tp, _Abi>> = true ;
64
+
59
65
template <class _Tp >
60
66
using native_simd_mask = simd_mask<_Tp, simd_abi::native<_Tp>>;
61
67
You can’t perform that action at this time.
0 commit comments