1 /* { dg-do assemble { target { avx512bw && { avx512vl && { ! ia32 } } } } } */
2 /* { dg-options "-O2 -mavx512bw -mavx512vl" } */
7 f1 (__m128i x
, __m128i y
)
9 register __m128i a
__asm ("xmm16"), b
__asm ("xmm17");
11 asm volatile ("" : "+v" (a
), "+v" (b
));
12 a
= _mm_madd_epi16 (a
, b
);
13 asm volatile ("" : "+v" (a
));
17 f2 (__m256i x
, __m256i y
)
19 register __m256i a
__asm ("xmm16"), b
__asm ("xmm17");
21 asm volatile ("" : "+v" (a
), "+v" (b
));
22 a
= _mm256_madd_epi16 (a
, b
);
23 asm volatile ("" : "+v" (a
));