annotate gcc/testsuite/gcc.target/powerpc/pragma_misc9.c @ 152:2b5abeee2509

update gcc11
author anatofuz
date Mon, 25 May 2020 07:50:57 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
152
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
1 /* { dg-do compile } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
2 /* { dg-require-effective-target powerpc_p9vector_ok } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
3 /* { dg-require-effective-target lp64 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
4 /* { dg-options "-mdejagnu-cpu=power9 -maltivec -O2" } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
5
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
6 /* Ensure that if we set a pragma gcc target for an
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
7 older processor, we do not compile builtins that
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
8 the older target does not support. */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
9
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
10 #include <altivec.h>
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
11
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
12 vector bool int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
13 test1 (vector signed int a, vector signed int b)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
14 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
15 return vec_cmpnez (a, b);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
16 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
17
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
18 #pragma GCC target ("cpu=power8")
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
19 vector bool int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
20 test2 (vector signed int a, vector signed int b)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
21 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
22 return vec_cmpnez (a, b);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
23 /* { dg-error "'__builtin_altivec_vcmpnezw' requires the '-mcpu=power9' option" "" { target *-*-* } .-1 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
24 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
25
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
26 #pragma GCC target ("cpu=power7")
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
27 vector signed int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
28 test3 (vector signed int a, vector signed int b)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
29 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
30 return vec_mergee (a, b);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
31 /* { dg-error "'__builtin_altivec_vmrgew_v4si' requires the '-mpower8-vector' option" "" { target *-*-* } .-1 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
32 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
33
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
34 #pragma GCC target ("cpu=power6")
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
35 vector signed int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
36 test4 (vector int a, vector int b)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
37 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
38 return vec_sldw (a, b, 2);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
39 /* { dg-error "'__builtin_vsx_xxsldwi_4si' requires the '-mvsx' option" "" { target *-*-* } .-1 } */
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
40 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
41
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
42 vector int
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
43 test5 (vector int a, vector int b)
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
44 {
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
45 return vec_add (a, b);
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
46 }
2b5abeee2509 update gcc11
anatofuz
parents:
diff changeset
47