Skip to content

Commit c10f34c

Browse files
committed
[libc++] <experimental/simd> Reduce types for template parameter U in tests
1 parent 3a146d5 commit c10f34c

File tree

6 files changed

+21
-11
lines changed

6 files changed

+21
-11
lines changed

libcxx/test/std/experimental/simd/simd.class/simd_ctor_broadcast.pass.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ template <class T, std::size_t>
110110
struct CheckBroadcastCtorTraits {
111111
template <class SimdAbi>
112112
void operator()() {
113-
types::for_each(arithmetic_no_bool_types(), CheckBroadcastCtorTraitsHelper<T, SimdAbi>());
113+
types::for_each(types_for_template_parameter(), CheckBroadcastCtorTraitsHelper<T, SimdAbi>());
114114

115115
static_assert(!has_broadcast_ctor<no_implicit_type<T>, T, SimdAbi>::value);
116116
static_assert(has_broadcast_ctor<implicit_type<T>, T, SimdAbi>::value);

libcxx/test/std/experimental/simd/simd.class/simd_ctor_conversion.pass.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ struct CheckConversionSimdCtor {
5050
for (size_t i = 0; i < array_size; ++i)
5151
expected_value[i] = static_cast<T>(i);
5252

53-
types::for_each(arithmetic_no_bool_types(), ConversionHelper<T, SimdAbi, array_size>(expected_value));
53+
types::for_each(types_for_template_parameter(), ConversionHelper<T, SimdAbi, array_size>(expected_value));
5454
}
5555
};
5656

@@ -74,7 +74,7 @@ struct CheckConversionSimdCtorTraits {
7474
void operator()() {
7575
constexpr std::size_t array_size = ex::simd_size_v<T, SimdAbi>;
7676

77-
types::for_each(arithmetic_no_bool_types(), CheckConversionSimdCtorTraitsHelper<T, SimdAbi, array_size>());
77+
types::for_each(types_for_template_parameter(), CheckConversionSimdCtorTraitsHelper<T, SimdAbi, array_size>());
7878
}
7979
};
8080

libcxx/test/std/experimental/simd/simd.class/simd_ctor_load.pass.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ struct CheckSimdLoadCtor {
5959
void operator()() {
6060
constexpr std::size_t array_size = ex::simd_size_v<T, SimdAbi>;
6161

62-
types::for_each(arithmetic_no_bool_types(), ElementAlignedLoadCtorHelper<T, SimdAbi, array_size>());
63-
types::for_each(arithmetic_no_bool_types(), VectorAlignedLoadCtorHelper<T, SimdAbi, array_size>());
64-
types::for_each(arithmetic_no_bool_types(), OveralignedLoadCtorHelper<T, SimdAbi, array_size>());
62+
types::for_each(types_for_template_parameter(), ElementAlignedLoadCtorHelper<T, SimdAbi, array_size>());
63+
types::for_each(types_for_template_parameter(), VectorAlignedLoadCtorHelper<T, SimdAbi, array_size>());
64+
types::for_each(types_for_template_parameter(), OveralignedLoadCtorHelper<T, SimdAbi, array_size>());
6565
}
6666
};
6767

libcxx/test/std/experimental/simd/simd.mask.class/simd_mask_ctor_conversion.pass.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ struct CheckConversionMaskCtor {
4242
constexpr std::size_t array_size = ex::simd_size_v<T, SimdAbi>;
4343
std::array<bool, array_size> expected_value{};
4444

45-
types::for_each(arithmetic_no_bool_types(), ConversionHelper<T, SimdAbi, array_size>(expected_value));
45+
types::for_each(types_for_template_parameter(), ConversionHelper<T, SimdAbi, array_size>(expected_value));
4646
}
4747
};
4848

@@ -65,7 +65,7 @@ struct CheckConversionMaskCtorTraits {
6565
void operator()() {
6666
constexpr std::size_t array_size = ex::simd_size_v<T, SimdAbi>;
6767

68-
types::for_each(arithmetic_no_bool_types(), CheckConversionMaskCtorTraitsHelper<T, SimdAbi, array_size>());
68+
types::for_each(types_for_template_parameter(), CheckConversionMaskCtorTraitsHelper<T, SimdAbi, array_size>());
6969
}
7070
};
7171

libcxx/test/std/experimental/simd/simd.reference/reference_assignment.pass.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,10 +72,10 @@ template <class T, std::size_t>
7272
struct CheckReferenceAssignment {
7373
template <class SimdAbi>
7474
void operator()() {
75-
types::for_each(arithmetic_no_bool_types(), CheckSimdReferenceAssignmentHelper<T, SimdAbi>());
76-
types::for_each(arithmetic_no_bool_types(), CheckMaskReferenceAssignmentHelper<T, SimdAbi>());
75+
types::for_each(types_for_template_parameter(), CheckSimdReferenceAssignmentHelper<T, SimdAbi>());
76+
types::for_each(types_for_template_parameter(), CheckMaskReferenceAssignmentHelper<T, SimdAbi>());
7777

78-
types::for_each(arithmetic_no_bool_types(), CheckReferenceAssignmentTraitsHelper<T, SimdAbi>());
78+
types::for_each(types_for_template_parameter(), CheckReferenceAssignmentTraitsHelper<T, SimdAbi>());
7979
}
8080
};
8181

libcxx/test/std/experimental/simd/test_utils.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,16 @@ using arithmetic_no_bool_types = types::concatenate_t<types::integer_types, type
4848
using arithmetic_no_bool_types = types::concatenate_t<types::integer_types, types::floating_point_types>;
4949
#endif
5050

51+
using types_for_template_parameter =
52+
types::type_list<char,
53+
unsigned,
54+
int,
55+
#ifndef TEST_HAS_NO_INT128
56+
__int128_t,
57+
#endif
58+
float,
59+
double>;
60+
5161
template <template <class T, std::size_t N> class Func>
5262
void test_all_simd_abi() {
5363
types::for_each(arithmetic_no_bool_types(), TestAllSimdAbiFunctor<Func>());

0 commit comments

Comments
 (0)