1 /* { dg-do compile { target { s390*-*-* } } } */
2 /* { dg-options "-O3 -mzarch -march=z14 -mzvector" } */
3
4 #include <vecintrin.h>
5
6 vector float
foo(float * a)7 foo (float *a)
8 {
9 return vec_xl (0, a);
10 }
11
12 vector float
bar(const float * a)13 bar (const float *a)
14 {
15 return vec_xl (0, a);
16 }
17
18 void
baz(float * f,vector float a)19 baz (float *f, vector float a)
20 {
21 vec_xst (a, 0, f);
22 }
23
24 vector float
foo2(float * a)25 foo2 (float *a)
26 {
27 return vec_xlw4 (0, a);
28 }
29
30 vector float
bar2(const float * a)31 bar2 (const float *a)
32 {
33 return vec_xlw4 (0, a);
34 }
35
36 void
baz2(float * f,vector float a)37 baz2 (float *f, vector float a)
38 {
39 vec_xstw4 (a, 0, f);
40 }
41
42 /* Make sure no alignment hints are generated. */
43
44 /* { dg-final { scan-assembler-not "vl.*,3" } } */
45 /* { dg-final { scan-assembler-not "vst.*,3" } } */
46