https://github.com/markbhasawut updated 
https://github.com/llvm/llvm-project/pull/156901

>From 7147ee319ecbf309042c25b9483ba1fea9161778 Mon Sep 17 00:00:00 2001
From: Bhasawut Singhaphan <bhasa...@gmail.com>
Date: Thu, 4 Sep 2025 21:41:54 +0700
Subject: [PATCH] [Headers][X86] Allow AVX512 integer min/max mask/maskz
 variants intrinsics to be used in constexpr

Update the AVX512 integer min/max mask/maskz variants intrinsics to be constexpr
compatible.

This is the last in the 'Allow MMX/SSE/AVX2/AVX512 integer min/max intrinsics 
to be used in constexpr' series.
---
 clang/lib/Headers/avx512fintrin.h         | 80 +++++++++--------------
 clang/test/CodeGen/X86/avx512f-builtins.c | 34 +++++++++-
 2 files changed, 65 insertions(+), 49 deletions(-)

diff --git a/clang/lib/Headers/avx512fintrin.h 
b/clang/lib/Headers/avx512fintrin.h
index 3e285f031ffe8..b9475d3f1d410 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -1091,17 +1091,15 @@ static __inline __m512i
   return (__m512i)__builtin_elementwise_max((__v16si)__A, (__v16si)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_max_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_max_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_max_epi32(__A, 
__B),
                                             (__v16si)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_max_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_max_epi32(__A, 
__B),
                                             (__v16si)_mm512_setzero_si512());
@@ -1112,17 +1110,15 @@ _mm512_max_epu32(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_max((__v16su)__A, (__v16su)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_max_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_max_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_max_epu32(__A, 
__B),
                                             (__v16si)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_max_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_max_epu32(__A, 
__B),
                                             (__v16si)_mm512_setzero_si512());
@@ -1133,17 +1129,15 @@ _mm512_max_epi64(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_max((__v8di)__A, (__v8di)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_max_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_max_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_max_epi64(__A, 
__B),
                                              (__v8di)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_max_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_max_epi64(__A, 
__B),
                                              (__v8di)_mm512_setzero_si512());
@@ -1154,17 +1148,15 @@ _mm512_max_epu64(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_max((__v8du)__A, (__v8du)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_max_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_max_epu64(__A, 
__B),
                                              (__v8di)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_max_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_max_epu64(__A, 
__B),
                                              (__v8di)_mm512_setzero_si512());
@@ -1321,17 +1313,15 @@ static __inline __m512i
   return (__m512i)__builtin_elementwise_min((__v16si)__A, (__v16si)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_min_epi32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_min_epi32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_min_epi32(__A, 
__B),
                                             (__v16si)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_min_epi32(__mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_min_epi32(__A, 
__B),
                                             (__v16si)_mm512_setzero_si512());
@@ -1342,17 +1332,15 @@ _mm512_min_epu32(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_min((__v16su)__A, (__v16su)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_min_epu32 (__m512i __W, __mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_min_epu32(__m512i __W, __mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_min_epu32(__A, 
__B),
                                             (__v16si)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_min_epu32(__mmask16 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectd_512((__mmask16)__M,
                                             (__v16si)_mm512_min_epu32(__A, 
__B),
                                             (__v16si)_mm512_setzero_si512());
@@ -1363,17 +1351,15 @@ _mm512_min_epi64(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_min((__v8di)__A, (__v8di)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_min_epi64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_min_epi64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_min_epi64(__A, 
__B),
                                              (__v8di)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_min_epi64(__mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_min_epi64(__A, 
__B),
                                              (__v8di)_mm512_setzero_si512());
@@ -1384,17 +1370,15 @@ _mm512_min_epu64(__m512i __A, __m512i __B) {
   return (__m512i)__builtin_elementwise_min((__v8du)__A, (__v8du)__B);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_mask_min_epu64 (__m512i __W, __mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_mask_min_epu64(__m512i __W, __mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_min_epu64(__A, 
__B),
                                              (__v8di)__W);
 }
 
-static __inline__ __m512i __DEFAULT_FN_ATTRS512
-_mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
-{
+static __inline__ __m512i __DEFAULT_FN_ATTRS512_CONSTEXPR
+_mm512_maskz_min_epu64(__mmask8 __M, __m512i __A, __m512i __B) {
   return (__m512i)__builtin_ia32_selectq_512((__mmask8)__M,
                                              (__v8di)_mm512_min_epu64(__A, 
__B),
                                              (__v8di)_mm512_setzero_si512());
diff --git a/clang/test/CodeGen/X86/avx512f-builtins.c 
b/clang/test/CodeGen/X86/avx512f-builtins.c
index 3c93d729f8a03..979631341fe21 100644
--- a/clang/test/CodeGen/X86/avx512f-builtins.c
+++ b/clang/test/CodeGen/X86/avx512f-builtins.c
@@ -10187,6 +10187,8 @@ __m512i test_mm512_mask_max_epi32 (__m512i __W, 
__mmask16 __M, __m512i __A, __m5
   return _mm512_mask_max_epi32 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16si(_mm512_mask_max_epi32((__m512i)(__v16si){-100, 
+200, -300, +400, -500, +600, -700, +800, -900, +1000, -1100, +1200, -1300, 
+1400, -1500, +1600}, 0x00FF, (__m512i)(__v16si){+1, -2, +3, -4, +5, -6, +7, 
-8, +9, -10, +11, -12, +13, -14, +15, -16}, (__m512i)(__v16si){-1, +2, -3, +4, 
-5, +6, -7, +8, -9, +10, -11, +12, -13, +14, -15, +16}), +1, +2, +3, +4, +5, 
+6, +7, +8, -900, +1000, -1100, +1200, -1300, +1400, -1500, +1600));
+
 __m512i test_mm512_maskz_max_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_max_epi32 
@@ -10195,6 +10197,8 @@ __m512i test_mm512_maskz_max_epi32 (__mmask16 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_max_epi32 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16si(_mm512_maskz_max_epi32(0x00FF, 
(__m512i)(__v16si){+1, -2, +3, -4, +5, -6, +7, -8, +9, -10, +11, -12, +13, -14, 
+15, -16}, (__m512i)(__v16si){-1, +2, -3, +4, -5, +6, -7, +8, -9, +10, -11, 
+12, -13, +14, -15, +16}), +1, +2, +3, +4, +5, +6, +7, +8, 0, 0, 0, 0, 0, 0, 0, 
0));
+
 __m512i test_mm512_max_epi64 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_max_epi64 
@@ -10212,6 +10216,8 @@ __m512i test_mm512_mask_max_epi64 (__m512i __W, 
__mmask8 __M, __m512i __A, __m51
   return _mm512_mask_max_epi64 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v8di(_mm512_mask_max_epi64((__m512i)(__v8di){-100, +200, 
-300, +400, -500, +600, -700, +800}, 0x0F, (__m512i)(__v8di){+1, -2, +3, -4, 
+5, -6, +7, -8}, (__m512i)(__v8di){-1, +2, -3, +4, -5, +6, -7, +8}), +1, +2, 
+3, +4, -500, +600, -700, +800));
+
 __m512i test_mm512_maskz_max_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_max_epi64 
@@ -10220,6 +10226,8 @@ __m512i test_mm512_maskz_max_epi64 (__mmask8 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_max_epi64 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v8di(_mm512_maskz_max_epi64(0x0F, (__m512i)(__v8di){+1, 
-2, +3, -4, +5, -6, +7, -8}, (__m512i)(__v8di){-1, +2, -3, +4, -5, +6, -7, 
+8}), +1, +2, +3, +4, 0, 0, 0, 0));
+
 __m512i test_mm512_max_epu64 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_max_epu64 
@@ -10227,7 +10235,7 @@ __m512i test_mm512_max_epu64 (__m512i __A, __m512i __B)
   return _mm512_max_epu64 (__A,__B);
 }
 
-TEST_CONSTEXPR(match_m512i(_mm512_max_epu64((__m512i)(__v8du){1, 2, 3, 4, 8, 
7, 6, 5}, (__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 4, 3, 3, 4, 8, 7, 7, 8 ));
+TEST_CONSTEXPR(match_m512i(_mm512_max_epu64((__m512i)(__v8du){1, 2, 3, 4, 8, 
7, 6, 5}, (__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 4, 3, 3, 4, 8, 7, 7, 8));
 
 __m512i test_mm512_mask_max_epu64 (__m512i __W, __mmask8 __M, __m512i __A, 
__m512i __B)
 {
@@ -10237,6 +10245,8 @@ __m512i test_mm512_mask_max_epu64 (__m512i __W, 
__mmask8 __M, __m512i __A, __m51
   return _mm512_mask_max_epu64 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_m512i(_mm512_mask_max_epu64((__m512i)(__v8du){100, 200, 
300, 400, 500, 600, 700, 800}, 0x0F, (__m512i)(__v8du){1, 2, 3, 4, 8, 7, 6, 5}, 
(__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 4, 3, 3, 4, 500, 600, 700, 800));
+
 __m512i test_mm512_maskz_max_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_max_epu64 
@@ -10245,6 +10255,8 @@ __m512i test_mm512_maskz_max_epu64 (__mmask8 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_max_epu64 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_m512i(_mm512_maskz_max_epu64(0x0F, (__m512i)(__v8du){1, 
2, 3, 4, 8, 7, 6, 5}, (__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 4, 3, 3, 4, 
0, 0, 0, 0));
+
 __m512i test_mm512_max_epu32 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_max_epu32 
@@ -10262,6 +10274,8 @@ __m512i test_mm512_mask_max_epu32 (__m512i __W, 
__mmask16 __M, __m512i __A, __m5
   return _mm512_mask_max_epu32 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16su(_mm512_mask_max_epu32((__m512i)(__v16su){100, 200, 
300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600}, 
0x00FF, (__m512i)(__v16su){1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 
16}, (__m512i)(__v16su){0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}), 
1, 2, 3, 4, 5, 6, 7, 8, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600));
+
 __m512i test_mm512_maskz_max_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_max_epu32 
@@ -10270,6 +10284,8 @@ __m512i test_mm512_maskz_max_epu32 (__mmask16 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_max_epu32 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16su(_mm512_maskz_max_epu32(0x00FF, 
(__m512i)(__v16su){1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, 
(__m512i)(__v16su){0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}), 1, 
2, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, 0));
+
 __m512i test_mm512_min_epi32 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_min_epi32 
@@ -10287,6 +10303,8 @@ __m512i test_mm512_mask_min_epi32 (__m512i __W, 
__mmask16 __M, __m512i __A, __m5
   return _mm512_mask_min_epi32 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16si(_mm512_mask_min_epi32((__m512i)(__v16si){-100, 
+200, -300, +400, -500, +600, -700, +800, -900, +1000, -1100, +1200, -1300, 
+1400, -1500, +1600}, 0x00FF, (__m512i)(__v16si){+1, -2, +3, -4, +5, -6, +7, 
-8, +9, -10, +11, -12, +13, -14, +15, -16}, (__m512i)(__v16si){-1, +2, -3, +4, 
-5, +6, -7, +8, -9, +10, -11, +12, -13, +14, -15, +16}), -1, -2, -3, -4, -5, 
-6, -7, -8, -900, +1000, -1100, +1200, -1300, +1400, -1500, +1600));
+
 __m512i test_mm512_maskz_min_epi32 (__mmask16 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_min_epi32 
@@ -10295,6 +10313,8 @@ __m512i test_mm512_maskz_min_epi32 (__mmask16 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_min_epi32 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16si(_mm512_maskz_min_epi32(0x00FF, 
(__m512i)(__v16si){+1, -2, +3, -4, +5, -6, +7, -8, +9, -10, +11, -12, +13, -14, 
+15, -16}, (__m512i)(__v16si){-1, +2, -3, +4, -5, +6, -7, +8, -9, +10, -11, 
+12, -13, +14, -15, +16}), -1, -2, -3, -4, -5, -6, -7, -8, 0, 0, 0, 0, 0, 0, 0, 
0));
+
 __m512i test_mm512_min_epu32 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_min_epu32 
@@ -10312,6 +10332,8 @@ __m512i test_mm512_mask_min_epu32 (__m512i __W, 
__mmask16 __M, __m512i __A, __m5
   return _mm512_mask_min_epu32 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16su(_mm512_mask_min_epu32((__m512i)(__v16su){100, 200, 
300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600}, 
0x00FF, (__m512i)(__v16su){1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 
16}, (__m512i)(__v16su){0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}), 
0, 1, 2, 3, 4, 5, 6, 7, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500));
+
 __m512i test_mm512_maskz_min_epu32 (__mmask16 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_min_epu32 
@@ -10320,6 +10342,8 @@ __m512i test_mm512_maskz_min_epu32 (__mmask16 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_min_epu32 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v16su(_mm512_maskz_min_epu32(0x00FF, 
(__m512i)(__v16su){1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}, 
(__m512i)(__v16su){0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}), 0, 
1, 2, 3, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0));
+
 __m512i test_mm512_min_epi64 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_min_epi64 
@@ -10337,6 +10361,8 @@ __m512i test_mm512_mask_min_epi64 (__m512i __W, 
__mmask8 __M, __m512i __A, __m51
   return _mm512_mask_min_epi64 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v8di(_mm512_mask_min_epi64((__m512i)(__v8di){-100, +200, 
-300, +400, -500, +600, -700, +800}, 0x0F, (__m512i)(__v8di){+1, -2, +3, -4, 
+5, -6, +7, -8}, (__m512i)(__v8di){-1, +2, -3, +4, -5, +6, -7, +8}), -1, -2, 
-3, -4, -500, +600, -700, +800));
+
 __m512i test_mm512_maskz_min_epi64 (__mmask8 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_min_epi64 
@@ -10345,6 +10371,8 @@ __m512i test_mm512_maskz_min_epi64 (__mmask8 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_min_epi64 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_v8di(_mm512_maskz_min_epi64(0x0F, (__m512i)(__v8di){+1, 
-2, +3, -4, +5, -6, +7, -8}, (__m512i)(__v8di){-1, +2, -3, +4, -5, +6, -7, 
+8}), -1, -2, -3, -4, 0, 0, 0, 0));
+
 __m512i test_mm512_min_epu64 (__m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_min_epu64 
@@ -10362,6 +10390,8 @@ __m512i test_mm512_mask_min_epu64 (__m512i __W, 
__mmask8 __M, __m512i __A, __m51
   return _mm512_mask_min_epu64 (__W,__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_m512i(_mm512_mask_min_epu64((__m512i)(__v8du){100, 200, 
300, 400, 500, 600, 700, 800}, 0x0F, (__m512i)(__v8du){1, 2, 3, 4, 8, 7, 6, 5}, 
(__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 1, 2, 2, 1, 500, 600, 700, 800));
+
 __m512i test_mm512_maskz_min_epu64 (__mmask8 __M, __m512i __A, __m512i __B)
 {
   // CHECK-LABEL: test_mm512_maskz_min_epu64 
@@ -10370,6 +10400,8 @@ __m512i test_mm512_maskz_min_epu64 (__mmask8 __M, 
__m512i __A, __m512i __B)
   return _mm512_maskz_min_epu64 (__M,__A,__B);
 }
 
+TEST_CONSTEXPR(match_m512i(_mm512_maskz_min_epu64(0x0F, (__m512i)(__v8du){1, 
2, 3, 4, 8, 7, 6, 5}, (__m512i)(__v8du){4, 3, 2, 1, 5, 6, 7, 8}), 1, 2, 2, 1, 
0, 0, 0, 0));
+
 __m512i test_mm512_mask_set1_epi32 (__m512i __O, __mmask16 __M, int __A)
 {
   // CHECK-LABEL: test_mm512_mask_set1_epi32

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to