1 /* { dg-do compile } */
2 /* { dg-options "-mvpclmulqdq -mavx512vl -mavx512f -O2" } */
3 /* { dg-final { scan-assembler-times "vpclmulqdq\[ \\t\]+\[^\{\n\]*\\\$3\[^\n\r]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+\[^\n\r]*%zmm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
4 /* { dg-final { scan-assembler-times "vpclmulqdq\[ \\t\]+\[^\{\n\]*\\\$3\[^\n\r]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+\[^\n\r]*%ymm\[0-9\]+(?:\n|\[ \\t\]+#)" 1 } } */
8 volatile __m512i x1
, x2
;
9 volatile __m256i x3
, x4
;
14 x1
= _mm512_clmulepi64_epi128(x1
, x2
, 3);
15 x3
= _mm256_clmulepi64_epi128(x3
, x4
, 3);