1 /* { dg-do compile } */
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
3 /* { dg-options "-O2 -mdejagnu-cpu=power9 -mvsx" } */
4
5 #include <stddef.h>
6 #include <altivec.h>
7 #include "pr79251.h"
8
9 /* { dg-final { scan-assembler-not {\mstxw\M} } } */
10 /* { dg-final { scan-assembler-times {\mlvsl\M} 10 { target lp64 } } } */
11 /* { dg-final { scan-assembler-times {\mlvsr\M} 10 { target lp64 } } } */
12 /* { dg-final { scan-assembler-times {\mxxperm\M} 20 { target lp64 } } } */
13 /* { dg-final { scan-assembler-times {\mxxinsertw\M} 3 { target lp64 } } } */
14 /* { dg-final { scan-assembler-times {\mvinserth\M} 2 { target lp64 } } } */
15 /* { dg-final { scan-assembler-times {\mvinsertb\M} 2 { target lp64 } } } */
16 /* { dg-final { scan-assembler-times {\mxxpermdi\M} 3 { target lp64 } } } */
17
18 /* { dg-final { scan-assembler-times {\mrlwinm\M} 10 { target ilp32 } } } */
19 /* { dg-final { scan-assembler-times {\mstxv\M} 0 { target ilp32 } } } */
20 /* { dg-final { scan-assembler-times {\mstb\M|\msth\M|\mstw\M|\mstfs\M|\mstfd\M} 1 { target ilp32 } } } */
21 /* { dg-final { scan-assembler-times {\mlxv\M} 7 { target ilp32 } } } */
22