diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/avx512f-vpmovsdw-2.c | 6 |
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 (); |