diff options
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.c | 28 |
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 } |