brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.4 KiB · 4dace25 Raw
64 lines · c
1// RUN: %clang_cc1 -fsyntax-only -triple x86_64-pc-linux-gnu -verify %s2// RUN: %clang_cc1 -fsyntax-only -triple aarch64-linux-gnu -verify %s3// RUN: %clang_cc1 -fsyntax-only -triple riscv32-linux-gnu -verify %s4// RUN: %clang_cc1 -fsyntax-only -triple riscv64-linux-gnu -verify %s5// RUN: %clang_cc1 -fsyntax-only -triple powerpc64le-unknown-linux -verify %s6// RUN: %clang_cc1 -fsyntax-only -triple powerpc64-unknown-aix7.2.0.0 -verify %s7// RUN: %clang_cc1 -fsyntax-only -triple powerpc-unknown-aix7.2.0.0 -verify %s8 9extern void a(const char *);10 11extern const char *str;12 13int main(void) {14#ifdef __x86_64__15  if (__builtin_cpu_supports("ss")) // expected-warning {{invalid cpu feature string}}16    a("sse4.2");17 18  if (__builtin_cpu_supports(str)) // expected-error {{expression is not a string literal}}19    a(str);20 21  if (__builtin_cpu_is("int")) // expected-error {{invalid cpu name for builtin}}22    a("intel");23 24  (void)__builtin_cpu_is("x86-64");    // expected-error {{invalid cpu name for builtin}}25  (void)__builtin_cpu_is("x86-64-v2"); // expected-error {{invalid cpu name for builtin}}26  (void)__builtin_cpu_is("x86-64-v3"); // expected-error {{invalid cpu name for builtin}}27  (void)__builtin_cpu_is("x86-64-v4"); // expected-error {{invalid cpu name for builtin}}28 29  (void)__builtin_cpu_supports("x86-64");30  (void)__builtin_cpu_supports("x86-64-v2");31  (void)__builtin_cpu_supports("x86-64-v3");32  (void)__builtin_cpu_supports("x86-64-v4");33  (void)__builtin_cpu_supports("x86-64-v5"); // expected-warning {{invalid cpu feature string for builtin}}34#endif35 36#ifdef __aarch64__37  if (__builtin_cpu_supports("neon")) // expected-warning {{invalid cpu feature string for builtin}}38    a("vsx");39 40  if (__builtin_cpu_is("cortex-x3")) // expected-error {{builtin is not supported on this target}}41    a("pwr9");42 43  __builtin_cpu_init(); // expected-error {{builtin is not supported on this target}}44#endif45 46#ifdef __riscv47  if (__builtin_cpu_supports("garbage")) // expected-warning {{invalid cpu feature string for builtin}}48    a("vsx");49#endif50 51#ifdef __powerpc__52  if (__builtin_cpu_is("garbage")) // expected-error {{invalid cpu name for builtin}}53    a("vsx");54 55  if (__builtin_cpu_is("power3")) // expected-error {{invalid cpu name for builtin}}56    a("vsx");57 58  if (__builtin_cpu_supports("garbage")) // expected-warning {{invalid cpu feature string for builtin}}59    a("vsx");60#endif61 62  return 0;63}64