]>
Commit | Line | Data |
---|---|---|
e2a99194 | 1 | /* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ |
4f4b0ab8 | 2 | /* { dg-skip-if "" { powerpc*-*-darwin* } } */ |
e2a99194 MM |
3 | /* { dg-require-effective-target powerpc_p8vector_ok } */ |
4 | /* { dg-skip-if "do not override -mcpu" { powerpc*-*-* } { "-mcpu=*" } { "-mcpu=power8" } } */ | |
5 | /* { dg-options "-O2 -mcpu=power8" } */ | |
6 | ||
7 | #include <altivec.h> | |
8 | ||
9 | float | |
10 | add_float_0 (vector float *p) | |
11 | { | |
12 | return vec_extract (*p, 0) + 1.0f; | |
13 | } | |
14 | ||
15 | float | |
16 | add_float_1 (vector float *p) | |
17 | { | |
18 | return vec_extract (*p, 1) + 1.0f; | |
19 | } | |
20 | ||
21 | float | |
22 | add_float_2 (vector float *p) | |
23 | { | |
24 | return vec_extract (*p, 2) + 1.0f; | |
25 | } | |
26 | ||
27 | float | |
28 | add_float_3 (vector float *p) | |
29 | { | |
30 | return vec_extract (*p, 3) + 1.0f; | |
31 | } | |
32 | ||
33 | float | |
34 | add_float_n (vector float *p, long n) | |
35 | { | |
36 | return vec_extract (*p, n) + 1.0f; | |
37 | } | |
38 | ||
39 | /* { dg-final { scan-assembler-not "lxvd2x" } } */ | |
40 | /* { dg-final { scan-assembler-not "lxvw4x" } } */ | |
41 | /* { dg-final { scan-assembler-not "lxvx" } } */ | |
42 | /* { dg-final { scan-assembler-not "lxv" } } */ | |
43 | /* { dg-final { scan-assembler-not "lvx" } } */ | |
44 | /* { dg-final { scan-assembler-not "xxpermdi" } } */ |