xref: /llvm-project/clang/test/Misc/target-invalid-cpu-note/x86.c (revision 97836bed6357664f9b2fb87cfe10656b08309bac)
1 // This test uses '<prefix>-SAME: {{^}}' to start matching immediately where the
2 // previous check finished matching (specifically, caret is not treated as
3 // matching a start of line when used like this in FileCheck).
4 
5 // RUN: not %clang_cc1 -triple i386--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix X86
6 // X86: error: unknown target CPU 'not-a-cpu'
7 // X86-NEXT: note: valid target CPU values are:
8 // X86-SAME: {{^}} i386
9 // X86-SAME: {{^}}, i486
10 // X86-SAME: {{^}}, winchip-c6
11 // X86-SAME: {{^}}, winchip2
12 // X86-SAME: {{^}}, c3
13 // X86-SAME: {{^}}, i586
14 // X86-SAME: {{^}}, pentium
15 // X86-SAME: {{^}}, pentium-mmx
16 // X86-SAME: {{^}}, pentiumpro
17 // X86-SAME: {{^}}, i686
18 // X86-SAME: {{^}}, pentium2
19 // X86-SAME: {{^}}, pentium3
20 // X86-SAME: {{^}}, pentium3m
21 // X86-SAME: {{^}}, pentium-m
22 // X86-SAME: {{^}}, c3-2
23 // X86-SAME: {{^}}, yonah
24 // X86-SAME: {{^}}, pentium4
25 // X86-SAME: {{^}}, pentium4m
26 // X86-SAME: {{^}}, prescott
27 // X86-SAME: {{^}}, nocona
28 // X86-SAME: {{^}}, core2
29 // X86-SAME: {{^}}, penryn
30 // X86-SAME: {{^}}, bonnell
31 // X86-SAME: {{^}}, atom
32 // X86-SAME: {{^}}, silvermont
33 // X86-SAME: {{^}}, slm
34 // X86-SAME: {{^}}, goldmont
35 // X86-SAME: {{^}}, goldmont-plus
36 // X86-SAME: {{^}}, tremont
37 // X86-SAME: {{^}}, nehalem
38 // X86-SAME: {{^}}, corei7
39 // X86-SAME: {{^}}, westmere
40 // X86-SAME: {{^}}, sandybridge
41 // X86-SAME: {{^}}, corei7-avx
42 // X86-SAME: {{^}}, ivybridge
43 // X86-SAME: {{^}}, core-avx-i
44 // X86-SAME: {{^}}, haswell
45 // X86-SAME: {{^}}, core-avx2
46 // X86-SAME: {{^}}, broadwell
47 // X86-SAME: {{^}}, skylake
48 // X86-SAME: {{^}}, skylake-avx512
49 // X86-SAME: {{^}}, skx
50 // X86-SAME: {{^}}, cascadelake
51 // X86-SAME: {{^}}, cooperlake
52 // X86-SAME: {{^}}, cannonlake
53 // X86-SAME: {{^}}, icelake-client
54 // X86-SAME: {{^}}, rocketlake
55 // X86-SAME: {{^}}, icelake-server
56 // X86-SAME: {{^}}, tigerlake
57 // X86-SAME: {{^}}, sapphirerapids
58 // X86-SAME: {{^}}, alderlake
59 // X86-SAME: {{^}}, raptorlake
60 // X86-SAME: {{^}}, meteorlake
61 // X86-SAME: {{^}}, arrowlake
62 // X86-SAME: {{^}}, arrowlake-s
63 // X86-SAME: {{^}}, lunarlake
64 // X86-SAME: {{^}}, gracemont
65 // X86-SAME: {{^}}, pantherlake
66 // X86-SAME: {{^}}, sierraforest
67 // X86-SAME: {{^}}, grandridge
68 // X86-SAME: {{^}}, graniterapids
69 // X86-SAME: {{^}}, graniterapids-d
70 // X86-SAME: {{^}}, emeraldrapids
71 // X86-SAME: {{^}}, clearwaterforest
72 // X86-SAME: {{^}}, diamondrapids
73 // X86-SAME: {{^}}, knl
74 // X86-SAME: {{^}}, knm
75 // X86-SAME: {{^}}, lakemont
76 // X86-SAME: {{^}}, k6
77 // X86-SAME: {{^}}, k6-2
78 // X86-SAME: {{^}}, k6-3
79 // X86-SAME: {{^}}, athlon
80 // X86-SAME: {{^}}, athlon-tbird
81 // X86-SAME: {{^}}, athlon-xp
82 // X86-SAME: {{^}}, athlon-mp
83 // X86-SAME: {{^}}, athlon-4
84 // X86-SAME: {{^}}, k8
85 // X86-SAME: {{^}}, athlon64
86 // X86-SAME: {{^}}, athlon-fx
87 // X86-SAME: {{^}}, opteron
88 // X86-SAME: {{^}}, k8-sse3
89 // X86-SAME: {{^}}, athlon64-sse3
90 // X86-SAME: {{^}}, opteron-sse3
91 // X86-SAME: {{^}}, amdfam10
92 // X86-SAME: {{^}}, barcelona
93 // X86-SAME: {{^}}, btver1
94 // X86-SAME: {{^}}, btver2
95 // X86-SAME: {{^}}, bdver1
96 // X86-SAME: {{^}}, bdver2
97 // X86-SAME: {{^}}, bdver3
98 // X86-SAME: {{^}}, bdver4
99 // X86-SAME: {{^}}, znver1
100 // X86-SAME: {{^}}, znver2
101 // X86-SAME: {{^}}, znver3
102 // X86-SAME: {{^}}, znver4
103 // X86-SAME: {{^}}, znver5
104 // X86-SAME: {{^}}, x86-64
105 // X86-SAME: {{^}}, x86-64-v2
106 // X86-SAME: {{^}}, x86-64-v3
107 // X86-SAME: {{^}}, x86-64-v4
108 // X86-SAME: {{^}}, geode
109 // X86-SAME: {{$}}
110 
111 // RUN: not %clang_cc1 -triple x86_64--- -target-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=X86_64
112 // X86_64: error: unknown target CPU 'not-a-cpu'
113 // X86_64-NEXT: note: valid target CPU values are:
114 // X86_64-SAME: {{^}} nocona
115 // X86_64-SAME: {{^}}, core2
116 // X86_64-SAME: {{^}}, penryn
117 // X86_64-SAME: {{^}}, bonnell
118 // X86_64-SAME: {{^}}, atom
119 // X86_64-SAME: {{^}}, silvermont
120 // X86_64-SAME: {{^}}, slm
121 // X86_64-SAME: {{^}}, goldmont
122 // X86_64-SAME: {{^}}, goldmont-plus
123 // X86_64-SAME: {{^}}, tremont
124 // X86_64-SAME: {{^}}, nehalem
125 // X86_64-SAME: {{^}}, corei7
126 // X86_64-SAME: {{^}}, westmere
127 // X86_64-SAME: {{^}}, sandybridge
128 // X86_64-SAME: {{^}}, corei7-avx
129 // X86_64-SAME: {{^}}, ivybridge
130 // X86_64-SAME: {{^}}, core-avx-i
131 // X86_64-SAME: {{^}}, haswell
132 // X86_64-SAME: {{^}}, core-avx2
133 // X86_64-SAME: {{^}}, broadwell
134 // X86_64-SAME: {{^}}, skylake
135 // X86_64-SAME: {{^}}, skylake-avx512
136 // X86_64-SAME: {{^}}, skx
137 // X86_64-SAME: {{^}}, cascadelake
138 // X86_64-SAME: {{^}}, cooperlake
139 // X86_64-SAME: {{^}}, cannonlake
140 // X86_64-SAME: {{^}}, icelake-client
141 // X86_64-SAME: {{^}}, rocketlake
142 // X86_64-SAME: {{^}}, icelake-server
143 // X86_64-SAME: {{^}}, tigerlake
144 // X86_64-SAME: {{^}}, sapphirerapids
145 // X86_64-SAME: {{^}}, alderlake
146 // X86_64-SAME: {{^}}, raptorlake
147 // X86_64-SAME: {{^}}, meteorlake
148 // X86_64-SAME: {{^}}, arrowlake
149 // X86_64-SAME: {{^}}, arrowlake-s
150 // X86_64-SAME: {{^}}, lunarlake
151 // X86_64-SAME: {{^}}, gracemont
152 // X86_64-SAME: {{^}}, pantherlake
153 // X86_64-SAME: {{^}}, sierraforest
154 // X86_64-SAME: {{^}}, grandridge
155 // X86_64-SAME: {{^}}, graniterapids
156 // X86_64-SAME: {{^}}, graniterapids-d
157 // X86_64-SAME: {{^}}, emeraldrapids
158 // X86_64-SAME: {{^}}, clearwaterforest
159 // X86_64-SAME: {{^}}, diamondrapids
160 // X86_64-SAME: {{^}}, knl
161 // X86_64-SAME: {{^}}, knm
162 // X86_64-SAME: {{^}}, k8
163 // X86_64-SAME: {{^}}, athlon64
164 // X86_64-SAME: {{^}}, athlon-fx
165 // X86_64-SAME: {{^}}, opteron
166 // X86_64-SAME: {{^}}, k8-sse3
167 // X86_64-SAME: {{^}}, athlon64-sse3
168 // X86_64-SAME: {{^}}, opteron-sse3
169 // X86_64-SAME: {{^}}, amdfam10
170 // X86_64-SAME: {{^}}, barcelona
171 // X86_64-SAME: {{^}}, btver1
172 // X86_64-SAME: {{^}}, btver2
173 // X86_64-SAME: {{^}}, bdver1
174 // X86_64-SAME: {{^}}, bdver2
175 // X86_64-SAME: {{^}}, bdver3
176 // X86_64-SAME: {{^}}, bdver4
177 // X86_64-SAME: {{^}}, znver1
178 // X86_64-SAME: {{^}}, znver2
179 // X86_64-SAME: {{^}}, znver3
180 // X86_64-SAME: {{^}}, znver4
181 // X86_64-SAME: {{^}}, znver5
182 // X86_64-SAME: {{^}}, x86-64
183 // X86_64-SAME: {{^}}, x86-64-v2
184 // X86_64-SAME: {{^}}, x86-64-v3
185 // X86_64-SAME: {{^}}, x86-64-v4
186 // X86_64-SAME: {{$}}
187 
188 // RUN: not %clang_cc1 -triple i386--- -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=TUNE_X86
189 // TUNE_X86: error: unknown target CPU 'not-a-cpu'
190 // TUNE_X86-NEXT: note: valid target CPU values are:
191 // TUNE_X86-SAME: {{^}} i386
192 // TUNE_X86-SAME: {{^}}, i486
193 // TUNE_X86-SAME: {{^}}, winchip-c6
194 // TUNE_X86-SAME: {{^}}, winchip2
195 // TUNE_X86-SAME: {{^}}, c3
196 // TUNE_X86-SAME: {{^}}, i586
197 // TUNE_X86-SAME: {{^}}, pentium
198 // TUNE_X86-SAME: {{^}}, pentium-mmx
199 // TUNE_X86-SAME: {{^}}, pentiumpro
200 // TUNE_X86-SAME: {{^}}, i686
201 // TUNE_X86-SAME: {{^}}, pentium2
202 // TUNE_X86-SAME: {{^}}, pentium3
203 // TUNE_X86-SAME: {{^}}, pentium3m
204 // TUNE_X86-SAME: {{^}}, pentium-m
205 // TUNE_X86-SAME: {{^}}, c3-2
206 // TUNE_X86-SAME: {{^}}, yonah
207 // TUNE_X86-SAME: {{^}}, pentium4
208 // TUNE_X86-SAME: {{^}}, pentium4m
209 // TUNE_X86-SAME: {{^}}, prescott
210 // TUNE_X86-SAME: {{^}}, nocona
211 // TUNE_X86-SAME: {{^}}, core2
212 // TUNE_X86-SAME: {{^}}, penryn
213 // TUNE_X86-SAME: {{^}}, bonnell
214 // TUNE_X86-SAME: {{^}}, atom
215 // TUNE_X86-SAME: {{^}}, silvermont
216 // TUNE_X86-SAME: {{^}}, slm
217 // TUNE_X86-SAME: {{^}}, goldmont
218 // TUNE_X86-SAME: {{^}}, goldmont-plus
219 // TUNE_X86-SAME: {{^}}, tremont
220 // TUNE_X86-SAME: {{^}}, nehalem
221 // TUNE_X86-SAME: {{^}}, corei7
222 // TUNE_X86-SAME: {{^}}, westmere
223 // TUNE_X86-SAME: {{^}}, sandybridge
224 // TUNE_X86-SAME: {{^}}, corei7-avx
225 // TUNE_X86-SAME: {{^}}, ivybridge
226 // TUNE_X86-SAME: {{^}}, core-avx-i
227 // TUNE_X86-SAME: {{^}}, haswell
228 // TUNE_X86-SAME: {{^}}, core-avx2
229 // TUNE_X86-SAME: {{^}}, broadwell
230 // TUNE_X86-SAME: {{^}}, skylake
231 // TUNE_X86-SAME: {{^}}, skylake-avx512
232 // TUNE_X86-SAME: {{^}}, skx
233 // TUNE_X86-SAME: {{^}}, cascadelake
234 // TUNE_X86-SAME: {{^}}, cooperlake
235 // TUNE_X86-SAME: {{^}}, cannonlake
236 // TUNE_X86-SAME: {{^}}, icelake-client
237 // TUNE_X86-SAME: {{^}}, rocketlake
238 // TUNE_X86-SAME: {{^}}, icelake-server
239 // TUNE_X86-SAME: {{^}}, tigerlake
240 // TUNE_X86-SAME: {{^}}, sapphirerapids
241 // TUNE_X86-SAME: {{^}}, alderlake
242 // TUNE_X86-SAME: {{^}}, raptorlake
243 // TUNE_X86-SAME: {{^}}, meteorlake
244 // TUNE_X86-SAME: {{^}}, arrowlake
245 // TUNE_X86-SAME: {{^}}, arrowlake-s
246 // TUNE_X86-SAME: {{^}}, lunarlake
247 // TUNE_X86-SAME: {{^}}, gracemont
248 // TUNE_X86-SAME: {{^}}, pantherlake
249 // TUNE_X86-SAME: {{^}}, sierraforest
250 // TUNE_X86-SAME: {{^}}, grandridge
251 // TUNE_X86-SAME: {{^}}, graniterapids
252 // TUNE_X86-SAME: {{^}}, graniterapids-d
253 // TUNE_X86-SAME: {{^}}, emeraldrapids
254 // TUNE_X86-SAME: {{^}}, clearwaterforest
255 // TUNE_X86-SAME: {{^}}, diamondrapids
256 // TUNE_X86-SAME: {{^}}, knl
257 // TUNE_X86-SAME: {{^}}, knm
258 // TUNE_X86-SAME: {{^}}, lakemont
259 // TUNE_X86-SAME: {{^}}, k6
260 // TUNE_X86-SAME: {{^}}, k6-2
261 // TUNE_X86-SAME: {{^}}, k6-3
262 // TUNE_X86-SAME: {{^}}, athlon
263 // TUNE_X86-SAME: {{^}}, athlon-tbird
264 // TUNE_X86-SAME: {{^}}, athlon-xp
265 // TUNE_X86-SAME: {{^}}, athlon-mp
266 // TUNE_X86-SAME: {{^}}, athlon-4
267 // TUNE_X86-SAME: {{^}}, k8
268 // TUNE_X86-SAME: {{^}}, athlon64
269 // TUNE_X86-SAME: {{^}}, athlon-fx
270 // TUNE_X86-SAME: {{^}}, opteron
271 // TUNE_X86-SAME: {{^}}, k8-sse3
272 // TUNE_X86-SAME: {{^}}, athlon64-sse3
273 // TUNE_X86-SAME: {{^}}, opteron-sse3
274 // TUNE_X86-SAME: {{^}}, amdfam10
275 // TUNE_X86-SAME: {{^}}, barcelona
276 // TUNE_X86-SAME: {{^}}, btver1
277 // TUNE_X86-SAME: {{^}}, btver2
278 // TUNE_X86-SAME: {{^}}, bdver1
279 // TUNE_X86-SAME: {{^}}, bdver2
280 // TUNE_X86-SAME: {{^}}, bdver3
281 // TUNE_X86-SAME: {{^}}, bdver4
282 // TUNE_X86-SAME: {{^}}, znver1
283 // TUNE_X86-SAME: {{^}}, znver2
284 // TUNE_X86-SAME: {{^}}, znver3
285 // TUNE_X86-SAME: {{^}}, znver4
286 // TUNE_X86-SAME: {{^}}, znver5
287 // TUNE_X86-SAME: {{^}}, x86-64
288 // TUNE_X86-SAME: {{^}}, geode
289 // TUNE_X86-SAME: {{$}}
290 
291 // RUN: not %clang_cc1 -triple x86_64--- -tune-cpu not-a-cpu -fsyntax-only %s 2>&1 | FileCheck %s --check-prefix=TUNE_X86_64
292 // TUNE_X86_64: error: unknown target CPU 'not-a-cpu'
293 // TUNE_X86_64-NEXT: note: valid target CPU values are:
294 // TUNE_X86_64-SAME: {{^}} i386
295 // TUNE_X86_64-SAME: {{^}}, i486
296 // TUNE_X86_64-SAME: {{^}}, winchip-c6
297 // TUNE_X86_64-SAME: {{^}}, winchip2
298 // TUNE_X86_64-SAME: {{^}}, c3
299 // TUNE_X86_64-SAME: {{^}}, i586
300 // TUNE_X86_64-SAME: {{^}}, pentium
301 // TUNE_X86_64-SAME: {{^}}, pentium-mmx
302 // TUNE_X86_64-SAME: {{^}}, pentiumpro
303 // TUNE_X86_64-SAME: {{^}}, i686
304 // TUNE_X86_64-SAME: {{^}}, pentium2
305 // TUNE_X86_64-SAME: {{^}}, pentium3
306 // TUNE_X86_64-SAME: {{^}}, pentium3m
307 // TUNE_X86_64-SAME: {{^}}, pentium-m
308 // TUNE_X86_64-SAME: {{^}}, c3-2
309 // TUNE_X86_64-SAME: {{^}}, yonah
310 // TUNE_X86_64-SAME: {{^}}, pentium4
311 // TUNE_X86_64-SAME: {{^}}, pentium4m
312 // TUNE_X86_64-SAME: {{^}}, prescott
313 // TUNE_X86_64-SAME: {{^}}, nocona
314 // TUNE_X86_64-SAME: {{^}}, core2
315 // TUNE_X86_64-SAME: {{^}}, penryn
316 // TUNE_X86_64-SAME: {{^}}, bonnell
317 // TUNE_X86_64-SAME: {{^}}, atom
318 // TUNE_X86_64-SAME: {{^}}, silvermont
319 // TUNE_X86_64-SAME: {{^}}, slm
320 // TUNE_X86_64-SAME: {{^}}, goldmont
321 // TUNE_X86_64-SAME: {{^}}, goldmont-plus
322 // TUNE_X86_64-SAME: {{^}}, tremont
323 // TUNE_X86_64-SAME: {{^}}, nehalem
324 // TUNE_X86_64-SAME: {{^}}, corei7
325 // TUNE_X86_64-SAME: {{^}}, westmere
326 // TUNE_X86_64-SAME: {{^}}, sandybridge
327 // TUNE_X86_64-SAME: {{^}}, corei7-avx
328 // TUNE_X86_64-SAME: {{^}}, ivybridge
329 // TUNE_X86_64-SAME: {{^}}, core-avx-i
330 // TUNE_X86_64-SAME: {{^}}, haswell
331 // TUNE_X86_64-SAME: {{^}}, core-avx2
332 // TUNE_X86_64-SAME: {{^}}, broadwell
333 // TUNE_X86_64-SAME: {{^}}, skylake
334 // TUNE_X86_64-SAME: {{^}}, skylake-avx512
335 // TUNE_X86_64-SAME: {{^}}, skx
336 // TUNE_X86_64-SAME: {{^}}, cascadelake
337 // TUNE_X86_64-SAME: {{^}}, cooperlake
338 // TUNE_X86_64-SAME: {{^}}, cannonlake
339 // TUNE_X86_64-SAME: {{^}}, icelake-client
340 // TUNE_X86_64-SAME: {{^}}, rocketlake
341 // TUNE_X86_64-SAME: {{^}}, icelake-server
342 // TUNE_X86_64-SAME: {{^}}, tigerlake
343 // TUNE_X86_64-SAME: {{^}}, sapphirerapids
344 // TUNE_X86_64-SAME: {{^}}, alderlake
345 // TUNE_X86_64-SAME: {{^}}, raptorlake
346 // TUNE_X86_64-SAME: {{^}}, meteorlake
347 // TUNE_X86_64-SAME: {{^}}, arrowlake
348 // TUNE_X86_64-SAME: {{^}}, arrowlake-s
349 // TUNE_X86_64-SAME: {{^}}, lunarlake
350 // TUNE_X86_64-SAME: {{^}}, gracemont
351 // TUNE_X86_64-SAME: {{^}}, pantherlake
352 // TUNE_X86_64-SAME: {{^}}, sierraforest
353 // TUNE_X86_64-SAME: {{^}}, grandridge
354 // TUNE_X86_64-SAME: {{^}}, graniterapids
355 // TUNE_X86_64-SAME: {{^}}, graniterapids-d
356 // TUNE_X86_64-SAME: {{^}}, emeraldrapids
357 // TUNE_X86_64-SAME: {{^}}, clearwaterforest
358 // TUNE_X86_64-SAME: {{^}}, diamondrapids
359 // TUNE_X86_64-SAME: {{^}}, knl
360 // TUNE_X86_64-SAME: {{^}}, knm
361 // TUNE_X86_64-SAME: {{^}}, lakemont
362 // TUNE_X86_64-SAME: {{^}}, k6
363 // TUNE_X86_64-SAME: {{^}}, k6-2
364 // TUNE_X86_64-SAME: {{^}}, k6-3
365 // TUNE_X86_64-SAME: {{^}}, athlon
366 // TUNE_X86_64-SAME: {{^}}, athlon-tbird
367 // TUNE_X86_64-SAME: {{^}}, athlon-xp
368 // TUNE_X86_64-SAME: {{^}}, athlon-mp
369 // TUNE_X86_64-SAME: {{^}}, athlon-4
370 // TUNE_X86_64-SAME: {{^}}, k8
371 // TUNE_X86_64-SAME: {{^}}, athlon64
372 // TUNE_X86_64-SAME: {{^}}, athlon-fx
373 // TUNE_X86_64-SAME: {{^}}, opteron
374 // TUNE_X86_64-SAME: {{^}}, k8-sse3
375 // TUNE_X86_64-SAME: {{^}}, athlon64-sse3
376 // TUNE_X86_64-SAME: {{^}}, opteron-sse3
377 // TUNE_X86_64-SAME: {{^}}, amdfam10
378 // TUNE_X86_64-SAME: {{^}}, barcelona
379 // TUNE_X86_64-SAME: {{^}}, btver1
380 // TUNE_X86_64-SAME: {{^}}, btver2
381 // TUNE_X86_64-SAME: {{^}}, bdver1
382 // TUNE_X86_64-SAME: {{^}}, bdver2
383 // TUNE_X86_64-SAME: {{^}}, bdver3
384 // TUNE_X86_64-SAME: {{^}}, bdver4
385 // TUNE_X86_64-SAME: {{^}}, znver1
386 // TUNE_X86_64-SAME: {{^}}, znver2
387 // TUNE_X86_64-SAME: {{^}}, znver3
388 // TUNE_X86_64-SAME: {{^}}, znver4
389 // TUNE_X86_64-SAME: {{^}}, znver5
390 // TUNE_X86_64-SAME: {{^}}, x86-64
391 // TUNE_X86_64-SAME: {{^}}, geode
392 // TUNE_X86_64-SAME: {{$}}
393