1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
// Test that NEON types are defined, even when arm_neon.h is not included.
// as required by AAPCS64 "Support for Advanced SIMD Extensions".
// RUN: %clang_cc1 -ast-dump -triple aarch64-linux-gnu %s -x c | FileCheck %s
// RUN: %clang_cc1 -ast-dump -triple aarch64-linux-gnu %s -x c++ | FileCheck %s
// RUN: %clang_cc1 -verify -verify-ignore-unexpected=note -triple x86_64 %s -x c
// RUN: %clang_cc1 -verify -verify-ignore-unexpected=note -triple x86_64 %s -x c++
// RUN: %clang_cc1 -verify -verify-ignore-unexpected=note -triple arm-linux-gnu %s -x c
// RUN: %clang_cc1 -verify -verify-ignore-unexpected=note -triple arm-linux-gnu %s -x c++
__Int8x8_t Int8x8;
// CHECK: Int8x8 '__Int8x8_t':'__attribute__((neon_vector_type(8))) signed char'
// expected-error@-2{{unknown type name '__Int8x8_t'}}
__Int16x4_t Int16x4;
// CHECK: Int16x4 '__Int16x4_t':'__attribute__((neon_vector_type(4))) short'
// expected-error@-2{{unknown type name '__Int16x4_t'}}
__Int32x2_t Int32x2;
// CHECK: Int32x2 '__Int32x2_t':'__attribute__((neon_vector_type(2))) int'
// expected-error@-2{{unknown type name '__Int32x2_t'}}
__Uint8x8_t Uint8x8;
// CHECK: Uint8x8 '__Uint8x8_t':'__attribute__((neon_vector_type(8))) unsigned char'
// expected-error@-2{{unknown type name '__Uint8x8_t'}}
__Uint16x4_t Uint16x4;
// CHECK: Uint16x4 '__Uint16x4_t':'__attribute__((neon_vector_type(4))) unsigned short'
// expected-error@-2{{unknown type name '__Uint16x4_t'}}
__Uint32x2_t Uint32x2;
// CHECK: Uint32x2 '__Uint32x2_t':'__attribute__((neon_vector_type(2))) unsigned int'
// expected-error@-2{{unknown type name '__Uint32x2_t'}}
__Float16x4_t Float16x4;
// CHECK: Float16x4 '__Float16x4_t':'__attribute__((neon_vector_type(4))) __fp16'
// expected-error@-2{{unknown type name '__Float16x4_t'}}
__Float32x2_t Float32x2;
// CHECK: Float32x2 '__Float32x2_t':'__attribute__((neon_vector_type(2))) float'
// expected-error@-2{{unknown type name '__Float32x2_t'}}
__Poly8x8_t Poly8x8;
// CHECK: Poly8x8 '__Poly8x8_t':'__attribute__((neon_polyvector_type(8))) unsigned char'
// expected-error@-2{{unknown type name '__Poly8x8_t'}}
__Poly16x4_t Poly16x4;
// CHECK: Poly16x4 '__Poly16x4_t':'__attribute__((neon_polyvector_type(4))) unsigned short'
// expected-error@-2{{unknown type name '__Poly16x4_t'}}
__Bfloat16x4_t Bfloat16x4;
// CHECK: Bfloat16x4 '__Bfloat16x4_t':'__attribute__((neon_vector_type(4))) __bf16'
// expected-error@-2{{unknown type name '__Bfloat16x4_t'}}
__Int8x16_t Int8x16;
// CHECK: Int8x16 '__Int8x16_t':'__attribute__((neon_vector_type(16))) signed char'
// expected-error@-2{{unknown type name '__Int8x16_t'}}
__Int16x8_t Int16x8;
// CHECK: Int16x8 '__Int16x8_t':'__attribute__((neon_vector_type(8))) short'
// expected-error@-2{{unknown type name '__Int16x8_t'}}
__Int32x4_t Int32x4;
// CHECK: Int32x4 '__Int32x4_t':'__attribute__((neon_vector_type(4))) int'
// expected-error@-2{{unknown type name '__Int32x4_t'}}
__Int64x2_t Int64x2;
// CHECK: Int64x2 '__Int64x2_t':'__attribute__((neon_vector_type(2))) long'
// expected-error@-2{{unknown type name '__Int64x2_t'}}
__Uint8x16_t Uint8x16;
// CHECK: Uint8x16 '__Uint8x16_t':'__attribute__((neon_vector_type(16))) unsigned char'
// expected-error@-2{{unknown type name '__Uint8x16_t'}}
__Uint16x8_t Uint16x8;
// CHECK: Uint16x8 '__Uint16x8_t':'__attribute__((neon_vector_type(8))) unsigned short'
// expected-error@-2{{unknown type name '__Uint16x8_t'}}
__Uint32x4_t Uint32x4;
// CHECK: Uint32x4 '__Uint32x4_t':'__attribute__((neon_vector_type(4))) unsigned int'
// expected-error@-2{{unknown type name '__Uint32x4_t'}}
__Uint64x2_t Uint64x2;
// CHECK: Uint64x2 '__Uint64x2_t':'__attribute__((neon_vector_type(2))) unsigned long'
// expected-error@-2{{unknown type name '__Uint64x2_t'}}
__Float16x8_t Float16x8;
// CHECK: Float16x8 '__Float16x8_t':'__attribute__((neon_vector_type(8))) __fp16'
// expected-error@-2{{unknown type name '__Float16x8_t'}}
__Float32x4_t Float32x4;
// CHECK: Float32x4 '__Float32x4_t':'__attribute__((neon_vector_type(4))) float'
// expected-error@-2{{unknown type name '__Float32x4_t'}}
__Float64x2_t Float64x2;
// CHECK: Float64x2 '__Float64x2_t':'__attribute__((neon_vector_type(2))) double'
// expected-error@-2{{unknown type name '__Float64x2_t'}}
__Poly8x16_t Poly8x16;
// CHECK: Poly8x16 '__Poly8x16_t':'__attribute__((neon_polyvector_type(16))) unsigned char'
// expected-error@-2{{unknown type name '__Poly8x16_t'}}
__Poly16x8_t Poly16x8;
// CHECK: Poly16x8 '__Poly16x8_t':'__attribute__((neon_polyvector_type(8))) unsigned short'
// expected-error@-2{{unknown type name '__Poly16x8_t'}}
__Poly64x2_t Poly64x2;
// CHECK: Poly64x2 '__Poly64x2_t':'__attribute__((neon_polyvector_type(2))) unsigned long'
// expected-error@-2{{unknown type name '__Poly64x2_t'}}
__Bfloat16x8_t Bfloat16x8;
// CHECK: Bfloat16x8 '__Bfloat16x8_t':'__attribute__((neon_vector_type(8))) __bf16'
// expected-error@-2{{unknown type name '__Bfloat16x8_t'}}
__mfp8 mfp8;
// CHECK: mfp8 '__mfp8'
// expected-error@-2{{unknown type name '__mfp8'}}
__Mfloat8x8_t Mfloat8x8;
// CHECK: Mfloat8x8 '__Mfloat8x8_t':'__attribute__((neon_vector_type(8))) __mfp8'
// expected-error@-2{{unknown type name '__Mfloat8x8_t'}}
__Mfloat8x16_t Mfloat8x16;
// CHECK: Mfloat8x16 '__Mfloat8x16_t':'__attribute__((neon_vector_type(16))) __mfp8'
// expected-error@-2{{unknown type name '__Mfloat8x16_t'}}
|