aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c28
1 files changed, 26 insertions, 2 deletions
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 c495d22..82db8ef 100644
--- a/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx10_2-vcvttss2sis-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
@@ -31,6 +31,18 @@ TEST (void)
if (res1 != res1_ref)
abort();
+ res1 = _mm_cvtts_ss_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);
@@ -43,5 +55,17 @@ TEST (void)
if (res2 != res2_ref)
abort();
+
+ res2 = _mm_cvtts_ss_epi64 (s.x);
+
+ 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();
#endif
}