aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c28
1 files changed, 26 insertions, 2 deletions
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 42c418b..c3d16ff 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2usis-2.c
@@ -1,6 +1,6 @@
/* { dg-do run } */
-/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2-256" } */
-/* { dg-require-effective-target avx10_2_256 } */
+/* { dg-options "-O2 -march=x86-64-v3 -mavx10.2" } */
+/* { dg-require-effective-target avx10_2 } */
#define AVX10_2
#define AVX10_SCALAR
@@ -30,6 +30,18 @@ TEST (void)
if (res1 != res1_ref)
abort();
+ res1 = _mm_cvtts_ss_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);
@@ -42,5 +54,17 @@ TEST (void)
if (res2 != res2_ref)
abort();
+
+ res2 = _mm_cvtts_ss_epu64 (s.x);
+
+ 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();
#endif
}