1/* Common 32-bit and 64-bit function specific options.  */
2
3extern void test_sgx (void)			__attribute__((__target__("sgx")));
4extern void test_avx5124fmaps(void)		__attribute__((__target__("avx5124fmaps")));
5extern void test_avx5124vnniw(void)		__attribute__((__target__("avx5124vnniw")));
6extern void test_avx512vpopcntdq(void)		__attribute__((__target__("avx512vpopcntdq")));
7
8extern void test_avx512vbmi (void)		__attribute__((__target__("avx512vbmi")));
9extern void test_avx512ifma (void)		__attribute__((__target__("avx512ifma")));
10extern void test_avx512vl (void)		__attribute__((__target__("avx512vl")));
11extern void test_avx512bw (void)		__attribute__((__target__("avx512bw")));
12extern void test_avx512dq (void)		__attribute__((__target__("avx512dq")));
13extern void test_avx512er (void)		__attribute__((__target__("avx512er")));
14extern void test_avx512pf (void)		__attribute__((__target__("avx512pf")));
15extern void test_avx512cd (void)		__attribute__((__target__("avx512cd")));
16extern void test_avx512f  (void)		__attribute__((__target__("avx512f")));
17extern void test_avx2 (void)			__attribute__((__target__("avx2")));
18extern void test_fma (void)			__attribute__((__target__("fma")));
19extern void test_xop (void)			__attribute__((__target__("xop")));
20extern void test_fma4 (void)			__attribute__((__target__("fma4")));
21extern void test_f16c (void)			__attribute__((__target__("f16c")));
22extern void test_avx (void)			__attribute__((__target__("avx")));
23extern void test_sse4 (void)			__attribute__((__target__("sse4")));
24extern void test_sse4_2 (void)			__attribute__((__target__("sse4.2")));
25extern void test_sse4_1 (void)			__attribute__((__target__("sse4.1")));
26extern void test_sse4a (void)			__attribute__((__target__("sse4a")));
27extern void test_ssse3 (void)			__attribute__((__target__("ssse3")));
28extern void test_sse3 (void)			__attribute__((__target__("sse3")));
29extern void test_aes (void)			__attribute__((__target__("aes")));
30extern void test_sha (void)			__attribute__((__target__("sha")));
31extern void test_pclmul (void)			__attribute__((__target__("pclmul")));
32extern void test_sse2 (void)			__attribute__((__target__("sse2")));
33extern void test_sse (void)			__attribute__((__target__("sse")));
34extern void test_3dnowa (void)			__attribute__((__target__("3dnowa")));
35extern void test_3dnow (void)			__attribute__((__target__("3dnow")));
36extern void test_mmx (void)			__attribute__((__target__("mmx")));
37extern void test_rtm (void)			__attribute__((__target__("rtm")));
38extern void test_prfchw (void)			__attribute__((__target__("prfchw")));
39extern void test_rdseed (void)			__attribute__((__target__("rdseed")));
40extern void test_adx (void)			__attribute__((__target__("adx")));
41extern void test_prefetchwt1 (void)		__attribute__((__target__("prefetchwt1")));
42extern void test_clflushopt (void)		__attribute__((__target__("clflushopt")));
43extern void test_xsaves (void)			__attribute__((__target__("xsaves")));
44extern void test_xsavec (void)			__attribute__((__target__("xsavec")));
45extern void test_xsaveopt (void)		__attribute__((__target__("xsaveopt")));
46extern void test_xsave (void)			__attribute__((__target__("xsave")));
47extern void test_abm (void)			__attribute__((__target__("abm")));
48extern void test_bmi (void)			__attribute__((__target__("bmi")));
49extern void test_bmi2 (void)			__attribute__((__target__("bmi2")));
50extern void test_lzcnt (void)			__attribute__((__target__("lzcnt")));
51extern void test_tbm (void)			__attribute__((__target__("tbm")));
52extern void test_popcnt (void)			__attribute__((__target__("popcnt")));
53extern void test_cx16 (void)			__attribute__((__target__("cx16")));
54extern void test_sahf (void)			__attribute__((__target__("sahf")));
55extern void test_movbe (void)			__attribute__((__target__("movbe")));
56extern void test_crc32 (void)			__attribute__((__target__("crc32")));
57extern void test_fsgsbase (void)		__attribute__((__target__("fsgsbase")));
58extern void test_rdrnd (void)			__attribute__((__target__("rdrnd")));
59extern void test_mwaitx (void)			__attribute__((__target__("mwaitx")));
60extern void test_clzero (void)			__attribute__((__target__("clzero")));
61extern void test_pku (void)			__attribute__((__target__("pku")));
62extern void test_lwp (void)			__attribute__((__target__("lwp")));
63extern void test_hle (void)			__attribute__((__target__("hle")));
64extern void test_fxsr (void)			__attribute__((__target__("fxsr")));
65extern void test_clwb (void)			__attribute__((__target__("clwb")));
66
67extern void test_cld (void)			__attribute__((__target__("cld")));
68extern void test_recip (void)			__attribute__((__target__("recip")));
69
70extern void test_no_sgx (void)			__attribute__((__target__("no-sgx")));
71extern void test_no_avx5124fmaps(void)		__attribute__((__target__("no-avx5124fmaps")));
72extern void test_no_avx5124vnniw(void)		__attribute__((__target__("no-avx5124vnniw")));
73extern void test_no_avx512vpopcntdq(void)	__attribute__((__target__("no-avx512vpopcntdq")));
74
75extern void test_no_avx512vbmi (void)		__attribute__((__target__("no-avx512vbmi")));
76extern void test_no_avx512ifma (void)		__attribute__((__target__("no-avx512ifma")));
77extern void test_no_avx512vl (void)		__attribute__((__target__("no-avx512vl")));
78extern void test_no_avx512bw (void)		__attribute__((__target__("no-avx512bw")));
79extern void test_no_avx512dq (void)		__attribute__((__target__("no-avx512dq")));
80extern void test_no_avx512er (void)		__attribute__((__target__("no-avx512er")));
81extern void test_no_avx512pf (void)		__attribute__((__target__("no-avx512pf")));
82extern void test_no_avx512cd (void)		__attribute__((__target__("no-avx512cd")));
83extern void test_no_avx512f  (void)		__attribute__((__target__("no-avx512f")));
84extern void test_no_avx2 (void)			__attribute__((__target__("no-avx2")));
85extern void test_no_fma (void)			__attribute__((__target__("no-fma")));
86extern void test_no_xop (void)			__attribute__((__target__("no-xop")));
87extern void test_no_fma4 (void)			__attribute__((__target__("no-fma4")));
88extern void test_no_f16c (void)			__attribute__((__target__("no-f16c")));
89extern void test_no_avx (void)			__attribute__((__target__("no-avx")));
90extern void test_no_sse4 (void)			__attribute__((__target__("no-sse4")));
91extern void test_no_sse4_2 (void)		__attribute__((__target__("no-sse4.2")));
92extern void test_no_sse4_1 (void)		__attribute__((__target__("no-sse4.1")));
93extern void test_no_sse4a (void)		__attribute__((__target__("no-sse4a")));
94extern void test_no_ssse3 (void)		__attribute__((__target__("no-ssse3")));
95extern void test_no_sse3 (void)			__attribute__((__target__("no-sse3")));
96extern void test_no_aes (void)			__attribute__((__target__("no-aes")));
97extern void test_no_sha (void)			__attribute__((__target__("no-sha")));
98extern void test_no_pclmul (void)		__attribute__((__target__("no-pclmul")));
99extern void test_no_sse2 (void)			__attribute__((__target__("no-sse2")));
100extern void test_no_sse (void)			__attribute__((__target__("no-sse")));
101extern void test_no_3dnowa (void)		__attribute__((__target__("no-3dnowa")));
102extern void test_no_3dnow (void)		__attribute__((__target__("no-3dnow")));
103extern void test_no_mmx (void)			__attribute__((__target__("no-mmx")));
104extern void test_no_rtm (void)			__attribute__((__target__("no-rtm")));
105extern void test_no_prfchw (void)		__attribute__((__target__("no-prfchw")));
106extern void test_no_rdseed (void)		__attribute__((__target__("no-rdseed")));
107extern void test_no_adx (void)			__attribute__((__target__("no-adx")));
108extern void test_no_prefetchwt1 (void)		__attribute__((__target__("no-prefetchwt1")));
109extern void test_no_clflushopt (void)		__attribute__((__target__("no-clflushopt")));
110extern void test_no_xsaves (void)		__attribute__((__target__("no-xsaves")));
111extern void test_no_xsavec (void)		__attribute__((__target__("no-xsavec")));
112extern void test_no_xsaveopt (void)		__attribute__((__target__("no-xsaveopt")));
113extern void test_no_xsave (void)		__attribute__((__target__("no-xsave")));
114extern void test_no_abm (void)			__attribute__((__target__("no-abm")));
115extern void test_no_bmi (void)			__attribute__((__target__("no-bmi")));
116extern void test_no_bmi2 (void)			__attribute__((__target__("no-bmi2")));
117extern void test_no_lzcnt (void)		__attribute__((__target__("no-lzcnt")));
118extern void test_no_tbm (void)			__attribute__((__target__("no-tbm")));
119extern void test_no_popcnt (void)		__attribute__((__target__("no-popcnt")));
120extern void test_no_cx16 (void)			__attribute__((__target__("no-cx16")));
121extern void test_no_sahf (void)			__attribute__((__target__("no-sahf")));
122extern void test_no_movbe (void)		__attribute__((__target__("no-movbe")));
123extern void test_no_crc32 (void)		__attribute__((__target__("no-crc32")));
124extern void test_no_fsgsbase (void)		__attribute__((__target__("no-fsgsbase")));
125extern void test_no_rdrnd (void)		__attribute__((__target__("no-rdrnd")));
126extern void test_no_mwaitx (void)		__attribute__((__target__("no-mwaitx")));
127extern void test_no_clzero (void)		__attribute__((__target__("no-clzero")));
128extern void test_no_pku (void)			__attribute__((__target__("no-pku")));
129extern void test_no_lwp (void)			__attribute__((__target__("no-lwp")));
130extern void test_no_hle (void)			__attribute__((__target__("no-hle")));
131extern void test_no_fxsr (void)			__attribute__((__target__("no-fxsr")));
132extern void test_no_clwb (void)			__attribute__((__target__("no-clwb")));
133
134extern void test_no_cld (void)			__attribute__((__target__("no-cld")));
135extern void test_no_recip (void)		__attribute__((__target__("no-recip")));
136
137extern void test_arch_nocona (void)		__attribute__((__target__("arch=nocona")));
138extern void test_arch_core2 (void)		__attribute__((__target__("arch=core2")));
139extern void test_arch_corei7 (void)		__attribute__((__target__("arch=corei7")));
140extern void test_arch_corei7_avx (void)		__attribute__((__target__("arch=corei7-avx")));
141extern void test_arch_core_avx2 (void)		__attribute__((__target__("arch=core-avx2")));
142extern void test_arch_silvermont (void)		__attribute__((__target__("arch=silvermont")));
143extern void test_arch_goldmont (void)		__attribute__((__target__("arch=goldmont")));
144extern void test_arch_goldmont_plus (void)	__attribute__((__target__("arch=goldmont-plus")));
145extern void test_arch_tremont (void)		__attribute__((__target__("arch=tremont")));
146extern void test_arch_knl (void)		__attribute__((__target__("arch=knl")));
147extern void test_arch_knm (void)		__attribute__((__target__("arch=knm")));
148extern void test_arch_skylake (void)		__attribute__((__target__("arch=skylake")));
149extern void test_arch_skylake_avx512 (void)	__attribute__((__target__("arch=skylake-avx512")));
150extern void test_arch_cannonlake (void)		__attribute__((__target__("arch=cannonlake")));
151extern void test_arch_icelake_client (void)	__attribute__((__target__("arch=icelake-client")));
152extern void test_arch_icelake_server (void)	__attribute__((__target__("arch=icelake-server")));
153extern void test_arch_cascadelake (void)	__attribute__((__target__("arch=cascadelake")));
154extern void test_arch_tigerlake (void)          __attribute__((__target__("arch=tigerlake")));
155extern void test_arch_k8 (void)			__attribute__((__target__("arch=k8")));
156extern void test_arch_k8_sse3 (void)		__attribute__((__target__("arch=k8-sse3")));
157extern void test_arch_opteron (void)		__attribute__((__target__("arch=opteron")));
158extern void test_arch_opteron_sse3 (void)	__attribute__((__target__("arch=opteron-sse3")));
159extern void test_arch_athlon64 (void)		__attribute__((__target__("arch=athlon64")));
160extern void test_arch_athlon64_sse3 (void)	__attribute__((__target__("arch=athlon64-sse3")));
161extern void test_arch_athlon_fx (void)		__attribute__((__target__("arch=athlon-fx")));
162extern void test_arch_amdfam10 (void)		__attribute__((__target__("arch=amdfam10")));
163extern void test_arch_barcelona (void)		__attribute__((__target__("arch=barcelona")));
164extern void test_arch_bdver1 (void)		__attribute__((__target__("arch=bdver1")));
165extern void test_arch_bdver2 (void)		__attribute__((__target__("arch=bdver2")));
166extern void test_arch_bdver3 (void)		__attribute__((__target__("arch=bdver3")));
167
168extern void test_tune_nocona (void)		__attribute__((__target__("tune=nocona")));
169extern void test_tune_core2 (void)		__attribute__((__target__("tune=core2")));
170extern void test_tune_corei7 (void)		__attribute__((__target__("tune=corei7")));
171extern void test_tune_corei7_avx (void)		__attribute__((__target__("tune=corei7-avx")));
172extern void test_tune_core_avx2 (void)		__attribute__((__target__("tune=core-avx2")));
173extern void test_tune_k8 (void)			__attribute__((__target__("tune=k8")));
174extern void test_tune_k8_sse3 (void)		__attribute__((__target__("tune=k8-sse3")));
175extern void test_tune_opteron (void)		__attribute__((__target__("tune=opteron")));
176extern void test_tune_opteron_sse3 (void)	__attribute__((__target__("tune=opteron-sse3")));
177extern void test_tune_athlon64 (void)		__attribute__((__target__("tune=athlon64")));
178extern void test_tune_athlon64_sse3 (void)	__attribute__((__target__("tune=athlon64-sse3")));
179extern void test_tune_athlon_fx (void)		__attribute__((__target__("tune=athlon-fx")));
180extern void test_tune_amdfam10 (void)		__attribute__((__target__("tune=amdfam10")));
181extern void test_tune_barcelona (void)		__attribute__((__target__("tune=barcelona")));
182extern void test_tune_bdver1 (void)		__attribute__((__target__("tune=bdver1")));
183extern void test_tune_bdver2 (void)		__attribute__((__target__("tune=bdver2")));
184extern void test_tune_bdver3 (void)		__attribute__((__target__("tune=bdver3")));
185extern void test_tune_generic (void)		__attribute__((__target__("tune=generic")));
186
187extern void test_fpmath_sse (void)		__attribute__((__target__("sse2,fpmath=sse")));
188extern void test_fpmath_387 (void)		__attribute__((__target__("sse2,fpmath=387")));
189extern void test_fpmath_sse_387 (void)		__attribute__((__target__("sse2,fpmath=sse+387")));
190extern void test_fpmath_387_sse (void)		__attribute__((__target__("sse2,fpmath=387+sse")));
191extern void test_fpmath_both (void)		__attribute__((__target__("sse2,fpmath=both")));
192