/* { dg-do compile } */ /* { dg-require-effective-target power10_ok } */ /* { dg-options "-Wno-psabi -mdejagnu-cpu=power10 -O2" } */ void foo0 (void) { __vector_quad acc; asm ("#..." : "=d" (acc)); __builtin_mma_xxmtacc (&acc); __builtin_mma_xxmfacc (&acc); asm ("#..." :: "d" (acc)); } typedef unsigned char vec_t __attribute__((vector_size(16))); void foo1 (vec_t *vec) { vec[1] = __builtin_vsx_xvcvspbf16 (vec[0]); vec[3] = __builtin_vsx_xvcvbf16spn (vec[2]); } /* { dg-final { scan-assembler-times {\mxxmtacc\M} 1 } } */ /* { dg-final { scan-assembler-times {\mxxmfacc\M} 1 } } */ /* { dg-final { scan-assembler-times {\mlxv\M} 2 } } */ /* { dg-final { scan-assembler-times {\mstxv\M} 2 } } */ /* { dg-final { scan-assembler-not {\mlxvp\M} } } */ /* { dg-final { scan-assembler-not {\mstxvp\M} } } */ /* { dg-final { scan-assembler-times {\mxvcvspbf16\M} 1 } } */ /* { dg-final { scan-assembler-times {\mxvcvbf16spn\M} 1 } } */