blob: fcd37940f6e7d12031ea0b55e3ae713b8c7e7b42 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-mavx512fp16 -O2" } */
/* { dg-final { scan-assembler-not "vfmulcph\[ \\t\]+\[^\{\n\]*%zmm1+\[^\n\r]*%zmm0+\[^\n\r]*%zmm0+(?:\n|\[ \\t\]+#)" } } */
/* { dg-final { scan-assembler-not "vfmaddcph\[ \\t\]+\[^\{\n\]*%zmm0+\[^\n\r]*%zmm0+\[^\n\r]*%zmm0+(?:\n|\[ \\t\]+#)" } } */
/* { dg-final { scan-assembler-not "vfmulcsh\[ \\t\]+\[^\{\n\]*%xmm1+\[^\n\r]*%xmm0+\[^\n\r]*%xmm0+(?:\n|\[ \\t\]+#)" } } */
/* { dg-final { scan-assembler-not "vfmaddcsh\[ \\t\]+\[^\{\n\]*%xmm0+\[^\n\r]*%xmm0+\[^\n\r]*%xmm0+(?:\n|\[ \\t\]+#)" } } */
#include <immintrin.h>
volatile __m512h a1;
volatile __m128h a2;
__m512h b1;
__m128h b2;
void extern
avx512f_test (void)
{
a1 = _mm512_fmul_pch (a1, a1);
b1 = _mm512_fmadd_pch (b1, b1, b1);
a2 = _mm_fmul_sch (a2, a2);
b2 = _mm_fmadd_sch (b2, b2, b2);
}