summaryrefslogtreecommitdiff
path: root/clang/test/CodeGen/X86/avx512vlbw-builtins.c
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CodeGen/X86/avx512vlbw-builtins.c')
-rw-r--r--clang/test/CodeGen/X86/avx512vlbw-builtins.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGen/X86/avx512vlbw-builtins.c b/clang/test/CodeGen/X86/avx512vlbw-builtins.c
index a262e83083ca..16e113031bfd 100644
--- a/clang/test/CodeGen/X86/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlbw-builtins.c
@@ -3195,12 +3195,22 @@ __mmask16 test_mm_movepi8_mask(__m128i __A) {
return _mm_movepi8_mask(__A);
}
+TEST_CONSTEXPR(_mm_movepi8_mask(
+ ((__m128i)(__v16qi){0, 1, char(129), 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15})) == (__mmask16)0x0004);
+
__mmask32 test_mm256_movepi8_mask(__m256i __A) {
// CHECK-LABEL: test_mm256_movepi8_mask
// CHECK: [[CMP:%.*]] = icmp slt <32 x i8> %{{.*}}, zeroinitializer
return _mm256_movepi8_mask(__A);
}
+TEST_CONSTEXPR(_mm256_movepi8_mask(
+ ((__m256i)(__v32qi){0, 1, char(255), 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, char(128)})
+) == (__mmask32)0x80000004);
+
__m128i test_mm_movm_epi8(__mmask16 __A) {
// CHECK-LABEL: test_mm_movm_epi8
// CHECK: %{{.*}} = bitcast i16 %{{.*}} to <16 x i1>
@@ -3625,6 +3635,7 @@ __mmask8 test_mm_movepi16_mask(__m128i __A) {
// CHECK: [[CMP:%.*]] = icmp slt <8 x i16> %{{.*}}, zeroinitializer
return _mm_movepi16_mask(__A);
}
+TEST_CONSTEXPR(_mm_movepi16_mask(((__m128i)(__v8hi){0, 1, -1, 3, 4, 5, 6, 7})) == (__mmask8)0x04);
__mmask16 test_mm256_movepi16_mask(__m256i __A) {
// CHECK-LABEL: test_mm256_movepi16_mask
@@ -3632,6 +3643,9 @@ __mmask16 test_mm256_movepi16_mask(__m256i __A) {
return _mm256_movepi16_mask(__A);
}
+TEST_CONSTEXPR(_mm256_movepi16_mask(
+ ((__m256i)(__v16hi){0, 1, short(32769), 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, short(65535)})) == (__mmask16)0x8004);
+
__m128i test_mm_mask_shufflehi_epi16(__m128i __W, __mmask8 __U, __m128i __A) {
// CHECK-LABEL: test_mm_mask_shufflehi_epi16
// CHECK: shufflevector <8 x i16> %{{.*}}, <8 x i16> poison, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 5, i32 5, i32 4, i32 4>