https://github.com/moorabbit updated 
https://github.com/llvm/llvm-project/pull/157260

>From 6a3ea1634162fa90e3b2deacb1b0ff7a1a907359 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:03:54 -0400
Subject: [PATCH 01/30] _mm_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index e93eb10c31ce2..1de8235baef7b 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -462,8 +462,8 @@ _mm256_maskz_cvtps_epu64 (__mmask8 __U, __m128 __A) {
                 (__mmask8) __U);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_cvtepi64_pd (__m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_cvtepi64_pd(__m128i __A) {
   return (__m128d)__builtin_convertvector((__v2di)__A, __v2df);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index e1e8916bf60b3..a8f059e0a2556 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -440,6 +440,8 @@ __m128d test_mm_cvtepi64_pd(__m128i __A) {
   return _mm_cvtepi64_pd(__A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_cvtepi64_pd((__m128i)(__v2di){-1, -1}), -1.0, 
-1.0));
+
 __m128d test_mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   // CHECK-LABEL: test_mm_mask_cvtepi64_pd
   // CHECK: sitofp <2 x i64> %{{.*}} to <2 x double>

>From c62d8629138f684a892f1335143b3efd72cc3a90 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:09:34 -0400
Subject: [PATCH 02/30] _mm_mask_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 1de8235baef7b..3732ba566020a 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -467,8 +467,8 @@ _mm_cvtepi64_pd(__m128i __A) {
   return (__m128d)__builtin_convertvector((__v2di)__A, __v2df);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_mask_cvtepi64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
                                               (__v2df)_mm_cvtepi64_pd(__A),
                                               (__v2df)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index a8f059e0a2556..05632b83b0d55 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -449,6 +449,8 @@ __m128d test_mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, 
__m128i __A) {
   return _mm_mask_cvtepi64_pd(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_mask_cvtepi64_pd((__m128d){-777.0, -777.0}, 
/*01=*/0x1, (__m128i)(__v2di){-1, -1}), -1.0, -777.0));
+
 __m128d test_mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i __A) {
   // CHECK-LABEL: test_mm_maskz_cvtepi64_pd
   // CHECK: sitofp <2 x i64> %{{.*}} to <2 x double>

>From a6a93ba68fd536e96a3219b9e8d79350b35ff2ac Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:12:08 -0400
Subject: [PATCH 03/30] _mm_maskz_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 3732ba566020a..e38014914f336 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -474,8 +474,8 @@ _mm_mask_cvtepi64_pd(__m128d __W, __mmask8 __U, __m128i 
__A) {
                                               (__v2df)__W);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_maskz_cvtepi64_pd (__mmask8 __U, __m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i __A) {
   return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
                                               (__v2df)_mm_cvtepi64_pd(__A),
                                               (__v2df)_mm_setzero_pd());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 05632b83b0d55..2dd0b255a5a60 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -458,6 +458,8 @@ __m128d test_mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i 
__A) {
   return _mm_maskz_cvtepi64_pd(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_maskz_cvtepi64_pd(/*01=*/0x1, 
(__m128i)(__v2di){-1, -1}), -1.0, 0.0));
+
 __m256d test_mm256_cvtepi64_pd(__m256i __A) {
   // CHECK-LABEL: test_mm256_cvtepi64_pd
   // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>

>From 7dfa2c590f58efd3518345b3d1a99bc17448024c Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:16:39 -0400
Subject: [PATCH 04/30] _mm_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index e38014914f336..a7970ae1c1b20 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -708,8 +708,8 @@ _mm256_maskz_cvttps_epu64 (__mmask8 __U, __m128 __A) {
                 (__mmask8) __U);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_cvtepu64_pd (__m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_cvtepu64_pd(__m128i __A) {
   return (__m128d)__builtin_convertvector((__v2du)__A, __v2df);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 2dd0b255a5a60..26bd215a53f0e 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -668,6 +668,8 @@ __m128d test_mm_cvtepu64_pd(__m128i __A) {
   return _mm_cvtepu64_pd(__A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_cvtepu64_pd((__m128i)(__v2du){1, 1}), 1.0, 
1.0));
+
 __m128d test_mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   // CHECK-LABEL: test_mm_mask_cvtepu64_pd
   // CHECK: uitofp <2 x i64> %{{.*}} to <2 x double>

>From b6c59f08f1ef133543b104df0d2c636ed187301f Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:19:45 -0400
Subject: [PATCH 05/30] _mm_mask_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index a7970ae1c1b20..db886de046d78 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -713,8 +713,8 @@ _mm_cvtepu64_pd(__m128i __A) {
   return (__m128d)__builtin_convertvector((__v2du)__A, __v2df);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_mask_cvtepu64_pd (__m128d __W, __mmask8 __U, __m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, __m128i __A) {
   return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
                                               (__v2df)_mm_cvtepu64_pd(__A),
                                               (__v2df)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 26bd215a53f0e..14a7c7c3935ac 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -677,6 +677,8 @@ __m128d test_mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, 
__m128i __A) {
   return _mm_mask_cvtepu64_pd(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_mask_cvtepu64_pd((__m128d){-777.0, -777.0}, 
/*01=*/0x1, (__m128i)(__v2du){1, 1}), 1.0, -777.0));
+
 __m128d test_mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i __A) {
   // CHECK-LABEL: test_mm_maskz_cvtepu64_pd
   // CHECK: uitofp <2 x i64> %{{.*}} to <2 x double>

>From da06e42fb72ab0e07e4856004fa73443a524972d Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:22:36 -0400
Subject: [PATCH 06/30] _mm_maskz_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index db886de046d78..ececb4266cd87 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -720,8 +720,8 @@ _mm_mask_cvtepu64_pd(__m128d __W, __mmask8 __U, __m128i 
__A) {
                                               (__v2df)__W);
 }
 
-static __inline__ __m128d __DEFAULT_FN_ATTRS128
-_mm_maskz_cvtepu64_pd (__mmask8 __U, __m128i __A) {
+static __inline__ __m128d __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i __A) {
   return (__m128d)__builtin_ia32_selectpd_128((__mmask8)__U,
                                               (__v2df)_mm_cvtepu64_pd(__A),
                                               (__v2df)_mm_setzero_pd());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 14a7c7c3935ac..6d781e4f136b9 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -686,6 +686,8 @@ __m128d test_mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i 
__A) {
   return _mm_maskz_cvtepu64_pd(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128d(_mm_maskz_cvtepu64_pd(/*01=*/0x1, 
(__m128i)(__v2du){1, 1}), 1.0, 0.0));
+
 __m256d test_mm256_cvtepu64_pd(__m256i __A) {
   // CHECK-LABEL: test_mm256_cvtepu64_pd
   // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>

>From 54ce1e6cb5651e3f1b4e7cbe2867844488ee8070 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:31:32 -0400
Subject: [PATCH 07/30] _mm256_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index ececb4266cd87..484df78e6a310 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -481,8 +481,8 @@ _mm_maskz_cvtepi64_pd(__mmask8 __U, __m128i __A) {
                                               (__v2df)_mm_setzero_pd());
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_cvtepi64_pd (__m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_cvtepi64_pd(__m256i __A) {
   return (__m256d)__builtin_convertvector((__v4di)__A, __v4df);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 6d781e4f136b9..860bf2dd2549e 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -466,6 +466,8 @@ __m256d test_mm256_cvtepi64_pd(__m256i __A) {
   return _mm256_cvtepi64_pd(__A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_cvtepi64_pd((__m256i)(__v4di){-1, -1, 2, 
2}), -1.0, -1.0, 2.0, 2.0));
+
 __m256d test_mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_mask_cvtepi64_pd
   // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>

>From aa736dda46cfc1876117acb2b94727b580b97b76 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:39:34 -0400
Subject: [PATCH 08/30] _mm256_mask_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 484df78e6a310..772698d7ecad2 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -486,8 +486,8 @@ _mm256_cvtepi64_pd(__m256i __A) {
   return (__m256d)__builtin_convertvector((__v4di)__A, __v4df);
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_mask_cvtepi64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
   return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
                                               (__v4df)_mm256_cvtepi64_pd(__A),
                                               (__v4df)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 860bf2dd2549e..d4c45650e188a 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -475,6 +475,8 @@ __m256d test_mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 
__U, __m256i __A) {
   return _mm256_mask_cvtepi64_pd(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_mask_cvtepi64_pd((__m256d){-777.0, -777.0, 
-777.0, -777.0}, /*1100*/0xc, (__m256i)(__v4di){-1, -1, 2, 2}), -777.0, -777.0, 
2.0, 2.0));
+
 __m256d test_mm256_maskz_cvtepi64_pd(__mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_maskz_cvtepi64_pd
   // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>

>From ee4b2e43ed64a9d21b0dea4db74f5910eefc2013 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:40:35 -0400
Subject: [PATCH 09/30] _mm256_maskz_cvtepi64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 772698d7ecad2..56fd5278a1e1e 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -493,8 +493,8 @@ _mm256_mask_cvtepi64_pd(__m256d __W, __mmask8 __U, __m256i 
__A) {
                                               (__v4df)__W);
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_maskz_cvtepi64_pd (__mmask8 __U, __m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_maskz_cvtepi64_pd(__mmask8 __U, __m256i __A) {
   return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
                                               (__v4df)_mm256_cvtepi64_pd(__A),
                                               (__v4df)_mm256_setzero_pd());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index d4c45650e188a..1538932c3bc96 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -484,6 +484,8 @@ __m256d test_mm256_maskz_cvtepi64_pd(__mmask8 __U, __m256i 
__A) {
   return _mm256_maskz_cvtepi64_pd(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_maskz_cvtepi64_pd(/*1100*/0xc, 
(__m256i)(__v4di){-1, -1, 2, 2}), 0.0, 0.0, 2.0, 2.0));
+
 __m128 test_mm_cvtepi64_ps(__m128i __A) {
   // CHECK-LABEL: test_mm_cvtepi64_ps
   // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.128

>From 9413ce22239df7f1e9abe9f14f4f2b4c9ed6a295 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:42:53 -0400
Subject: [PATCH 10/30] _mm256_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 56fd5278a1e1e..9eac0de5edf8a 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -727,8 +727,8 @@ _mm_maskz_cvtepu64_pd(__mmask8 __U, __m128i __A) {
                                               (__v2df)_mm_setzero_pd());
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_cvtepu64_pd (__m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_cvtepu64_pd(__m256i __A) {
   return (__m256d)__builtin_convertvector((__v4du)__A, __v4df);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 1538932c3bc96..5754783911b4b 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -700,6 +700,8 @@ __m256d test_mm256_cvtepu64_pd(__m256i __A) {
   return _mm256_cvtepu64_pd(__A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_cvtepu64_pd((__m256i)(__v4du){1, 1, 2, 2}), 
1.0, 1.0, 2.0, 2.0));
+
 __m256d test_mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_mask_cvtepu64_pd
   // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>

>From 5cb91603a72f3e8c36d76733bbb64ab98bf41ea9 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:47:53 -0400
Subject: [PATCH 11/30] _mm256_mask_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 9eac0de5edf8a..77c4a1ae42e46 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -732,8 +732,8 @@ _mm256_cvtepu64_pd(__m256i __A) {
   return (__m256d)__builtin_convertvector((__v4du)__A, __v4df);
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_mask_cvtepu64_pd (__m256d __W, __mmask8 __U, __m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 __U, __m256i __A) {
   return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
                                               (__v4df)_mm256_cvtepu64_pd(__A),
                                               (__v4df)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 5754783911b4b..5138d8868abe3 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -709,6 +709,8 @@ __m256d test_mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 
__U, __m256i __A) {
   return _mm256_mask_cvtepu64_pd(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_mask_cvtepu64_pd((__m256d){-777.0, -777.0, 
-777.0, -777.0}, /*1100*/0xc, (__m256i)(__v4du){1, 1, 2, 2}), -777.0, -777.0, 
2.0, 2.0));
+
 __m256d test_mm256_maskz_cvtepu64_pd(__mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_maskz_cvtepu64_pd
   // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>

>From 92743c92cf2e5d6ade53ad74f0bdd91d6f54d0fa Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:52:03 -0400
Subject: [PATCH 12/30] _mm256_maskz_cvtepu64_pd

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 77c4a1ae42e46..1b2e6674b6168 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -739,8 +739,8 @@ _mm256_mask_cvtepu64_pd(__m256d __W, __mmask8 __U, __m256i 
__A) {
                                               (__v4df)__W);
 }
 
-static __inline__ __m256d __DEFAULT_FN_ATTRS256
-_mm256_maskz_cvtepu64_pd (__mmask8 __U, __m256i __A) {
+static __inline__ __m256d __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_maskz_cvtepu64_pd(__mmask8 __U, __m256i __A) {
   return (__m256d)__builtin_ia32_selectpd_256((__mmask8)__U,
                                               (__v4df)_mm256_cvtepu64_pd(__A),
                                               (__v4df)_mm256_setzero_pd());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 5138d8868abe3..35b0bebd2fa89 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -718,6 +718,8 @@ __m256d test_mm256_maskz_cvtepu64_pd(__mmask8 __U, __m256i 
__A) {
   return _mm256_maskz_cvtepu64_pd(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m256d(_mm256_maskz_cvtepu64_pd(/*1100*/0xc, 
(__m256i)(__v4du){1, 1, 2, 2}), 0.0, 0.0, 2.0, 2.0));
+
 __m128 test_mm_cvtepu64_ps(__m128i __A) {
   // CHECK-LABEL: test_mm_cvtepu64_ps
   // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.128

>From 2e1a427518dc5dfde8e889fc112bf3e8351fa39f Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 16:56:28 -0400
Subject: [PATCH 13/30] _mm256_cvtepi64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 1b2e6674b6168..df181c3e3f7fc 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -521,8 +521,8 @@ _mm_maskz_cvtepi64_ps (__mmask8 __U, __m128i __A) {
                 (__mmask8) __U);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_cvtepi64_ps (__m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_cvtepi64_ps(__m256i __A) {
   return (__m128)__builtin_convertvector((__v4di)__A, __v4sf);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 35b0bebd2fa89..c606b5702730d 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -510,6 +510,8 @@ __m128 test_mm256_cvtepi64_ps(__m256i __A) {
   return _mm256_cvtepi64_ps(__A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_cvtepi64_ps((__m256i)(__v4di){-1, -1, 2, 2}), 
-1.0f, -1.0f, 2.0f, 2.0f));
+
 __m128 test_mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_mask_cvtepi64_ps
   // CHECK: sitofp <4 x i64> %{{.*}} to <4 x float>

>From 4a5bdcc3ed35181fd6d7df4e639ce1521151e0b1 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:20:12 -0400
Subject: [PATCH 14/30] _mm256_mask_cvtepi64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index df181c3e3f7fc..ef8559e9f8390 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -526,8 +526,8 @@ _mm256_cvtepi64_ps(__m256i __A) {
   return (__m128)__builtin_convertvector((__v4di)__A, __v4sf);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_mask_cvtepi64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
   return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
                                              (__v4sf)_mm256_cvtepi64_ps(__A),
                                              (__v4sf)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index c606b5702730d..605ec0996c455 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -519,6 +519,8 @@ __m128 test_mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 
__U, __m256i __A) {
   return _mm256_mask_cvtepi64_ps(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_mask_cvtepi64_ps((__m128){-777.0f, -777.0f, 
-777.0f, -777.0f}, /*1010=*/0xa, (__m256i)(__v4di){-1, -1, 2, 2}), -777.0f, 
-1.0f, -777.0f, 2.0f));
+
 __m128 test_mm256_maskz_cvtepi64_ps(__mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_maskz_cvtepi64_ps
   // CHECK: sitofp <4 x i64> %{{.*}} to <4 x float>

>From f203d649862186a11f6a28a148630ec52a516c82 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:21:18 -0400
Subject: [PATCH 15/30] _mm256_maskz_cvtepi64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index ef8559e9f8390..331d9776df24f 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -533,8 +533,8 @@ _mm256_mask_cvtepi64_ps(__m128 __W, __mmask8 __U, __m256i 
__A) {
                                              (__v4sf)__W);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_maskz_cvtepi64_ps (__mmask8 __U, __m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_maskz_cvtepi64_ps(__mmask8 __U, __m256i __A) {
   return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
                                              (__v4sf)_mm256_cvtepi64_ps(__A),
                                              (__v4sf)_mm_setzero_ps());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 605ec0996c455..e1b1dd75d35f4 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -528,6 +528,8 @@ __m128 test_mm256_maskz_cvtepi64_ps(__mmask8 __U, __m256i 
__A) {
   return _mm256_maskz_cvtepi64_ps(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_maskz_cvtepi64_ps(/*1010=*/0xa, 
(__m256i)(__v4di){-1, -1, 2, 2}), 0.0f, -1.0f, 0.0f, 2.0f));
+
 __m128i test_mm_cvttpd_epi64(__m128d __A) {
   // CHECK-LABEL: test_mm_cvttpd_epi64
   // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.128

>From d06bb907ee62c0dfe37f2a65768f2dba3f44abc6 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:24:53 -0400
Subject: [PATCH 16/30] _mm256_cvtepu64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 331d9776df24f..3d3a09223cdc5 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -767,8 +767,8 @@ _mm_maskz_cvtepu64_ps (__mmask8 __U, __m128i __A) {
                 (__mmask8) __U);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_cvtepu64_ps (__m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_cvtepu64_ps(__m256i __A) {
   return (__m128)__builtin_convertvector((__v4du)__A, __v4sf);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index e1b1dd75d35f4..8a61e880b6183 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -750,6 +750,8 @@ __m128 test_mm256_cvtepu64_ps(__m256i __A) {
   return _mm256_cvtepu64_ps(__A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_cvtepu64_ps((__m256i)(__v4du){1, 1, 2, 2}), 
1.0f, 1.0f, 2.0f, 2.0f));
+
 __m128 test_mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_mask_cvtepu64_ps
   // CHECK: uitofp <4 x i64> %{{.*}} to <4 x float>

>From 5cc0637adcbcc193eff55ed0ce908e419c769603 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:26:43 -0400
Subject: [PATCH 17/30] _mm256_mask_cvtepu64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 3d3a09223cdc5..3b77395ceee10 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -772,8 +772,8 @@ _mm256_cvtepu64_ps(__m256i __A) {
   return (__m128)__builtin_convertvector((__v4du)__A, __v4sf);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_mask_cvtepu64_ps (__m128 __W, __mmask8 __U, __m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 __U, __m256i __A) {
   return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
                                              (__v4sf)_mm256_cvtepu64_ps(__A),
                                              (__v4sf)__W);
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 8a61e880b6183..32d2fea57f48d 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -759,6 +759,8 @@ __m128 test_mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 
__U, __m256i __A) {
   return _mm256_mask_cvtepu64_ps(__W, __U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_mask_cvtepu64_ps((__m128){-777.0f, -777.0f, 
-777.0f, -777.0f}, /*1010=*/0xa, (__m256i)(__v4du){1, 1, 2, 2}), -777.0f, 1.0f, 
-777.0f, 2.0f));
+
 __m128 test_mm256_maskz_cvtepu64_ps(__mmask8 __U, __m256i __A) {
   // CHECK-LABEL: test_mm256_maskz_cvtepu64_ps
   // CHECK: uitofp <4 x i64> %{{.*}} to <4 x float>

>From 357b4ab2656e91977f41ab64b9cb2c9a2261991b Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:31:38 -0400
Subject: [PATCH 18/30] _mm256_maskz_cvtepu64_ps

---
 clang/lib/Headers/avx512vldqintrin.h         | 4 ++--
 clang/test/CodeGen/X86/avx512vldq-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/clang/lib/Headers/avx512vldqintrin.h 
b/clang/lib/Headers/avx512vldqintrin.h
index 3b77395ceee10..206fe491b72bf 100644
--- a/clang/lib/Headers/avx512vldqintrin.h
+++ b/clang/lib/Headers/avx512vldqintrin.h
@@ -779,8 +779,8 @@ _mm256_mask_cvtepu64_ps(__m128 __W, __mmask8 __U, __m256i 
__A) {
                                              (__v4sf)__W);
 }
 
-static __inline__ __m128 __DEFAULT_FN_ATTRS256
-_mm256_maskz_cvtepu64_ps (__mmask8 __U, __m256i __A) {
+static __inline__ __m128 __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_maskz_cvtepu64_ps(__mmask8 __U, __m256i __A) {
   return (__m128)__builtin_ia32_selectps_128((__mmask8)__U,
                                              (__v4sf)_mm256_cvtepu64_ps(__A),
                                              (__v4sf)_mm_setzero_ps());
diff --git a/clang/test/CodeGen/X86/avx512vldq-builtins.c 
b/clang/test/CodeGen/X86/avx512vldq-builtins.c
index 32d2fea57f48d..802784472163d 100644
--- a/clang/test/CodeGen/X86/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vldq-builtins.c
@@ -768,6 +768,8 @@ __m128 test_mm256_maskz_cvtepu64_ps(__mmask8 __U, __m256i 
__A) {
   return _mm256_maskz_cvtepu64_ps(__U, __A); 
 }
 
+TEST_CONSTEXPR(match_m128(_mm256_maskz_cvtepu64_ps(/*1010=*/0xa, 
(__m256i)(__v4du){1, 1, 2, 2}), 0.0f, 1.0f, 0.0f, 2.0f));
+
 __m128d test_mm_range_pd(__m128d __A, __m128d __B) {
   // CHECK-LABEL: test_mm_range_pd
   // CHECK: @llvm.x86.avx512.mask.range.pd.128

>From 8bbacbae7ab2d42d781f9c7bcba9dcdf8ac39b37 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Thu, 4 Sep 2025 22:38:13 -0400
Subject: [PATCH 19/30] _mm_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 3 ++-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 3b10050a01f66..8c68b63de1d16 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -807,7 +807,8 @@ _mm256_maskz_cvttph_epi16(__mmask16 __U, __m256h __A) {
       (__v16hf)__A, (__v16hi)_mm256_setzero_si256(), (__mmask16)__U);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtepi16_ph(__m128i __A) {
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_cvtepi16_ph(__m128i __A) {
   return (__m128h) __builtin_convertvector((__v8hi)__A, __v8hf);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 828876e971dd2..7897314e34103 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1799,6 +1799,8 @@ __m128h test_mm_cvtepi16_ph(__m128i A) {
   return _mm_cvtepi16_ph(A);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_cvtepi16_ph((__m128i)(__v8hi){1, 1, 2, 2, 4, 4, 
8, 8}), 1.0, 1.0, 2.0, 2.0, 4.0, 4.0, 8.0, 8.0));
+
 __m128h test_mm_mask_cvtepi16_ph(__m128h A, __mmask8 B, __m128i C) {
   // CHECK-LABEL: test_mm_mask_cvtepi16_ph
   // CHECK: %{{.*}} = sitofp <8 x i16> %{{.*}} to <8 x half>

>From 7886cd15834be1b19b6723a4431d7dcf45b73a6b Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:45:57 -0400
Subject: [PATCH 20/30] _mm_mask_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 8c68b63de1d16..7fb3e7a8cd83e 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -812,7 +812,7 @@ _mm_cvtepi16_ph(__m128i __A) {
   return (__m128h) __builtin_convertvector((__v8hi)__A, __v8hf);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
 _mm_mask_cvtepi16_ph(__m128h __W, __mmask8 __U, __m128i __A) {
   return (__m128h)__builtin_ia32_selectph_128(
       (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)__W);
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 7897314e34103..0c9522af1817b 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1807,6 +1807,8 @@ __m128h test_mm_mask_cvtepi16_ph(__m128h A, __mmask8 B, 
__m128i C) {
   return _mm_mask_cvtepi16_ph(A, B, C);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_mask_cvtepi16_ph(_mm_set1_ph(-777.0), /*1001 
0011=*/0x93, (__m128i)(__v8hi){1, 1, 2, 2, 4, 4, 8, 8}), 1.0, 1.0, -777.0, 
-777.0, 4.0, -777.0, -777.0, 8.0));
+
 __m128h test_mm_maskz_cvtepi16_ph(__mmask8 A, __m128i B) {
   // CHECK-LABEL: test_mm_maskz_cvtepi16_ph
   // CHECK: %{{.*}} = sitofp <8 x i16> %{{.*}} to <8 x half>

>From b9021daf4149947964af5082a944672fbf841f33 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:47:19 -0400
Subject: [PATCH 21/30] _mm_maskz_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 7fb3e7a8cd83e..8188cd6ee4de6 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -818,7 +818,7 @@ _mm_mask_cvtepi16_ph(__m128h __W, __mmask8 __U, __m128i 
__A) {
       (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)__W);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
 _mm_maskz_cvtepi16_ph(__mmask8 __U, __m128i __A) {
   return (__m128h)__builtin_ia32_selectph_128(
       (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)_mm_setzero_ph());
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 0c9522af1817b..d6be5ba6b58f7 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1815,6 +1815,8 @@ __m128h test_mm_maskz_cvtepi16_ph(__mmask8 A, __m128i B) {
   return _mm_maskz_cvtepi16_ph(A, B);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_maskz_cvtepi16_ph(/*1001 0011=*/0x93, 
(__m128i)(__v8hi){1, 1, 2, 2, 4, 4, 8, 8}), 1.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 
8.0));
+
 __m256h test_mm256_cvtepi16_ph(__m256i A) {
   // CHECK-LABEL: test_mm256_cvtepi16_ph
   // CHECK: %{{.*}} = sitofp <16 x i16> %{{.*}} to <16 x half>

>From 2e912c9c3a38614db7d23c2e3e1d0428c2c867c3 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:49:39 -0400
Subject: [PATCH 22/30] _mm_set1_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 3 ++-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 8188cd6ee4de6..e8568f494a096 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -46,7 +46,8 @@ static __inline__ __m128h __DEFAULT_FN_ATTRS128 
_mm_set_sh(_Float16 __h) {
   return __extension__(__m128h){__h, 0, 0, 0, 0, 0, 0, 0};
 }
 
-static __inline __m128h __DEFAULT_FN_ATTRS128 _mm_set1_ph(_Float16 __h) {
+static __inline __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_set1_ph(_Float16 __h) {
   return (__m128h)(__v8hf){__h, __h, __h, __h, __h, __h, __h, __h};
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index d6be5ba6b58f7..afcd7fd2c9e48 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -50,6 +50,8 @@ __m128h test_mm_set1_ph(_Float16 h) {
   return _mm_set1_ph(h);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_set1_ph(-777.0), -777.0, -777.0, -777.0, 
-777.0, -777.0, -777.0, -777.0, -777.0));
+
 __m256h test_mm256_set1_ph(_Float16 h) {
   // CHECK-LABEL: test_mm256_set1_ph
   // CHECK: insertelement <16 x half> {{.*}}, i32 0

>From 24b889895a014f1fb47ef7f5f3f3223d355615a1 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:52:37 -0400
Subject: [PATCH 23/30] _mm_cvtepu16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 3 ++-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index e8568f494a096..2e44661c1e79e 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -913,7 +913,8 @@ _mm256_maskz_cvttph_epu16(__mmask16 __U, __m256h __A) {
       (__v16hf)__A, (__v16hu)_mm256_setzero_si256(), (__mmask16)__U);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128 _mm_cvtepu16_ph(__m128i __A) {
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
+_mm_cvtepu16_ph(__m128i __A) {
   return (__m128h) __builtin_convertvector((__v8hu)__A, __v8hf);
 }
 
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index afcd7fd2c9e48..f4f53353906b2 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1915,6 +1915,8 @@ __m128h test_mm_cvtepu16_ph(__m128i A) {
   return _mm_cvtepu16_ph(A);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_cvtepu16_ph((__m128i)(__v8hu){1, 1, 2, 2, 4, 4, 
8, 8}), 1.0, 1.0, 2.0, 2.0, 4.0, 4.0, 8.0, 8.0));
+
 __m128h test_mm_mask_cvtepu16_ph(__m128h A, __mmask8 B, __m128i C) {
   // CHECK-LABEL: test_mm_mask_cvtepu16_ph
   // CHECK: %{{.*}} = uitofp <8 x i16> %{{.*}} to <8 x half>

>From 626ef1b2b6cf345ebe3660b03ba8661497061914 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:53:36 -0400
Subject: [PATCH 24/30] _mm_mask_cvtepu16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 2e44661c1e79e..169d8a7d48db6 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -918,7 +918,7 @@ _mm_cvtepu16_ph(__m128i __A) {
   return (__m128h) __builtin_convertvector((__v8hu)__A, __v8hf);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
 _mm_mask_cvtepu16_ph(__m128h __W, __mmask8 __U, __m128i __A) {
   return (__m128h)__builtin_ia32_selectph_128(
       (__mmask8)__U, (__v8hf)_mm_cvtepu16_ph(__A), (__v8hf)__W);
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index f4f53353906b2..839c00e426e6b 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1923,6 +1923,8 @@ __m128h test_mm_mask_cvtepu16_ph(__m128h A, __mmask8 B, 
__m128i C) {
   return _mm_mask_cvtepu16_ph(A, B, C);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_mask_cvtepu16_ph(_mm_set1_ph(-777.0), /*1001 
0011=*/0x93, (__m128i)(__v8hu){1, 1, 2, 2, 4, 4, 8, 8}), 1.0, 1.0, -777.0, 
-777.0, 4.0, -777.0, -777.0, 8.0));
+
 __m128h test_mm_maskz_cvtepu16_ph(__mmask8 A, __m128i B) {
   // CHECK-LABEL: test_mm_maskz_cvtepu16_ph
   // CHECK: %{{.*}} = uitofp <8 x i16> %{{.*}} to <8 x half>

>From 30c5f9cabdf58af66002c4a74ec4f4ef8da4e447 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 07:54:39 -0400
Subject: [PATCH 25/30] _mm_maskz_cvtepu16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 169d8a7d48db6..c8bd0d977bc5a 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -924,7 +924,7 @@ _mm_mask_cvtepu16_ph(__m128h __W, __mmask8 __U, __m128i 
__A) {
       (__mmask8)__U, (__v8hf)_mm_cvtepu16_ph(__A), (__v8hf)__W);
 }
 
-static __inline__ __m128h __DEFAULT_FN_ATTRS128
+static __inline__ __m128h __DEFAULT_FN_ATTRS128_CONSTEXPR
 _mm_maskz_cvtepu16_ph(__mmask8 __U, __m128i __A) {
   return (__m128h)__builtin_ia32_selectph_128(
       (__mmask8)__U, (__v8hf)_mm_cvtepu16_ph(__A), (__v8hf)_mm_setzero_ph());
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 839c00e426e6b..d9e2be15ac9cb 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1931,6 +1931,8 @@ __m128h test_mm_maskz_cvtepu16_ph(__mmask8 A, __m128i B) {
   return _mm_maskz_cvtepu16_ph(A, B);
 }
 
+TEST_CONSTEXPR(match_m128h(_mm_maskz_cvtepu16_ph(/*1001 0011=*/0x93, 
(__m128i)(__v8hu){1, 1, 2, 2, 4, 4, 8, 8}), 1.0, 1.0, 0.0, 0.0, 4.0, 0.0, 0.0, 
8.0));
+
 __m256h test_mm256_cvtepu16_ph(__m256i A) {
   // CHECK-LABEL: test_mm256_cvtepu16_ph
   // CHECK: %{{.*}} = uitofp <16 x i16> %{{.*}} to <16 x half>

>From 294330c44944ed73af5935a640ad87fd392f8611 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 08:04:41 -0400
Subject: [PATCH 26/30] _mm256_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index c8bd0d977bc5a..1bff3f96a4868 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -825,7 +825,7 @@ _mm_maskz_cvtepi16_ph(__mmask8 __U, __m128i __A) {
       (__mmask8)__U, (__v8hf)_mm_cvtepi16_ph(__A), (__v8hf)_mm_setzero_ph());
 }
 
-static __inline__ __m256h __DEFAULT_FN_ATTRS256
+static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
 _mm256_cvtepi16_ph(__m256i __A) {
   return (__m256h) __builtin_convertvector((__v16hi)__A, __v16hf);
 }
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index d9e2be15ac9cb..fd6772a4531f4 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1825,6 +1825,8 @@ __m256h test_mm256_cvtepi16_ph(__m256i A) {
   return _mm256_cvtepi16_ph(A);
 }
 
+TEST_CONSTEXPR(match_m256h(_mm256_cvtepi16_ph((__m256i)(__v16hi){-1, -1, 2, 2, 
-4, -4, 8, 8, -16, -16, 32, 32, -64, -64, 128, 128}), -1.0, -1.0, 2.0, 2.0, 
-4.0, -4.0, 8.0, 8.0, -16.0, -16.0, 32.0, 32.0, -64.0, -64.0, 128.0, 128.0));
+
 __m256h test_mm256_mask_cvtepi16_ph(__m256h A, __mmask16 B, __m256i C) {
   // CHECK-LABEL: test_mm256_mask_cvtepi16_ph
   // CHECK: %{{.*}} = sitofp <16 x i16> %{{.*}} to <16 x half>

>From 373bceda55b1527ddebd3c96e2ba683e098996fd Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 08:13:12 -0400
Subject: [PATCH 27/30] _mm256_mask_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index 1bff3f96a4868..d5d23ffd625a3 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -830,7 +830,7 @@ _mm256_cvtepi16_ph(__m256i __A) {
   return (__m256h) __builtin_convertvector((__v16hi)__A, __v16hf);
 }
 
-static __inline__ __m256h __DEFAULT_FN_ATTRS256
+static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
 _mm256_mask_cvtepi16_ph(__m256h __W, __mmask16 __U, __m256i __A) {
   return (__m256h)__builtin_ia32_selectph_256(
       (__mmask16)__U, (__v16hf)_mm256_cvtepi16_ph(__A), (__v16hf)__W);
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index fd6772a4531f4..4ba17347e39b4 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1833,6 +1833,8 @@ __m256h test_mm256_mask_cvtepi16_ph(__m256h A, __mmask16 
B, __m256i C) {
   return _mm256_mask_cvtepi16_ph(A, B, C);
 }
 
+TEST_CONSTEXPR(match_m256h(_mm256_mask_cvtepi16_ph(_mm256_set1_ph(-777.0), 
/*1101 0101 1101 1100*/0xd5dc, (__m256i)(__v16hi){-1, -1, 2, 2, -4, -4, 8, 8, 
-16, -16, 32, 32, -64, -64, 128, 128}), -777.0, -777.0, 2.0, 2.0, -4.0, -777.0, 
8.0, 8.0, -16.0, -777.0, 32.0, -777.0, -64.0, -777.0, 128.0, 128.0));
+
 __m256h test_mm256_maskz_cvtepi16_ph(__mmask16 A, __m256i B) {
   // CHECK-LABEL: test_mm256_maskz_cvtepi16_ph
   // CHECK: %{{.*}} = sitofp <16 x i16> %{{.*}} to <16 x half>

>From 8310f5924251d6e07c16f075c1879911476f5d73 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Fri, 5 Sep 2025 08:23:19 -0400
Subject: [PATCH 28/30] _mm256_set1_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 3 ++-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index d5d23ffd625a3..b54d5e7c81e78 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -51,7 +51,8 @@ _mm_set1_ph(_Float16 __h) {
   return (__m128h)(__v8hf){__h, __h, __h, __h, __h, __h, __h, __h};
 }
 
-static __inline __m256h __DEFAULT_FN_ATTRS256 _mm256_set1_ph(_Float16 __h) {
+static __inline __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
+_mm256_set1_ph(_Float16 __h) {
   return (__m256h)(__v16hf){__h, __h, __h, __h, __h, __h, __h, __h,
                             __h, __h, __h, __h, __h, __h, __h, __h};
 }
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 4ba17347e39b4..14e381200a0f8 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -73,6 +73,8 @@ __m256h test_mm256_set1_ph(_Float16 h) {
   return _mm256_set1_ph(h);
 }
 
+TEST_CONSTEXPR(match_m256h(_mm256_set1_ph(-777.0), -777.0, -777.0, -777.0, 
-777.0, -777.0, -777.0, -777.0, -777.0, -777.0, -777.0, -777.0, -777.0, -777.0, 
-777.0, -777.0, -777.0));
+
 __m128h test_mm_set1_pch(_Float16 _Complex h) {
   // CHECK-LABEL: test_mm_set1_pch
   // CHECK: insertelement <4 x float> {{.*}}, i32 0

>From 4bf0e6c284931a6983e13ad7d4907ffe8d1bfa8c Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Sat, 6 Sep 2025 09:01:25 -0400
Subject: [PATCH 29/30] minor

---
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 14e381200a0f8..3efb507132ae1 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1835,7 +1835,7 @@ __m256h test_mm256_mask_cvtepi16_ph(__m256h A, __mmask16 
B, __m256i C) {
   return _mm256_mask_cvtepi16_ph(A, B, C);
 }
 
-TEST_CONSTEXPR(match_m256h(_mm256_mask_cvtepi16_ph(_mm256_set1_ph(-777.0), 
/*1101 0101 1101 1100*/0xd5dc, (__m256i)(__v16hi){-1, -1, 2, 2, -4, -4, 8, 8, 
-16, -16, 32, 32, -64, -64, 128, 128}), -777.0, -777.0, 2.0, 2.0, -4.0, -777.0, 
8.0, 8.0, -16.0, -777.0, 32.0, -777.0, -64.0, -777.0, 128.0, 128.0));
+TEST_CONSTEXPR(match_m256h(_mm256_mask_cvtepi16_ph(_mm256_set1_ph(-777.0), 
/*1101 0101 1101 1100=*/0xd5dc, (__m256i)(__v16hi){-1, -1, 2, 2, -4, -4, 8, 8, 
-16, -16, 32, 32, -64, -64, 128, 128}), -777.0, -777.0, 2.0, 2.0, -4.0, -777.0, 
8.0, 8.0, -16.0, -777.0, 32.0, -777.0, -64.0, -777.0, 128.0, 128.0));
 
 __m256h test_mm256_maskz_cvtepi16_ph(__mmask16 A, __m256i B) {
   // CHECK-LABEL: test_mm256_maskz_cvtepi16_ph

>From 6c5dc4e628875d817753af9a8c464e7962955415 Mon Sep 17 00:00:00 2001
From: moorabbit <moorab...@proton.me>
Date: Sat, 6 Sep 2025 09:07:23 -0400
Subject: [PATCH 30/30] _mm256_maskz_cvtepi16_ph

---
 clang/lib/Headers/avx512vlfp16intrin.h         | 2 +-
 clang/test/CodeGen/X86/avx512vlfp16-builtins.c | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/clang/lib/Headers/avx512vlfp16intrin.h 
b/clang/lib/Headers/avx512vlfp16intrin.h
index b54d5e7c81e78..f174ddfa38ed5 100644
--- a/clang/lib/Headers/avx512vlfp16intrin.h
+++ b/clang/lib/Headers/avx512vlfp16intrin.h
@@ -837,7 +837,7 @@ _mm256_mask_cvtepi16_ph(__m256h __W, __mmask16 __U, __m256i 
__A) {
       (__mmask16)__U, (__v16hf)_mm256_cvtepi16_ph(__A), (__v16hf)__W);
 }
 
-static __inline__ __m256h __DEFAULT_FN_ATTRS256
+static __inline__ __m256h __DEFAULT_FN_ATTRS256_CONSTEXPR
 _mm256_maskz_cvtepi16_ph(__mmask16 __U, __m256i __A) {
   return (__m256h)__builtin_ia32_selectph_256((__mmask16)__U,
                                               (__v16hf)_mm256_cvtepi16_ph(__A),
diff --git a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c 
b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
index 3efb507132ae1..fd6ea8fe6056d 100644
--- a/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
+++ b/clang/test/CodeGen/X86/avx512vlfp16-builtins.c
@@ -1843,6 +1843,8 @@ __m256h test_mm256_maskz_cvtepi16_ph(__mmask16 A, __m256i 
B) {
   return _mm256_maskz_cvtepi16_ph(A, B);
 }
 
+TEST_CONSTEXPR(match_m256h(_mm256_maskz_cvtepi16_ph(/*1101 0101 1101 
1100=*/0xd5dc, (__m256i)(__v16hi){-1, -1, 2, 2, -4, -4, 8, 8, -16, -16, 32, 32, 
-64, -64, 128, 128}), 0.0, 0.0, 2.0, 2.0, -4.0, 0.0, 8.0, 8.0, -16.0, 0.0, 
32.0, 0.0, -64.0, 0.0, 128.0, 128.0));
+
 __m128i test_mm_cvtph_epu16(__m128h A) {
   // CHECK-LABEL: test_mm_cvtph_epu16
   // CHECK: @llvm.x86.avx512fp16.mask.vcvtph2uw.128

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

Reply via email to