1 /* Test expected code generation for lvsl and lvsr on little endian.
2 Note that lvsl and lvsr are each produced once, but the filename
3 causes them to appear twice in the file. */
4
5 /* { dg-do compile { target { powerpc64le-*-* } } } */
6 /* { dg-options "-O0 -Wno-deprecated" } */
7 /* { dg-final { scan-assembler-times "lvsl" 2 } } */
8 /* { dg-final { scan-assembler-times "lvsr" 2 } } */
9 /* { dg-final { scan-assembler-times {\mlxvd2x\M|\mp?lxv\M} 2 } } */
10 /* { dg-final { scan-assembler-times {\m(?:v|xx)permr?\M} 2 } } */
11
12
13 #include <altivec.h>
14
15 float f[20];
16
17 void foo ()
18 {
19 vector unsigned char a = vec_lvsl (4, f);
20 vector unsigned char b = vec_lvsr (8, f);
21 }