summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c')
-rw-r--r--gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c
index 0e5cb4a2ad0..98d8745d9fe 100644
--- a/gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c
+++ b/gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c
@@ -31,6 +31,7 @@ TEST (void)
{
int i, sign;
UNION_TYPE (AVX512F_LEN_HALF, i_w) res1, res2, res3;
+ short res4[SIZE_HALF];
UNION_TYPE (AVX512F_LEN, i_d) src;
MASK_TYPE mask = MASK_VALUE;
short res_ref[SIZE_HALF];
@@ -41,11 +42,13 @@ TEST (void)
src.a[i] = 1 + 34 * i * sign;
sign = sign * -1;
res2.a[i] = DEFAULT_VALUE;
+ res4[i] = DEFAULT_VALUE;
}
res1.x = INTRINSIC (_cvtsepi32_epi16) (src.x);
res2.x = INTRINSIC (_mask_cvtsepi32_epi16) (res2.x, mask, src.x);
res3.x = INTRINSIC (_maskz_cvtsepi32_epi16) (mask, src.x);
+ INTRINSIC (_mask_cvtsepi32_storeu_epi16) (res4, mask, src.x);
CALC (res_ref, src.a);
@@ -56,6 +59,9 @@ TEST (void)
if (UNION_CHECK (AVX512F_LEN_HALF, i_w) (res2, res_ref))
abort ();
+ if (checkVs (res4, res_ref, SIZE_HALF))
+ abort ();
+
MASK_ZERO (i_w) (res_ref, mask, SIZE);
if (UNION_CHECK (AVX512F_LEN_HALF, i_w) (res3, res_ref))
abort ();