1 // RUN: %clang_cc1 -fsyntax-only -triple x86_64-pc-linux-gnu -verify %s
2 // RUN: %clang_cc1 -fsyntax-only -triple powerpc64le-linux-gnu -verify %s
3 
4 extern void a(const char *);
5 
6 extern const char *str;
7 
main()8 int main() {
9 #ifdef __x86_64__
10   if (__builtin_cpu_supports("ss")) // expected-error {{invalid cpu feature string}}
11     a("sse4.2");
12 
13   if (__builtin_cpu_supports(str)) // expected-error {{expression is not a string literal}}
14     a(str);
15 
16   if (__builtin_cpu_is("int")) // expected-error {{invalid cpu name for builtin}}
17     a("intel");
18 
19   (void)__builtin_cpu_is("x86-64");    // expected-error {{invalid cpu name for builtin}}
20   (void)__builtin_cpu_is("x86-64-v2"); // expected-error {{invalid cpu name for builtin}}
21   (void)__builtin_cpu_is("x86-64-v3"); // expected-error {{invalid cpu name for builtin}}
22   (void)__builtin_cpu_is("x86-64-v4"); // expected-error {{invalid cpu name for builtin}}
23 #else
24   if (__builtin_cpu_supports("vsx")) // expected-error {{use of unknown builtin}}
25     a("vsx");
26 
27   if (__builtin_cpu_is("pwr9")) // expected-error {{use of unknown builtin}}
28     a("pwr9");
29 #endif
30 
31   return 0;
32 }
33