[RS6000] Tests that use int128_t and -m32
[official-gcc.git] / gcc / testsuite / gcc.target / powerpc / cpu-builtin-1.c
blob280c9971c801ca1c57d66a3d080a3f579ae989b9
1 /* { dg-do compile } */
2 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
4 void
5 use_cpu_is_builtins (unsigned int *p)
7 /* If GCC was configured to use an old GLIBC (before 2.23), the
8 __builtin_cpu_is and __builtin_cpu_supports built-in functions return 0,
9 and the compiler issues a warning that you need a newer glibc to use them.
10 Use #ifdef to avoid the warning. */
11 #ifdef __BUILTIN_CPU_SUPPORTS__
12 p[0] = __builtin_cpu_is ("power9");
13 p[1] = __builtin_cpu_is ("power8");
14 p[2] = __builtin_cpu_is ("power7");
15 p[3] = __builtin_cpu_is ("power6x");
16 p[4] = __builtin_cpu_is ("power6");
17 p[5] = __builtin_cpu_is ("power5+");
18 p[6] = __builtin_cpu_is ("power5");
19 p[7] = __builtin_cpu_is ("ppc970");
20 p[8] = __builtin_cpu_is ("power4");
21 p[9] = __builtin_cpu_is ("ppca2");
22 p[10] = __builtin_cpu_is ("ppc476");
23 p[11] = __builtin_cpu_is ("ppc464");
24 p[12] = __builtin_cpu_is ("ppc440");
25 p[13] = __builtin_cpu_is ("ppc405");
26 p[14] = __builtin_cpu_is ("ppc-cell-be");
27 p[15] = __builtin_cpu_is ("power10");
28 #else
29 p[0] = 0;
30 #endif
33 void
34 use_cpu_supports_builtins (unsigned int *p)
36 #ifdef __BUILTIN_CPU_SUPPORTS__
37 p[0] = __builtin_cpu_supports ("4xxmac");
38 p[1] = __builtin_cpu_supports ("altivec");
39 p[2] = __builtin_cpu_supports ("arch_2_05");
40 p[3] = __builtin_cpu_supports ("arch_2_06");
41 p[4] = __builtin_cpu_supports ("arch_2_07");
42 p[5] = __builtin_cpu_supports ("arch_3_00");
43 p[6] = __builtin_cpu_supports ("archpmu");
44 p[7] = __builtin_cpu_supports ("booke");
45 p[8] = __builtin_cpu_supports ("cellbe");
46 p[9] = __builtin_cpu_supports ("dfp");
47 p[10] = __builtin_cpu_supports ("dscr");
48 p[11] = __builtin_cpu_supports ("ebb");
49 p[12] = __builtin_cpu_supports ("efpdouble");
50 p[13] = __builtin_cpu_supports ("efpsingle");
51 p[14] = __builtin_cpu_supports ("fpu");
52 p[15] = __builtin_cpu_supports ("htm");
53 p[16] = __builtin_cpu_supports ("htm-nosc");
54 p[17] = __builtin_cpu_supports ("ic_snoop");
55 p[18] = __builtin_cpu_supports ("ieee128");
56 p[19] = __builtin_cpu_supports ("isel");
57 p[20] = __builtin_cpu_supports ("mmu");
58 p[21] = __builtin_cpu_supports ("notb");
59 p[22] = __builtin_cpu_supports ("pa6t");
60 p[23] = __builtin_cpu_supports ("power4");
61 p[24] = __builtin_cpu_supports ("power5");
62 p[25] = __builtin_cpu_supports ("power5+");
63 p[26] = __builtin_cpu_supports ("power6x");
64 p[27] = __builtin_cpu_supports ("ppc32");
65 p[28] = __builtin_cpu_supports ("ppc601");
66 p[29] = __builtin_cpu_supports ("ppc64");
67 p[30] = __builtin_cpu_supports ("ppcle");
68 p[31] = __builtin_cpu_supports ("smt");
69 p[32] = __builtin_cpu_supports ("spe");
70 p[33] = __builtin_cpu_supports ("tar");
71 p[34] = __builtin_cpu_supports ("true_le");
72 p[35] = __builtin_cpu_supports ("ucache");
73 p[36] = __builtin_cpu_supports ("vcrypto");
74 p[37] = __builtin_cpu_supports ("vsx");
75 p[38] = __builtin_cpu_supports ("darn");
76 p[39] = __builtin_cpu_supports ("scv");
77 p[40] = __builtin_cpu_supports ("htm-no-suspend");
78 p[41] = __builtin_cpu_supports ("arch_3_1");
79 p[42] = __builtin_cpu_supports ("mma");
80 #else
81 p[0] = 0;
82 #endif