1145519Sdarrenr/* { dg-do compile } */ 2145510Sdarrenr/* { dg-options "-O2 -mavx512f" } */ 3170268Sdarrenr/* { dg-final { scan-assembler-times "vcmpsd\[ \\t\]+\[^\{\n\]*\[^\}\]%xmm\[0-9\]+\[^\n^k\]*%k\[1-7\](?:\n|\[ \\t\]+#)" 1 } } */ 4255332Scy/* { dg-final { scan-assembler-times "vcmpsd\[ \\t\]+\[^\{\n\]*\[^\}\]%xmm\[0-9\]+\[^\n^k\]*%k\[1-7\]\{%k\[0-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ 5255332Scy/* { dg-final { scan-assembler-times "vcmpsd\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+\[^\n^k\]*%k\[1-7\](?:\n|\[ \\t\]+#)" 1 } } */ 6255332Scy/* { dg-final { scan-assembler-times "vcmpsd\[ \\t\]+\[^\{\n\]*\{sae\}\[^\n\]*%xmm\[0-9\]+\[^\n^k\]*%k\[1-7\]\{%k\[0-7\]\}(?:\n|\[ \\t\]+#)" 1 } } */ 7255332Scy 8255332Scy#include <immintrin.h> 9255332Scy 10170268Sdarrenrvolatile __m128d x; 11145510Sdarrenrvolatile __mmask8 m; 12145510Sdarrenr 13145510Sdarrenrvoid extern 14145510Sdarrenravx512f_test (void) 15145510Sdarrenr{ 16255332Scy m = _mm_cmp_sd_mask (x, x, _CMP_FALSE_OQ); 17255332Scy m = _mm_mask_cmp_sd_mask (m, x, x, _CMP_FALSE_OQ); 18255332Scy m = _mm_cmp_round_sd_mask (x, x, _CMP_FALSE_OQ, _MM_FROUND_NO_EXC); 19145510Sdarrenr m = _mm_mask_cmp_round_sd_mask (m, x, x, _CMP_FALSE_OQ, _MM_FROUND_NO_EXC); 20145510Sdarrenr} 21145510Sdarrenr