Add missing testcases.

gcc/testsuite/ChangeLog:

        * gcc.target/i386/avx10_2-512-satcvt-1.c: Add testcase.
        * gcc.target/i386/avx10_2-512-vcvtbf162ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvtbf162iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttbf162ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttbf162iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c: Ditto
        * gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c: Ditto
        * gcc.target/i386/avx10_2-satcvt-1.c: Ditto
        * gcc.target/i386/avx10_2-vcvttsd2sis-2.c: Ditto
        * gcc.target/i386/avx10_2-vcvttsd2usis-2.c: Ditto
        * gcc.target/i386/avx10_2-vcvttss2sis-2.c: Ditto
        * gcc.target/i386/avx10_2-vcvttss2usis-2.c: Ditto
---
 .../gcc.target/i386/avx10_2-512-satcvt-1.c    | 104 +++++++++++++--
 .../i386/avx10_2-512-vcvtph2ibs-2.c           |  21 ++-
 .../i386/avx10_2-512-vcvtph2iubs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvtps2ibs-2.c           |  21 ++-
 .../i386/avx10_2-512-vcvtps2iubs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttpd2dqs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttpd2qqs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttpd2udqs-2.c         |  21 ++-
 .../i386/avx10_2-512-vcvttpd2uqqs-2.c         |  21 ++-
 .../i386/avx10_2-512-vcvttph2ibs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttph2iubs-2.c         |  10 +-
 .../i386/avx10_2-512-vcvttps2dqs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttps2ibs-2.c          |  21 ++-
 .../i386/avx10_2-512-vcvttps2iubs-2.c         |  21 ++-
 .../i386/avx10_2-512-vcvttps2qqs-2.c          |  22 +++-
 .../i386/avx10_2-512-vcvttps2udqs-2.c         |  21 ++-
 .../i386/avx10_2-512-vcvttps2uqqs-2.c         |  21 ++-
 .../gcc.target/i386/avx10_2-satcvt-1.c        | 120 ++++++++++++++++--
 .../gcc.target/i386/avx10_2-vcvtps2iubs-2.c   |  16 +++
 .../gcc.target/i386/avx10_2-vcvttsd2sis-2.c   |  24 ++++
 .../gcc.target/i386/avx10_2-vcvttsd2usis-2.c  |  24 ++++
 .../gcc.target/i386/avx10_2-vcvttss2sis-2.c   |  24 ++++
 .../gcc.target/i386/avx10_2-vcvttss2usis-2.c  |  24 ++++
 23 files changed, 565 insertions(+), 97 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/i386/avx10_2-vcvtps2iubs-2.c

diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-satcvt-1.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-satcvt-1.c
index 7f2f7caf4db..bf10ac2769c 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-satcvt-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-satcvt-1.c
@@ -1,27 +1,43 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=x86-64-v3 -mavx10.2-512" } */
-/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtbf162ibs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
@@ -36,27 +52,51 @@
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
@@ -77,34 +117,58 @@ volatile __mmask32 m32;
 void extern
 avx10_2_test (void)
 {
+  xi = _mm512_ipcvtph_epi8 (xh);
+  xi = _mm512_mask_ipcvtph_epi8 (xi, m32, xh);
+  xi = _mm512_maskz_ipcvtph_epi8 (m32, xh);
   xi = _mm512_ipcvt_roundph_epi8 (xh, 4);
   xi = _mm512_mask_ipcvt_roundph_epi8 (xi, m32, xh, 8);
   xi = _mm512_maskz_ipcvt_roundph_epi8 (m32, xh, 11);
 
+  xi = _mm512_ipcvtph_epu8 (xh);
+  xi = _mm512_mask_ipcvtph_epu8 (xi, m32, xh);
+  xi = _mm512_maskz_ipcvtph_epu8 (m32, xh);
   xi = _mm512_ipcvt_roundph_epu8 (xh, 4);
   xi = _mm512_mask_ipcvt_roundph_epu8 (xi, m32, xh, 8);
   xi = _mm512_maskz_ipcvt_roundph_epu8 (m32, xh, 11);
 
+  xi = _mm512_ipcvttph_epi8 (xh);
+  xi = _mm512_mask_ipcvttph_epi8 (xi, m32, xh);
+  xi = _mm512_maskz_ipcvttph_epi8 (m32, xh);
   xi = _mm512_ipcvtt_roundph_epi8 (xh, 4);
   xi = _mm512_mask_ipcvtt_roundph_epi8 (xi, m32, xh, 8);
   xi = _mm512_maskz_ipcvtt_roundph_epi8 (m32, xh, 8);
 
+  xi = _mm512_ipcvttph_epu8 (xh);
+  xi = _mm512_mask_ipcvttph_epu8 (xi, m32, xh);
+  xi = _mm512_maskz_ipcvttph_epu8 (m32, xh);
   xi = _mm512_ipcvtt_roundph_epu8 (xh, 4);
   xi = _mm512_mask_ipcvtt_roundph_epu8 (xi, m32, xh, 8);
   xi = _mm512_maskz_ipcvtt_roundph_epu8 (m32, xh, 8);
 
+  xi = _mm512_ipcvtps_epi8 (x);
+  xi = _mm512_mask_ipcvtps_epi8 (xi, m16, x);
+  xi = _mm512_maskz_ipcvtps_epi8 (m16, x);
   xi = _mm512_ipcvt_roundps_epi8 (x, 4);
   xi = _mm512_mask_ipcvt_roundps_epi8 (xi, m16, x, 8);
   xi = _mm512_maskz_ipcvt_roundps_epi8 (m16, x, 11);
 
+  xi = _mm512_ipcvtps_epu8 (x);
+  xi = _mm512_mask_ipcvtps_epu8 (xi, m16, x);
+  xi = _mm512_maskz_ipcvtps_epu8 (m16, x);
   xi = _mm512_ipcvt_roundps_epu8 (x, 4);
   xi = _mm512_mask_ipcvt_roundps_epu8 (xi, m16, x, 8);
   xi = _mm512_maskz_ipcvt_roundps_epu8 (m16, x, 11);
 
+  xi = _mm512_ipcvttps_epi8 (x);
+  xi = _mm512_mask_ipcvttps_epi8 (xi, m16, x);
+  xi = _mm512_maskz_ipcvttps_epi8 (m16, x);
   xi = _mm512_ipcvtt_roundps_epi8 (x, 4);
   xi = _mm512_mask_ipcvtt_roundps_epi8 (xi, m16, x, 8);
   xi = _mm512_maskz_ipcvtt_roundps_epi8 (m16, x, 8);
 
+  xi = _mm512_ipcvttps_epu8 (x);
+  xi = _mm512_mask_ipcvttps_epu8 (xi, m16, x);
+  xi = _mm512_maskz_ipcvttps_epu8 (m16, x);
   xi = _mm512_ipcvtt_roundps_epu8 (x, 4);
   xi = _mm512_mask_ipcvtt_roundps_epu8 (xi, m16, x, 8);
   xi = _mm512_maskz_ipcvtt_roundps_epu8 (m16, x, 8);
@@ -125,34 +189,58 @@ avx10_2_test (void)
   xi = _mm512_mask_ipcvttbf16_epu8 (xi, m32, xbh);
   xi = _mm512_maskz_ipcvttbf16_epu8 (m32, xbh);
 
+  hxi = _mm512_cvttspd_epi32 (xd);
+  hxi = _mm512_mask_cvttspd_epi32 (hxi, m8, xd);
+  hxi = _mm512_maskz_cvttspd_epi32 (m8, xd);
   hxi = _mm512_cvtts_roundpd_epi32 (xd, 8);
   hxi = _mm512_mask_cvtts_roundpd_epi32 (hxi, m8, xd, 8);
   hxi = _mm512_maskz_cvtts_roundpd_epi32 (m8, xd, 8);
 
+  xi = _mm512_cvttspd_epi64 (xd);
+  xi = _mm512_mask_cvttspd_epi64 (xi, m8, xd);
+  xi = _mm512_maskz_cvttspd_epi64 (m8, xd);
   xi = _mm512_cvtts_roundpd_epi64 (xd, 8);
   xi = _mm512_mask_cvtts_roundpd_epi64 (xi, m8, xd, 8);
   xi = _mm512_maskz_cvtts_roundpd_epi64 (m8, xd, 8);
 
+  hxi = _mm512_cvttspd_epu32 (xd);
+  hxi = _mm512_mask_cvttspd_epu32 (hxi, m8, xd);
+  hxi = _mm512_maskz_cvttspd_epu32 (m8, xd);
   hxi = _mm512_cvtts_roundpd_epu32 (xd, 8);
   hxi = _mm512_mask_cvtts_roundpd_epu32 (hxi, m8, xd, 8);
   hxi = _mm512_maskz_cvtts_roundpd_epu32 (m8, xd, 8);
 
+  xi = _mm512_cvttspd_epu64 (xd);
+  xi = _mm512_mask_cvttspd_epu64 (xi, m8, xd);
+  xi = _mm512_maskz_cvttspd_epu64 (m8, xd);
   xi = _mm512_cvtts_roundpd_epu64 (xd, 8);
   xi = _mm512_mask_cvtts_roundpd_epu64 (xi, m8, xd, 8);
   xi = _mm512_maskz_cvtts_roundpd_epu64 (m8, xd, 8);
 
+  xi = _mm512_cvttsps_epi32 (x);
+  xi = _mm512_mask_cvttsps_epi32 (xi, m16, x);
+  xi = _mm512_maskz_cvttsps_epi32 (m16, x);
   xi = _mm512_cvtts_roundps_epi32 (x, 8);
   xi = _mm512_mask_cvtts_roundps_epi32 (xi, m16, x, 8);
   xi = _mm512_maskz_cvtts_roundps_epi32 (m16, x, 8);
 
+  xi = _mm512_cvttsps_epi64 (hx);
+  xi = _mm512_mask_cvttsps_epi64 (xi, m8, hx);
+  xi = _mm512_maskz_cvttsps_epi64 (m8, hx);
   xi = _mm512_cvtts_roundps_epi64 (hx, 8);
   xi = _mm512_mask_cvtts_roundps_epi64 (xi, m8, hx, 8);
   xi = _mm512_maskz_cvtts_roundps_epi64 (m8, hx, 8);
 
+  xi = _mm512_cvttsps_epu32 (x);
+  xi = _mm512_mask_cvttsps_epu32 (xi, m16, x);
+  xi = _mm512_maskz_cvttsps_epu32 (m16, x);
   xi = _mm512_cvtts_roundps_epu32 (x, 8);
   xi = _mm512_mask_cvtts_roundps_epu32 (xi, m16, x, 8);
   xi = _mm512_maskz_cvtts_roundps_epu32 (m16, x, 8);
 
+  xi = _mm512_cvttsps_epu64 (hx);
+  xi = _mm512_mask_cvttsps_epu64 (xi, m8, hx);
+  xi = _mm512_maskz_cvttsps_epu64 (m8, hx);
   xi = _mm512_cvtts_roundps_epu64 (hx, 8);
   xi = _mm512_mask_cvtts_roundps_epu64 (xi, m8, hx, 8);
   xi = _mm512_maskz_cvtts_roundps_epu64 (m8, hx, 8);
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c
index d8819f7d2c7..d9ca3eff66d 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2ibs-2.c
@@ -49,17 +49,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvtph_epi8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvtph_epi8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvtph_epi8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvt_roundph_epi8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvt_roundph_epi8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvt_roundph_epi8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
     abort ();
@@ -71,4 +81,5 @@ TEST (void)
   MASK_ZERO (i_w) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c
index 877f6f5e2bd..cd6aaa40362 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtph2iubs-2.c
@@ -49,17 +49,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvtph_epu8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvtph_epu8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvtph_epu8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvt_roundph_epu8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvt_roundph_epu8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvt_roundph_epu8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
     abort ();
@@ -71,4 +81,5 @@ TEST (void)
   MASK_ZERO (i_w) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c
index 3ebc9e79e38..aaa1a6487d6 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2ibs-2.c
@@ -50,17 +50,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvtps_epi8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvtps_epi8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvtps_epi8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvt_roundps_epi8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvt_roundps_epi8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvt_roundps_epi8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
     abort ();
@@ -72,4 +82,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c
index 9e75076b5da..274805a50fa 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvtps2iubs-2.c
@@ -48,17 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvtps_epu8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvtps_epu8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvtps_epu8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvt_roundps_epu8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvt_roundps_epu8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvt_roundps_epu8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
     abort ();
@@ -70,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c
index d885800ed7a..fd1a2b28b59 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2dqs-2.c
@@ -48,17 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttspd_epi32) (s.x);
   res2.x = INTRINSIC (_mask_cvttspd_epi32) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttspd_epi32) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundpd_epi32) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundpd_epi32) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundpd_epi32) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN_HALF, i_d) (res1, res_ref))
     abort ();
@@ -70,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SRC_SIZE);
   if (UNION_CHECK (AVX512F_LEN_HALF, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c
index 3fa451bb14c..a9943e48d9f 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2qqs-2.c
@@ -47,17 +47,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttspd_epi64) (s.x);
   res2.x = INTRINSIC (_mask_cvttspd_epi64) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttspd_epi64) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_q) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_q) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundpd_epi64) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundpd_epi64) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundpd_epi64) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_q) (res1, res_ref))
     abort ();
@@ -69,4 +79,5 @@ TEST (void)
   MASK_ZERO (i_q) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_q) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c
index 3d2f2ff44df..ac392880081 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2udqs-2.c
@@ -48,17 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttspd_epu32) (s.x);
   res2.x = INTRINSIC (_mask_cvttspd_epu32) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttspd_epu32) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_ud) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_ud) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_ud) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_ud) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN_HALF, i_ud) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundpd_epu32) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundpd_epu32) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundpd_epu32) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN_HALF, i_ud) (res1, res_ref))
     abort ();
@@ -70,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_ud) (res_ref, mask, SRC_SIZE);
   if (UNION_CHECK (AVX512F_LEN_HALF, i_ud) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c
index 3000297e5fb..346978b19af 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttpd2uqqs-2.c
@@ -47,17 +47,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttspd_epu64) (s.x);
   res2.x = INTRINSIC (_mask_cvttspd_epu64) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttspd_epu64) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_uq) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_uq) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundpd_epu64) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundpd_epu64) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundpd_epu64) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_uq) (res1, res_ref))
     abort ();
@@ -69,4 +79,5 @@ TEST (void)
   MASK_ZERO (i_uq) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_uq) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c
index 6e91c75e9e5..e50de960573 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2ibs-2.c
@@ -49,17 +49,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvttph_epi8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvttph_epi8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvttph_epi8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_w) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvtt_roundph_epi8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvtt_roundph_epi8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvtt_roundph_epi8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
     abort ();
@@ -71,4 +81,5 @@ TEST (void)
   MASK_ZERO (i_w) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
index 07f9c127518..07363565691 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttph2iubs-2.c
@@ -49,17 +49,16 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvttph_epu8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvttph_epu8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvttph_epu8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvtt_roundph_epu8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvtt_roundph_epu8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvtt_roundph_epu8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_w) (res1, res_ref))
     abort ();
@@ -71,4 +70,5 @@ TEST (void)
   MASK_ZERO (i_w) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_w) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c
index 568f0a3d2fc..302457ec591 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2dqs-2.c
@@ -47,17 +47,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttsps_epi32) (s.x);
   res2.x = INTRINSIC (_mask_cvttsps_epi32) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttsps_epi32) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundps_epi32) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundps_epi32) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundps_epi32) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
     abort ();
@@ -69,4 +79,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c
index b7b10303cdd..61c5bde541d 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2ibs-2.c
@@ -50,17 +50,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvttps_epi8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvttps_epi8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvttps_epi8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvtt_roundps_epi8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvtt_roundps_epi8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvtt_roundps_epi8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
     abort ();
@@ -72,4 +82,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c
index f689ab7eece..0fb0d5fe08b 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2iubs-2.c
@@ -48,17 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_ipcvttps_epu8) (s.x);
   res2.x = INTRINSIC (_mask_ipcvttps_epu8) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_ipcvttps_epu8) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_d) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_ipcvtt_roundps_epu8) (s.x, 8);
   res2.x = INTRINSIC (_mask_ipcvtt_roundps_epu8) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_ipcvtt_roundps_epu8) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_d) (res1, res_ref))
     abort ();
@@ -70,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_d) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_d) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c
index 6d0ba5fd1f8..2ff250e2424 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2qqs-2.c
@@ -48,18 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttsps_epi64) (s.x);
   res2.x = INTRINSIC (_mask_cvttsps_epi64) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttsps_epi64) (mask, s.x);
-#else
-  res1.x = INTRINSIC (_cvtts_roundps_epi64) (s.x, 8);
-  res2.x = INTRINSIC (_mask_cvtts_roundps_epi64) (res2.x, mask, s.x, 8);
-  res3.x = INTRINSIC (_maskz_cvtts_roundps_epi64) (mask, s.x, 8);
-#endif
 
   CALC (s.a, res_ref);
 
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_q) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_q) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_q) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
+  res1.x = INTRINSIC (_cvtts_roundps_epi64) (s.x, 8);
+  res2.x = INTRINSIC (_mask_cvtts_roundps_epi64) (res2.x, mask, s.x, 8);
+  res3.x = INTRINSIC (_maskz_cvtts_roundps_epi64) (mask, s.x, 8);
 
   if (UNION_CHECK (AVX512F_LEN, i_q) (res1, res_ref))
     abort ();
@@ -71,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_q) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_q) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c
index 513f8224716..ff0d016370d 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2udqs-2.c
@@ -47,17 +47,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttsps_epu32) (s.x);
   res2.x = INTRINSIC (_mask_cvttsps_epu32) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttsps_epu32) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_ud) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_ud) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_ud) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_ud) (res_ref, mask, SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_ud) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundps_epu32) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundps_epu32) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundps_epu32) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_ud) (res1, res_ref))
     abort ();
@@ -69,4 +79,5 @@ TEST (void)
   MASK_ZERO (i_ud) (res_ref, mask, SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_ud) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c
index 98d7ea81312..ef3019bb43f 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-512-vcvttps2uqqs-2.c
@@ -48,17 +48,27 @@ TEST (void)
   for (i = 0; i < SIZE; i++)
     res2.a[i] = DEFAULT_VALUE;
 
-#if AVX512F_LEN == 128
   res1.x = INTRINSIC (_cvttsps_epu64) (s.x);
   res2.x = INTRINSIC (_mask_cvttsps_epu64) (res2.x, mask, s.x);
   res3.x = INTRINSIC (_maskz_cvttsps_epu64) (mask, s.x);
-#else
+
+  CALC (s.a, res_ref);
+
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res1, res_ref))
+    abort ();
+
+  MASK_MERGE (i_uq) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res2, res_ref))
+    abort ();
+
+  MASK_ZERO (i_uq) (res_ref, mask, SRC_SIZE);
+  if (UNION_CHECK (AVX512F_LEN, i_uq) (res3, res_ref))
+    abort ();
+
+#if AVX512F_LEN != 128
   res1.x = INTRINSIC (_cvtts_roundps_epu64) (s.x, 8);
   res2.x = INTRINSIC (_mask_cvtts_roundps_epu64) (res2.x, mask, s.x, 8);
   res3.x = INTRINSIC (_maskz_cvtts_roundps_epu64) (mask, s.x, 8);
-#endif
-
-  CALC (s.a, res_ref);
 
   if (UNION_CHECK (AVX512F_LEN, i_uq) (res1, res_ref))
     abort ();
@@ -70,4 +80,5 @@ TEST (void)
   MASK_ZERO (i_uq) (res_ref, mask, SRC_SIZE);
   if (UNION_CHECK (AVX512F_LEN, i_uq) (res3, res_ref))
     abort ();
+#endif
 }
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-satcvt-1.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-satcvt-1.c
index 12649e62809..e30f958b89c 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-satcvt-1.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-satcvt-1.c
@@ -1,27 +1,43 @@
 /* { dg-do compile } */
 /* { dg-options "-O2 -march=x86-64-v3 -mavx10.2-256" } */
-/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2ibs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtph2iubs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttph2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2ibs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\{rn-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtps2iubs\[ 
\\t\]+\{rz-sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2ibs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
-/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 2  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2iubs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvtbf162ibs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
@@ -72,27 +88,51 @@
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\[^\{\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttbf162iubs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}\[^\n\r]*(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2dqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2udqsy\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttpd2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2dqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2qqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2udqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  } 
 } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[
 \\t\]+#)" 1  }  } */
@@ -120,10 +160,18 @@
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttps2uqqs\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%xmm\[0-9\]+\{%k\[0-9\]\}\{z\}(?:\n|\[ 
\\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttsd2sis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttsd2usis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttss2sis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttss2usis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttsd2sis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttsd2usis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttss2sis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
 /* { dg-final { scan-assembler-times "vcvttss2usis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%e.x+(?:\n|\[ \\t\]+#)" 1  }  } */
+/* { dg-final { scan-assembler-times "vcvttsd2sis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target { ! 
ia32 } } } } */
+/* { dg-final { scan-assembler-times "vcvttsd2usis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target { ! 
ia32 } } } } */
+/* { dg-final { scan-assembler-times "vcvttss2sis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target { ! 
ia32 } } } } */
+/* { dg-final { scan-assembler-times "vcvttss2usis\[ 
\\t\]+\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target { ! 
ia32 } } } } */
 /* { dg-final { scan-assembler-times "vcvttsd2sis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target 
{ ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "vcvttsd2usis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target 
{ ! ia32 } } } } */
 /* { dg-final { scan-assembler-times "vcvttss2sis\[ 
\\t\]+\{sae\}\[^\{\n\]*%xmm\[0-9\]+\[^\n\r]*%r.x+(?:\n|\[ \\t\]+#)" 1 { target 
{ ! ia32 } } } } */
@@ -151,34 +199,58 @@ volatile unsigned long long ull;
 void extern
 avx10_2_test (void)
 {
+  xi = _mm256_ipcvtph_epi8 (xh);
+  xi = _mm256_mask_ipcvtph_epi8 (xi, m16, xh);
+  xi = _mm256_maskz_ipcvtph_epi8 (m16, xh);
   xi = _mm256_ipcvt_roundph_epi8 (xh, 4);
   xi = _mm256_mask_ipcvt_roundph_epi8 (xi, m16, xh, 8);
   xi = _mm256_maskz_ipcvt_roundph_epi8 (m16, xh, 11);
 
+  xi = _mm256_ipcvtph_epu8 (xh);
+  xi = _mm256_mask_ipcvtph_epu8 (xi, m16, xh);
+  xi = _mm256_maskz_ipcvtph_epu8 (m16, xh);
   xi = _mm256_ipcvt_roundph_epu8 (xh, 4);
   xi = _mm256_mask_ipcvt_roundph_epu8 (xi, m16, xh, 8);
   xi = _mm256_maskz_ipcvt_roundph_epu8 (m16, xh, 11);
 
+  xi = _mm256_ipcvttph_epi8 (xh);
+  xi = _mm256_mask_ipcvttph_epi8 (xi, m16, xh);
+  xi = _mm256_maskz_ipcvttph_epi8 (m16, xh);
   xi = _mm256_ipcvtt_roundph_epi8 (xh, 4);
   xi = _mm256_mask_ipcvtt_roundph_epi8 (xi, m16, xh, 8);
   xi = _mm256_maskz_ipcvtt_roundph_epi8 (m16, xh, 8);
 
+  xi = _mm256_ipcvttph_epu8 (xh);
+  xi = _mm256_mask_ipcvttph_epu8 (xi, m16, xh);
+  xi = _mm256_maskz_ipcvttph_epu8 (m16, xh);
   xi = _mm256_ipcvtt_roundph_epu8 (xh, 4);
   xi = _mm256_mask_ipcvtt_roundph_epu8 (xi, m16, xh, 8);
   xi = _mm256_maskz_ipcvtt_roundph_epu8 (m16, xh, 8);
 
+  xi = _mm256_ipcvtps_epi8 (x);
+  xi = _mm256_mask_ipcvtps_epi8 (xi, m8, x);
+  xi = _mm256_maskz_ipcvtps_epi8 (m8, x);
   xi = _mm256_ipcvt_roundps_epi8 (x, 4);
   xi = _mm256_mask_ipcvt_roundps_epi8 (xi, m8, x, 8);
   xi = _mm256_maskz_ipcvt_roundps_epi8 (m8, x, 11);
 
+  xi = _mm256_ipcvtps_epu8 (x);
+  xi = _mm256_mask_ipcvtps_epu8 (xi, m8, x);
+  xi = _mm256_maskz_ipcvtps_epu8 (m8, x);
   xi = _mm256_ipcvt_roundps_epu8 (x, 4);
   xi = _mm256_mask_ipcvt_roundps_epu8 (xi, m8, x, 8);
   xi = _mm256_maskz_ipcvt_roundps_epu8 (m8, x, 11);
 
+  xi = _mm256_ipcvttps_epi8 (x);
+  xi = _mm256_mask_ipcvttps_epi8 (xi, m8, x);
+  xi = _mm256_maskz_ipcvttps_epi8 (m8, x);
   xi = _mm256_ipcvtt_roundps_epi8 (x, 4);
   xi = _mm256_mask_ipcvtt_roundps_epi8 (xi, m8, x, 8);
   xi = _mm256_maskz_ipcvtt_roundps_epi8 (m8, x, 8);
 
+  xi = _mm256_ipcvttps_epu8 (x);
+  xi = _mm256_mask_ipcvttps_epu8 (xi, m8, x);
+  xi = _mm256_maskz_ipcvttps_epu8 (m8, x);
   xi = _mm256_ipcvtt_roundps_epu8 (x, 4);
   xi = _mm256_mask_ipcvtt_roundps_epu8 (xi, m8, x, 8);
   xi = _mm256_maskz_ipcvtt_roundps_epu8 (m8, x, 8);
@@ -247,34 +319,58 @@ avx10_2_test (void)
   hxi = _mm_mask_ipcvttbf16_epu8 (hxi, m8, hxbh);
   hxi = _mm_maskz_ipcvttbf16_epu8 (m8, hxbh);
 
+  hxi = _mm256_cvttspd_epi32 (xd);
+  hxi = _mm256_mask_cvttspd_epi32 (hxi, m8, xd);
+  hxi = _mm256_maskz_cvttspd_epi32 (m8, xd);
   hxi = _mm256_cvtts_roundpd_epi32 (xd, 8);
   hxi = _mm256_mask_cvtts_roundpd_epi32 (hxi, m8, xd, 8);
   hxi = _mm256_maskz_cvtts_roundpd_epi32 (m8, xd, 8);
 
+  xi = _mm256_cvttspd_epi64 (xd);
+  xi = _mm256_mask_cvttspd_epi64 (xi, m8, xd);
+  xi = _mm256_maskz_cvttspd_epi64 (m8, xd);
   xi = _mm256_cvtts_roundpd_epi64 (xd, 8);
   xi = _mm256_mask_cvtts_roundpd_epi64 (xi, m8, xd, 8);
   xi = _mm256_maskz_cvtts_roundpd_epi64 (m8, xd, 8);
 
+  hxi = _mm256_cvttspd_epu32 (xd);
+  hxi = _mm256_mask_cvttspd_epu32 (hxi, m8, xd);
+  hxi = _mm256_maskz_cvttspd_epu32 (m8, xd);
   hxi = _mm256_cvtts_roundpd_epu32 (xd, 8);
   hxi = _mm256_mask_cvtts_roundpd_epu32 (hxi, m8, xd, 8);
   hxi = _mm256_maskz_cvtts_roundpd_epu32 (m8, xd, 8);
 
+  xi = _mm256_cvttspd_epu64 (xd);
+  xi = _mm256_mask_cvttspd_epu64 (xi, m8, xd);
+  xi = _mm256_maskz_cvttspd_epu64 (m8, xd);
   xi = _mm256_cvtts_roundpd_epu64 (xd, 8);
   xi = _mm256_mask_cvtts_roundpd_epu64 (xi, m8, xd, 8);
   xi = _mm256_maskz_cvtts_roundpd_epu64 (m8, xd, 8);
 
+  xi = _mm256_cvttsps_epi32 (x);
+  xi = _mm256_mask_cvttsps_epi32 (xi, m16, x);
+  xi = _mm256_maskz_cvttsps_epi32 (m16, x);
   xi = _mm256_cvtts_roundps_epi32 (x, 8);
   xi = _mm256_mask_cvtts_roundps_epi32 (xi, m16, x, 8);
   xi = _mm256_maskz_cvtts_roundps_epi32 (m16, x, 8);
 
+  xi = _mm256_cvttsps_epi64 (hx);
+  xi = _mm256_mask_cvttsps_epi64 (xi, m8, hx);
+  xi = _mm256_maskz_cvttsps_epi64 (m8, hx);
   xi = _mm256_cvtts_roundps_epi64 (hx, 8);
   xi = _mm256_mask_cvtts_roundps_epi64 (xi, m8, hx, 8);
   xi = _mm256_maskz_cvtts_roundps_epi64 (m8, hx, 8);
 
+  xi = _mm256_cvttsps_epu32 (x);
+  xi = _mm256_mask_cvttsps_epu32 (xi, m16, x);
+  xi = _mm256_maskz_cvttsps_epu32 (m16, x);
   xi = _mm256_cvtts_roundps_epu32 (x, 8);
   xi = _mm256_mask_cvtts_roundps_epu32 (xi, m16, x, 8);
   xi = _mm256_maskz_cvtts_roundps_epu32 (m16, x, 8);
 
+  xi = _mm256_cvttsps_epu64 (hx);
+  xi = _mm256_mask_cvttsps_epu64 (xi, m8, hx);
+  xi = _mm256_maskz_cvttsps_epu64 (m8, hx);
   xi = _mm256_cvtts_roundps_epu64 (hx, 8);
   xi = _mm256_mask_cvtts_roundps_epu64 (xi, m8, hx, 8);
   xi = _mm256_maskz_cvtts_roundps_epu64 (m8, hx, 8);
@@ -311,12 +407,20 @@ avx10_2_test (void)
   hxi = _mm_mask_cvttsps_epu64 (hxi, m8, hx);
   hxi = _mm_maskz_cvttsps_epu64 (m8, hx);
 
+  i = _mm_cvttssd_epi32 (hxd);
+  ui = _mm_cvttssd_epu32 (hxd);
+  i = _mm_cvttsss_epi32 (hx);
+  ui = _mm_cvttsss_epu32 (hx);
   i = _mm_cvtts_roundsd_epi32 (hxd, 8);
   ui = _mm_cvtts_roundsd_epu32 (hxd, 8);
   i = _mm_cvtts_roundss_epi32 (hx, 8);
   ui = _mm_cvtts_roundss_epu32 (hx, 8);
 
 #ifdef __x86_64__
+  ll = _mm_cvttssd_epi64 (hxd);
+  ull = _mm_cvttssd_epu64 (hxd);
+  ll = _mm_cvttsss_epi64 (hx);
+  ull = _mm_cvttsss_epu64 (hx);
   ll = _mm_cvtts_roundsd_epi64 (hxd, 8);
   ull = _mm_cvtts_roundsd_epu64 (hxd, 8);
   ll = _mm_cvtts_roundss_epi64 (hx, 8);
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-vcvtps2iubs-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-vcvtps2iubs-2.c
new file mode 100644
index 00000000000..d58019e7af3
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvtps2iubs-2.c
@@ -0,0 +1,16 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2-256" } */
+/* { dg-require-effective-target avx10_2_256 } */
+
+#define AVX10_2
+#define AVX512VL
+#define AVX512F_LEN 256
+#define AVX512F_LEN_HALF 128
+#include "avx10_2-512-vcvtps2iubs-2.c"
+
+#undef AVX512F_LEN
+#undef AVX512F_LEN_HALF
+
+#define AVX512F_LEN 128
+#define AVX512F_LEN_HALF 128
+#include "avx10_2-512-vcvtps2iubs-2.c" 
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2sis-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2sis-2.c
index cb6bd28e8c2..87f2c57777b 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2sis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2sis-2.c
@@ -31,9 +31,33 @@ TEST (void)
   if (res1 != res1_ref)
     abort();
 
+  res1 = _mm_cvttssd_epi32 (s.x);
+
+  if (s.a[0] > INT_MAX)
+    res1_ref = INT_MAX;
+  else if (s.a[0] < INT_MIN)
+    res1_ref = INT_MIN;
+  else
+    res1_ref = s.a[0];
+
+  if (res1 != res1_ref)
+    abort();
+
 #ifdef __x86_64__
   res2 = _mm_cvtts_roundsd_epi64 (s.x, 8);
 
+  if (s.a[0] > LLONG_MAX)
+    res2_ref = LLONG_MAX;
+  else if (s.a[0] < LLONG_MIN)
+    res2_ref = LLONG_MIN;
+  else
+    res2_ref = s.a[0];
+
+  if (res2 != res2_ref)
+    abort();
+
+  res2 = _mm_cvttssd_epi64 (s.x);
+
   if (s.a[0] > LLONG_MAX)
     res2_ref = LLONG_MAX;
   else if (s.a[0] < LLONG_MIN)
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2usis-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2usis-2.c
index 04328f46733..1e46e25bb32 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2usis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttsd2usis-2.c
@@ -31,9 +31,33 @@ TEST (void)
   if (res1 != res1_ref)
     abort();
 
+  res1 = _mm_cvttssd_epu32 (s.x);
+
+  if (s.a[0] > UINT_MAX)
+    res1_ref = UINT_MAX;
+  else if (s.a[0] < 0)
+    res1_ref = 0;
+  else
+    res1_ref = s.a[0];
+
+  if (res1 != res1_ref)
+    abort();
+
 #ifdef __x86_64__
   res2 = _mm_cvtts_roundsd_epu64 (s.x, 8);
 
+  if (s.a[0] > ULONG_MAX)
+    res2_ref = ULONG_MAX;
+  else if (s.a[0] < 0)
+    res2_ref = 0;
+  else
+    res2_ref = s.a[0];
+
+  if (res2 != res2_ref)
+    abort();
+
+  res2 = _mm_cvttssd_epu64 (s.x);
+
   if (s.a[0] > ULONG_MAX)
     res2_ref = ULONG_MAX;
   else if (s.a[0] < 0)
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c
index c495d22916a..5616ca5cdc8 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c
@@ -31,9 +31,33 @@ TEST (void)
   if (res1 != res1_ref)
     abort();
 
+  res1 = _mm_cvttsss_epi32 (s.x);
+
+  if (s.a[0] > INT_MAX)
+    res1_ref = INT_MAX;
+  else if (s.a[0] < INT_MIN)
+    res1_ref = INT_MIN;
+  else
+    res1_ref = s.a[0];
+
+  if (res1 != res1_ref)
+    abort();
+
 #ifdef __x86_64__
   res2 = _mm_cvtts_roundss_epi64 (s.x, 8);
 
+  if (s.a[0] > LLONG_MAX)
+    res2_ref = LLONG_MAX;
+  else if (s.a[0] < LLONG_MIN)
+    res2_ref = LLONG_MIN;
+  else
+    res2_ref = s.a[0];
+
+  if (res2 != res2_ref)
+    abort();
+
+  res2 = _mm_cvttsss_epi64 (s.x);
+
   if (s.a[0] > LLONG_MAX)
     res2_ref = LLONG_MAX;
   else if (s.a[0] < LLONG_MIN)
diff --git a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c 
b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
index 42c418b408f..286f2ef6d1d 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
@@ -30,9 +30,33 @@ TEST (void)
   if (res1 != res1_ref)
     abort();
 
+  res1 = _mm_cvttsss_epu32 (s.x);
+
+  if (s.a[0] > UINT_MAX)
+    res1_ref = UINT_MAX;
+  else if (s.a[0] < 0)
+    res1_ref = 0;
+  else
+    res1_ref = s.a[0];
+
+  if (res1 != res1_ref)
+    abort();
+
 #ifdef __x86_64__
   res2 = _mm_cvtts_roundss_epu64 (s.x, 8);
 
+  if (s.a[0] > ULONG_MAX)
+    res2_ref = ULONG_MAX;
+  else if (s.a[0] < 0)
+    res2_ref = 0;
+  else
+    res2_ref = s.a[0];
+
+  if (res2 != res2_ref)
+    abort();
+
+  res2 = _mm_cvttsss_epu64 (s.x);
+
   if (s.a[0] > ULONG_MAX)
     res2_ref = ULONG_MAX;
   else if (s.a[0] < 0)
-- 
2.31.1

Reply via email to