1 // CPU-side compilation on ARM with neon enabled (no errors expected).
2 // RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature +neon -aux-triple nvptx64 -x cuda -fsyntax-only -verify=quiet %s
4 // CPU-side compilation on ARM with neon disabled.
5 // RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature -neon -aux-triple nvptx64 -x cuda -fsyntax-only -verify %s
7 // GPU-side compilation on ARM (no errors expected).
8 // RUN: %clang_cc1 -triple nvptx64 -aux-triple arm64-linux-gnu -fcuda-is-device -x cuda -fsyntax-only -verify=quiet %s
10 // Regular C++ compilation on ARM with neon enabled (no errors expected).
11 // RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature +neon -x c++ -fsyntax-only -verify=quiet %s
13 // Regular C++ compilation on ARM with neon disabled.
14 // RUN: %clang_cc1 -triple arm64-linux-gnu -target-feature -neon -x c++ -fsyntax-only -verify %s
16 // quiet-no-diagnostics
17 typedef __attribute__((neon_vector_type(4))) float float32x4_t;
18 // expected-error@-1 {{'neon_vector_type' attribute is not supported on targets missing 'neon' or 'mve'}}
19 typedef unsigned char poly8_t;
20 typedef __attribute__((neon_polyvector_type(8))) poly8_t poly8x8_t;
21 // expected-error@-1 {{'neon_polyvector_type' attribute is not supported on targets missing 'neon' or 'mve'}}