diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c b/gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c index 163bc16a220..25e54a73dee 100644 --- a/gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c +++ b/gcc/testsuite/gcc.target/i386/avx512f-vpmovsqw-2.c @@ -30,6 +30,7 @@ TEST (void) { int i, sign; UNION_TYPE (128, i_w) res1, res2, res3; + short res4[8]; UNION_TYPE (AVX512F_LEN, i_q) src; MASK_TYPE mask = MASK_VALUE; short res_ref[8]; @@ -40,11 +41,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 (_cvtsepi64_epi16) (src.x); res2.x = INTRINSIC (_mask_cvtsepi64_epi16) (res2.x, mask, src.x); res3.x = INTRINSIC (_maskz_cvtsepi64_epi16) (mask, src.x); + INTRINSIC (_mask_cvtsepi64_storeu_epi16) (res4, mask, src.x); CALC (res_ref, src.a); @@ -55,6 +58,9 @@ TEST (void) if (UNION_CHECK (128, i_w) (res2, res_ref)) abort (); + if (checkVs (res4, res_ref, 8)) + abort (); + MASK_ZERO (i_w) (res_ref, mask, SIZE); if (UNION_CHECK (128, i_w) (res3, res_ref)) abort (); |