1 |
318 |
jeremybenn |
/* Test whether all of the 32-bit function specific options are accepted
|
2 |
|
|
without error. */
|
3 |
|
|
/* { dg-do compile } */
|
4 |
|
|
/* { dg-require-effective-target ilp32 } */
|
5 |
|
|
|
6 |
|
|
extern void test_abm (void) __attribute__((__target__("abm")));
|
7 |
|
|
extern void test_aes (void) __attribute__((__target__("aes")));
|
8 |
|
|
extern void test_mmx (void) __attribute__((__target__("mmx")));
|
9 |
|
|
extern void test_pclmul (void) __attribute__((__target__("pclmul")));
|
10 |
|
|
extern void test_popcnt (void) __attribute__((__target__("popcnt")));
|
11 |
|
|
extern void test_recip (void) __attribute__((__target__("recip")));
|
12 |
|
|
extern void test_sse (void) __attribute__((__target__("sse")));
|
13 |
|
|
extern void test_sse2 (void) __attribute__((__target__("sse2")));
|
14 |
|
|
extern void test_sse3 (void) __attribute__((__target__("sse3")));
|
15 |
|
|
extern void test_sse4 (void) __attribute__((__target__("sse4")));
|
16 |
|
|
extern void test_sse4_1 (void) __attribute__((__target__("sse4.1")));
|
17 |
|
|
extern void test_sse4_2 (void) __attribute__((__target__("sse4.2")));
|
18 |
|
|
extern void test_sse4a (void) __attribute__((__target__("sse4a")));
|
19 |
|
|
extern void test_fma4 (void) __attribute__((__target__("fma4")));
|
20 |
|
|
extern void test_ssse3 (void) __attribute__((__target__("ssse3")));
|
21 |
|
|
|
22 |
|
|
extern void test_no_abm (void) __attribute__((__target__("no-abm")));
|
23 |
|
|
extern void test_no_aes (void) __attribute__((__target__("no-aes")));
|
24 |
|
|
extern void test_no_mmx (void) __attribute__((__target__("no-mmx")));
|
25 |
|
|
extern void test_no_pclmul (void) __attribute__((__target__("no-pclmul")));
|
26 |
|
|
extern void test_no_popcnt (void) __attribute__((__target__("no-popcnt")));
|
27 |
|
|
extern void test_no_recip (void) __attribute__((__target__("no-recip")));
|
28 |
|
|
extern void test_no_sse (void) __attribute__((__target__("no-sse")));
|
29 |
|
|
extern void test_no_sse2 (void) __attribute__((__target__("no-sse2")));
|
30 |
|
|
extern void test_no_sse3 (void) __attribute__((__target__("no-sse3")));
|
31 |
|
|
extern void test_no_sse4 (void) __attribute__((__target__("no-sse4")));
|
32 |
|
|
extern void test_no_sse4_1 (void) __attribute__((__target__("no-sse4.1")));
|
33 |
|
|
extern void test_no_sse4_2 (void) __attribute__((__target__("no-sse4.2")));
|
34 |
|
|
extern void test_no_sse4a (void) __attribute__((__target__("no-sse4a")));
|
35 |
|
|
extern void test_no_fma4 (void) __attribute__((__target__("no-fma4")));
|
36 |
|
|
extern void test_no_ssse3 (void) __attribute__((__target__("no-ssse3")));
|
37 |
|
|
|
38 |
|
|
extern void test_arch_i386 (void) __attribute__((__target__("arch=i386")));
|
39 |
|
|
extern void test_arch_i486 (void) __attribute__((__target__("arch=i486")));
|
40 |
|
|
extern void test_arch_i586 (void) __attribute__((__target__("arch=i586")));
|
41 |
|
|
extern void test_arch_pentium (void) __attribute__((__target__("arch=pentium")));
|
42 |
|
|
extern void test_arch_pentium_mmx (void) __attribute__((__target__("arch=pentium-mmx")));
|
43 |
|
|
extern void test_arch_winchip_c6 (void) __attribute__((__target__("arch=winchip-c6")));
|
44 |
|
|
extern void test_arch_winchip2 (void) __attribute__((__target__("arch=winchip2")));
|
45 |
|
|
extern void test_arch_c3 (void) __attribute__((__target__("arch=c3")));
|
46 |
|
|
extern void test_arch_c3_2 (void) __attribute__((__target__("arch=c3-2")));
|
47 |
|
|
extern void test_arch_i686 (void) __attribute__((__target__("arch=i686")));
|
48 |
|
|
extern void test_arch_pentiumpro (void) __attribute__((__target__("arch=pentiumpro")));
|
49 |
|
|
extern void test_arch_pentium2 (void) __attribute__((__target__("arch=pentium2")));
|
50 |
|
|
extern void test_arch_pentium3 (void) __attribute__((__target__("arch=pentium3")));
|
51 |
|
|
extern void test_arch_pentium3m (void) __attribute__((__target__("arch=pentium3m")));
|
52 |
|
|
extern void test_arch_pentium_m (void) __attribute__((__target__("arch=pentium-m")));
|
53 |
|
|
extern void test_arch_pentium4 (void) __attribute__((__target__("arch=pentium4")));
|
54 |
|
|
extern void test_arch_pentium4m (void) __attribute__((__target__("arch=pentium4m")));
|
55 |
|
|
extern void test_arch_prescott (void) __attribute__((__target__("arch=prescott")));
|
56 |
|
|
extern void test_arch_nocona (void) __attribute__((__target__("arch=nocona")));
|
57 |
|
|
extern void test_arch_core2 (void) __attribute__((__target__("arch=core2")));
|
58 |
|
|
extern void test_arch_geode (void) __attribute__((__target__("arch=geode")));
|
59 |
|
|
extern void test_arch_k6 (void) __attribute__((__target__("arch=k6")));
|
60 |
|
|
extern void test_arch_k6_2 (void) __attribute__((__target__("arch=k6-2")));
|
61 |
|
|
extern void test_arch_k6_3 (void) __attribute__((__target__("arch=k6-3")));
|
62 |
|
|
extern void test_arch_athlon (void) __attribute__((__target__("arch=athlon")));
|
63 |
|
|
extern void test_arch_athlon_tbird (void) __attribute__((__target__("arch=athlon-tbird")));
|
64 |
|
|
extern void test_arch_athlon_4 (void) __attribute__((__target__("arch=athlon-4")));
|
65 |
|
|
extern void test_arch_athlon_xp (void) __attribute__((__target__("arch=athlon-xp")));
|
66 |
|
|
extern void test_arch_athlon_mp (void) __attribute__((__target__("arch=athlon-mp")));
|
67 |
|
|
extern void test_arch_k8 (void) __attribute__((__target__("arch=k8")));
|
68 |
|
|
extern void test_arch_k8_sse3 (void) __attribute__((__target__("arch=k8-sse3")));
|
69 |
|
|
extern void test_arch_opteron (void) __attribute__((__target__("arch=opteron")));
|
70 |
|
|
extern void test_arch_opteron_sse3 (void) __attribute__((__target__("arch=opteron-sse3")));
|
71 |
|
|
extern void test_arch_athlon64 (void) __attribute__((__target__("arch=athlon64")));
|
72 |
|
|
extern void test_arch_athlon64_sse3 (void) __attribute__((__target__("arch=athlon64-sse3")));
|
73 |
|
|
extern void test_arch_athlon_fx (void) __attribute__((__target__("arch=athlon-fx")));
|
74 |
|
|
extern void test_arch_amdfam10 (void) __attribute__((__target__("arch=amdfam10")));
|
75 |
|
|
extern void test_arch_barcelona (void) __attribute__((__target__("arch=barcelona")));
|
76 |
|
|
extern void test_arch_foo (void) __attribute__((__target__("arch=foo"))); /* { dg-error "bad value" } */
|
77 |
|
|
|
78 |
|
|
extern void test_tune_i386 (void) __attribute__((__target__("tune=i386")));
|
79 |
|
|
extern void test_tune_i486 (void) __attribute__((__target__("tune=i486")));
|
80 |
|
|
extern void test_tune_i586 (void) __attribute__((__target__("tune=i586")));
|
81 |
|
|
extern void test_tune_pentium (void) __attribute__((__target__("tune=pentium")));
|
82 |
|
|
extern void test_tune_pentium_mmx (void) __attribute__((__target__("tune=pentium-mmx")));
|
83 |
|
|
extern void test_tune_winchip_c6 (void) __attribute__((__target__("tune=winchip-c6")));
|
84 |
|
|
extern void test_tune_winchip2 (void) __attribute__((__target__("tune=winchip2")));
|
85 |
|
|
extern void test_tune_c3 (void) __attribute__((__target__("tune=c3")));
|
86 |
|
|
extern void test_tune_c3_2 (void) __attribute__((__target__("tune=c3-2")));
|
87 |
|
|
extern void test_tune_i686 (void) __attribute__((__target__("tune=i686")));
|
88 |
|
|
extern void test_tune_pentiumpro (void) __attribute__((__target__("tune=pentiumpro")));
|
89 |
|
|
extern void test_tune_pentium2 (void) __attribute__((__target__("tune=pentium2")));
|
90 |
|
|
extern void test_tune_pentium3 (void) __attribute__((__target__("tune=pentium3")));
|
91 |
|
|
extern void test_tune_pentium3m (void) __attribute__((__target__("tune=pentium3m")));
|
92 |
|
|
extern void test_tune_pentium_m (void) __attribute__((__target__("tune=pentium-m")));
|
93 |
|
|
extern void test_tune_pentium4 (void) __attribute__((__target__("tune=pentium4")));
|
94 |
|
|
extern void test_tune_pentium4m (void) __attribute__((__target__("tune=pentium4m")));
|
95 |
|
|
extern void test_tune_prescott (void) __attribute__((__target__("tune=prescott")));
|
96 |
|
|
extern void test_tune_nocona (void) __attribute__((__target__("tune=nocona")));
|
97 |
|
|
extern void test_tune_core2 (void) __attribute__((__target__("tune=core2")));
|
98 |
|
|
extern void test_tune_geode (void) __attribute__((__target__("tune=geode")));
|
99 |
|
|
extern void test_tune_k6 (void) __attribute__((__target__("tune=k6")));
|
100 |
|
|
extern void test_tune_k6_2 (void) __attribute__((__target__("tune=k6-2")));
|
101 |
|
|
extern void test_tune_k6_3 (void) __attribute__((__target__("tune=k6-3")));
|
102 |
|
|
extern void test_tune_athlon (void) __attribute__((__target__("tune=athlon")));
|
103 |
|
|
extern void test_tune_athlon_tbird (void) __attribute__((__target__("tune=athlon-tbird")));
|
104 |
|
|
extern void test_tune_athlon_4 (void) __attribute__((__target__("tune=athlon-4")));
|
105 |
|
|
extern void test_tune_athlon_xp (void) __attribute__((__target__("tune=athlon-xp")));
|
106 |
|
|
extern void test_tune_athlon_mp (void) __attribute__((__target__("tune=athlon-mp")));
|
107 |
|
|
extern void test_tune_k8 (void) __attribute__((__target__("tune=k8")));
|
108 |
|
|
extern void test_tune_k8_sse3 (void) __attribute__((__target__("tune=k8-sse3")));
|
109 |
|
|
extern void test_tune_opteron (void) __attribute__((__target__("tune=opteron")));
|
110 |
|
|
extern void test_tune_opteron_sse3 (void) __attribute__((__target__("tune=opteron-sse3")));
|
111 |
|
|
extern void test_tune_athlon64 (void) __attribute__((__target__("tune=athlon64")));
|
112 |
|
|
extern void test_tune_athlon64_sse3 (void) __attribute__((__target__("tune=athlon64-sse3")));
|
113 |
|
|
extern void test_tune_athlon_fx (void) __attribute__((__target__("tune=athlon-fx")));
|
114 |
|
|
extern void test_tune_amdfam10 (void) __attribute__((__target__("tune=amdfam10")));
|
115 |
|
|
extern void test_tune_barcelona (void) __attribute__((__target__("tune=barcelona")));
|
116 |
|
|
extern void test_tune_generic (void) __attribute__((__target__("tune=generic")));
|
117 |
|
|
extern void test_tune_foo (void) __attribute__((__target__("tune=foo"))); /* { dg-error "bad value" } */
|
118 |
|
|
|
119 |
|
|
extern void test_fpmath_sse (void) __attribute__((__target__("sse2,fpmath=sse")));
|
120 |
|
|
extern void test_fpmath_387 (void) __attribute__((__target__("sse2,fpmath=387")));
|
121 |
|
|
extern void test_fpmath_sse_387 (void) __attribute__((__target__("sse2,fpmath=sse+387")));
|
122 |
|
|
extern void test_fpmath_387_sse (void) __attribute__((__target__("sse2,fpmath=387+sse")));
|
123 |
|
|
extern void test_fpmath_both (void) __attribute__((__target__("sse2,fpmath=both")));
|