Author: Matt Arsenault Date: 2023-06-23T19:52:06-04:00 New Revision: e248955aeda50bd7e0910eabdabdf7bd617e649f
URL: https://github.com/llvm/llvm-project/commit/e248955aeda50bd7e0910eabdabdf7bd617e649f DIFF: https://github.com/llvm/llvm-project/commit/e248955aeda50bd7e0910eabdabdf7bd617e649f.diff LOG: clang: Add missing cases to elementwise builtin SemaCXX test Added: Modified: clang/test/SemaCXX/builtins-elementwise-math.cpp Removed: ################################################################################ diff --git a/clang/test/SemaCXX/builtins-elementwise-math.cpp b/clang/test/SemaCXX/builtins-elementwise-math.cpp index 4895c111584ce..9a0e622f7bf97 100644 --- a/clang/test/SemaCXX/builtins-elementwise-math.cpp +++ b/clang/test/SemaCXX/builtins-elementwise-math.cpp @@ -21,6 +21,13 @@ void test_builtin_elementwise_abs() { static_assert(!is_const<decltype(__builtin_elementwise_abs(b))>::value); } +void test_builtin_elementwise_abs_fp() { + const float a = -2.0f; + float b = 1.0f; + static_assert(!is_const<decltype(__builtin_elementwise_abs(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_abs(b))>::value); +} + void test_builtin_elementwise_add_sat() { const int a = 2; int b = 1; @@ -53,6 +60,22 @@ void test_builtin_elementwise_min() { static_assert(!is_const<decltype(__builtin_elementwise_min(a, a))>::value); } +void test_builtin_elementwise_max_fp() { + const float a = 2.0f; + float b = 1.0f; + static_assert(!is_const<decltype(__builtin_elementwise_max(a, b))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_max(b, a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_max(a, a))>::value); +} + +void test_builtin_elementwise_min_fp() { + const float a = 2.0f; + float b = 1.0f; + static_assert(!is_const<decltype(__builtin_elementwise_min(a, b))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_min(b, a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_min(a, a))>::value); +} + void test_builtin_elementwise_ceil() { const float a = 42.0; float b = 42.3; @@ -122,3 +145,56 @@ void test_builtin_elementwise_nearbyint() { static_assert(!is_const<decltype(__builtin_elementwise_nearbyint(a))>::value); static_assert(!is_const<decltype(__builtin_elementwise_nearbyint(b))>::value); } + +void test_builtin_elementwise_round() { + const float a = 42.5; + float b = 42.3; + static_assert(!is_const<decltype(__builtin_elementwise_round(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_round(b))>::value); +} + +void test_builtin_elementwise_roundeven() { + const float a = 42.5; + float b = 42.3; + static_assert(!is_const<decltype(__builtin_elementwise_roundeven(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_roundeven(b))>::value); +} + +void test_builtin_elementwise_trunc() { + const float a = 42.5; + float b = 42.3; + static_assert(!is_const<decltype(__builtin_elementwise_trunc(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_trunc(b))>::value); +} + +void test_builtin_elementwise_floor() { + const float a = 42.5; + float b = 42.3; + static_assert(!is_const<decltype(__builtin_elementwise_floor(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_floor(b))>::value); +} + +void test_builtin_elementwise_canonicalize() { + const float a = 42.5; + float b = 42.3; + static_assert(!is_const<decltype(__builtin_elementwise_canonicalize(a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_canonicalize(b))>::value); +} + +void test_builtin_elementwise_copysign() { + const float a = 2.0f; + float b = -4.0f; + static_assert(!is_const<decltype(__builtin_elementwise_copysign(a, b))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_copysign(b, a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_copysign(a, a))>::value); +} + +void test_builtin_elementwise_fma() { + const float a = 2.0f; + float b = -4.0f; + float c = 1.0f; + static_assert(!is_const<decltype(__builtin_elementwise_fma(a, a, a))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_fma(a, b, c))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_fma(b, a, c))>::value); + static_assert(!is_const<decltype(__builtin_elementwise_fma(c, c, c))>::value); +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits