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