PR rtl-optimization/87918
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / vpclmulqdq.c
blobd93f776803f40c3c68fa7469d431803524b4fc0b
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 } } */
6 #include <x86intrin.h>
8 volatile __m512i x1, x2;
9 volatile __m256i x3, x4;
11 void extern
12 avx512vl_test (void)
14 x1 = _mm512_clmulepi64_epi128(x1, x2, 3);
15 x3 = _mm256_clmulepi64_epi128(x3, x4, 3);