================
@@ -52,3 +56,35 @@ __m256i test_mm256_madd52lo_avx_epu64(__m256i __X, __m256i 
__Y, __m256i __Z) {
 // CHECK:    call {{.*}}<4 x i64> @llvm.x86.avx512.vpmadd52l.uq.256(<4 x i64> 
%{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}})
   return _mm256_madd52lo_avx_epu64(__X, __Y, __Z);
 }
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52lo_epu64((__m128i)((__v2du){0, 0}), 
(__m128i)((__v2du){10, 0}), (__m128i)((__v2du){5, 0})), 50, 0));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52lo_epu64((__m128i)((__v2du){100, 0}), 
(__m128i)((__v2du){20, 0}), (__m128i)((__v2du){30, 0})), 700, 0));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52lo_epu64((__m128i)((__v2du){1, 2}), 
(__m128i)((__v2du){10, 20}), (__m128i)((__v2du){2, 3})), 21, 62));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52lo_epu64((__m128i)((__v2du){0, 0}), 
(__m128i)((__v2du){0xFFFFFFFFFFFFFull, 0}), (__m128i)((__v2du){1, 0})), 
0xFFFFFFFFFFFFFull, 0));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52lo_epu64((__m256i)((__v4du){1, 2, 3, 
4}), (__m256i)((__v4du){10, 20, 30, 40}), (__m256i)((__v4du){2, 3, 4, 5})), 21, 
62, 123, 204));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52hi_epu64((__m128i)((__v2du){100, 0}), 
(__m128i)((__v2du){10, 0}), (__m128i)((__v2du){5, 0})), 100, 0));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52hi_epu64((__m128i)((__v2du){0, 0}), 
(__m128i)((__v2du){0xFFFFFFFFFFFFFull, 0}), 
(__m128i)((__v2du){0xFFFFFFFFFFFFFull, 0})), 0xFFFFFFFFFFFFEull, 0));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52hi_epu64((__m256i)((__v4du){100, 200, 
300, 400}), (__m256i)((__v4du){10, 20, 30, 40}), (__m256i)((__v4du){5, 6, 7, 
8})), 100, 200, 300, 400));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52hi_epu64((__m256i)((__v4du){0, 0, 0, 
0}), (__m256i)((__v4du){0xFFFFFFFFFFFFFull, 0, 0, 0}), 
(__m256i)((__v4du){0xFFFFFFFFFFFFFull, 0, 0, 0})), 0xFFFFFFFFFFFFEull, 0, 0, 
0));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52lo_epu64((__m256i)((__v4du){0, 0, 0, 
0}), (__m256i)((__v4du){0xFFFFFFFFFFFFFull, 0, 0, 0}), (__m256i)((__v4du){1, 0, 
0, 0})), 0xFFFFFFFFFFFFFull, 0, 0, 0));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52lo_epu64((__m256i)((__v4du){0, 0, 0, 
0}), (__m256i)((__v4du){0x1F000000000000ull, 0, 0, 0}), (__m256i)((__v4du){2, 
0, 0, 0})), 0xE000000000000ull, 0, 0, 0));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52lo_avx_epu64((__m128i)((__v2du){5, 10}), 
(__m128i)((__v2du){100, 200}), (__m128i)((__v2du){7, 8})), 705, 1610));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52lo_avx_epu64((__m256i)((__v4du){1, 2, 
3, 4}), (__m256i)((__v4du){10, 20, 30, 40}), (__m256i)((__v4du){2, 3, 4, 5})), 
21, 62, 123, 204));
+
+TEST_CONSTEXPR(match_v2di(_mm_madd52hi_avx_epu64((__m128i)((__v2du){50, 100}), 
(__m128i)((__v2du){10, 20}), (__m128i)((__v2du){5, 6})), 50, 100));
+
+TEST_CONSTEXPR(match_v4di(_mm256_madd52hi_avx_epu64((__m256i)((__v4du){0, 0, 
0, 0}), (__m256i)((__v4du){0xFFFFFFFFFFFFFull, 0xFFFFFFFFFFFFFull, 0, 0}), 
(__m256i)((__v4du){0xFFFFFFFFFFFFFull, 0xFFFFFFFFFFFFFull, 0, 0})), 
0xFFFFFFFFFFFFEull, 0xFFFFFFFFFFFFEull, 0, 0));
+
+// expected-no-diagnostics
----------------
chaitanyav wrote:

```
+ /Users/nagachaitanyavellanki/scratch/llvm-project/build/bin/clang -cc1 
-internal-isystem 
/Users/nagachaitanyavellanki/scratch/llvm-project/build/lib/clang/22/include 
-nostdsysteminc -x c++ -std=c++2a -fsyntax-only 
/Users/nagachaitanyavellanki/scratch/llvm-project/clang/test/CodeGen/X86/avxifma-builtins.c
 -triple=x86_64-unknown-unknown -target-feature +avxifma -ffreestanding -verify
error: no expected directives found: consider use of 'expected-no-diagnostics'
```

https://github.com/llvm/llvm-project/pull/161056
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to