[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / Sema / aarch64-sve-vector-bitwise-ops.c
blobe2d9045c3a0d88c5cf10fdcc63081088cc42e4e3
1 // RUN: %clang_cc1 -verify -triple aarch64-none-linux-gnu -target-feature +sve -fallow-half-arguments-and-returns -fsyntax-only %s
3 // REQUIRES: aarch64-registered-target
5 #include <arm_sve.h>
7 void and (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
8 svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
9 svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
10 svbool_t b) {
11 (void)(i8 & b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
12 (void)(i8 & i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
13 (void)(i8 & i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
14 (void)(i8 & i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
15 (void)(i8 & u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
16 (void)(i8 & u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
17 (void)(i8 & u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
18 (void)(i8 & f16); // expected-error{{invalid operands to binary expression}}
19 (void)(i8 & f32); // expected-error{{invalid operands to binary expression}}
20 (void)(i8 & f64); // expected-error{{invalid operands to binary expression}}
22 (void)(u8 & b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
23 (void)(u8 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
24 (void)(u8 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
25 (void)(u8 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
26 (void)(u8 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
27 (void)(u8 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
28 (void)(u8 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
29 (void)(u8 & f16); // expected-error{{invalid operands to binary expression}}
30 (void)(u8 & f32); // expected-error{{invalid operands to binary expression}}
31 (void)(u8 & f64); // expected-error{{invalid operands to binary expression}}
33 (void)(i16 & b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
34 (void)(i16 & i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
35 (void)(i16 & i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
36 (void)(i16 & i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
37 (void)(i16 & u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
38 (void)(i16 & u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
39 (void)(i16 & u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
40 (void)(i16 & f16); // expected-error{{invalid operands to binary expression}}
41 (void)(i16 & f32); // expected-error{{invalid operands to binary expression}}
42 (void)(i16 & f64); // expected-error{{invalid operands to binary expression}}
44 (void)(u16 & b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
45 (void)(u16 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
46 (void)(u16 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
47 (void)(u16 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
48 (void)(u16 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
49 (void)(u16 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
50 (void)(u16 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
51 (void)(u16 & f16); // expected-error{{invalid operands to binary expression}}
52 (void)(u16 & f32); // expected-error{{invalid operands to binary expression}}
53 (void)(u16 & f64); // expected-error{{invalid operands to binary expression}}
55 (void)(i32 & b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
56 (void)(i32 & i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
57 (void)(i32 & i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
58 (void)(i32 & i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
59 (void)(i32 & u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
60 (void)(i32 & u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
61 (void)(i32 & u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
62 (void)(i32 & f16); // expected-error{{invalid operands to binary expression}}
63 (void)(i32 & f32); // expected-error{{invalid operands to binary expression}}
64 (void)(i32 & f64); // expected-error{{invalid operands to binary expression}}
66 (void)(u32 & b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
67 (void)(u32 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
68 (void)(u32 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
69 (void)(u32 & i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
70 (void)(u32 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
71 (void)(u32 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
72 (void)(u32 & u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
73 (void)(u32 & f16); // expected-error{{invalid operands to binary expression}}
74 (void)(u32 & f32); // expected-error{{invalid operands to binary expression}}
75 (void)(u32 & f64); // expected-error{{invalid operands to binary expression}}
77 (void)(i64 & b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
78 (void)(i64 & i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
79 (void)(i64 & i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
80 (void)(i64 & i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
81 (void)(i64 & u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
82 (void)(i64 & u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
83 (void)(i64 & u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
84 (void)(i64 & f16); // expected-error{{invalid operands to binary expression}}
85 (void)(i64 & f32); // expected-error{{invalid operands to binary expression}}
86 (void)(i64 & f64); // expected-error{{invalid operands to binary expression}}
88 (void)(u64 & b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
89 (void)(u64 & i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
90 (void)(u64 & i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
91 (void)(u64 & i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
92 (void)(u64 & u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
93 (void)(u64 & u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
94 (void)(u64 & u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
95 (void)(u64 & f16); // expected-error{{invalid operands to binary expression}}
96 (void)(u64 & f32); // expected-error{{invalid operands to binary expression}}
97 (void)(u64 & f64); // expected-error{{invalid operands to binary expression}}
99 (void)(f16 & b); // expected-error{{invalid operands to binary expression}}
100 (void)(f16 & i8); // expected-error{{invalid operands to binary expression}}
101 (void)(f16 & i16); // expected-error{{invalid operands to binary expression}}
102 (void)(f16 & i32); // expected-error{{invalid operands to binary expression}}
103 (void)(f16 & i64); // expected-error{{invalid operands to binary expression}}
104 (void)(f16 & u8); // expected-error{{invalid operands to binary expression}}
105 (void)(f16 & u32); // expected-error{{invalid operands to binary expression}}
106 (void)(f16 & u64); // expected-error{{invalid operands to binary expression}}
107 (void)(f16 & f32); // expected-error{{invalid operands to binary expression}}
108 (void)(f16 & f64); // expected-error{{invalid operands to binary expression}}
110 (void)(f32 & b); // expected-error{{invalid operands to binary expression}}
111 (void)(f32 & i8); // expected-error{{invalid operands to binary expression}}
112 (void)(f32 & i16); // expected-error{{invalid operands to binary expression}}
113 (void)(f32 & i32); // expected-error{{invalid operands to binary expression}}
114 (void)(f32 & i64); // expected-error{{invalid operands to binary expression}}
115 (void)(f32 & u8); // expected-error{{invalid operands to binary expression}}
116 (void)(f32 & u16); // expected-error{{invalid operands to binary expression}}
117 (void)(f32 & u64); // expected-error{{invalid operands to binary expression}}
118 (void)(f32 & f16); // expected-error{{invalid operands to binary expression}}
119 (void)(f32 & f32); // expected-error{{invalid operands to binary expression}}
120 (void)(f32 & f64); // expected-error{{invalid operands to binary expression}}
122 (void)(f64 & b); // expected-error{{invalid operands to binary expression}}
123 (void)(f64 & i8); // expected-error{{invalid operands to binary expression}}
124 (void)(f64 & i16); // expected-error{{invalid operands to binary expression}}
125 (void)(f64 & i32); // expected-error{{invalid operands to binary expression}}
126 (void)(f64 & i64); // expected-error{{invalid operands to binary expression}}
127 (void)(f64 & u8); // expected-error{{invalid operands to binary expression}}
128 (void)(f64 & u16); // expected-error{{invalid operands to binary expression}}
129 (void)(f64 & u32); // expected-error{{invalid operands to binary expression}}
130 (void)(f64 & f16); // expected-error{{invalid operands to binary expression}}
131 (void)(f64 & f32); // expected-error{{invalid operands to binary expression}}
132 (void)(f64 & f64); // expected-error{{invalid operands to binary expression}}
135 void or (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64,
136 svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64,
137 svfloat16_t f16, svfloat32_t f32, svfloat64_t f64,
138 svbool_t b) {
139 (void)(i8 | b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
140 (void)(i8 | i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
141 (void)(i8 | i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
142 (void)(i8 | i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
143 (void)(i8 | u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
144 (void)(i8 | u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
145 (void)(i8 | u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
146 (void)(i8 | f16); // expected-error{{invalid operands to binary expression}}
147 (void)(i8 | f32); // expected-error{{invalid operands to binary expression}}
148 (void)(i8 | f64); // expected-error{{invalid operands to binary expression}}
150 (void)(u8 | b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
151 (void)(u8 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
152 (void)(u8 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
153 (void)(u8 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
154 (void)(u8 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
155 (void)(u8 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
156 (void)(u8 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
157 (void)(u8 | f16); // expected-error{{invalid operands to binary expression}}
158 (void)(u8 | f32); // expected-error{{invalid operands to binary expression}}
159 (void)(u8 | f64); // expected-error{{invalid operands to binary expression}}
161 (void)(i16 | b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
162 (void)(i16 | i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
163 (void)(i16 | i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
164 (void)(i16 | i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
165 (void)(i16 | u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
166 (void)(i16 | u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
167 (void)(i16 | u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
168 (void)(i16 | f16); // expected-error{{invalid operands to binary expression}}
169 (void)(i16 | f32); // expected-error{{invalid operands to binary expression}}
170 (void)(i16 | f64); // expected-error{{invalid operands to binary expression}}
172 (void)(u16 | b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
173 (void)(u16 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
174 (void)(u16 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
175 (void)(u16 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
176 (void)(u16 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
177 (void)(u16 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
178 (void)(u16 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
179 (void)(u16 | f16); // expected-error{{invalid operands to binary expression}}
180 (void)(u16 | f32); // expected-error{{invalid operands to binary expression}}
181 (void)(u16 | f64); // expected-error{{invalid operands to binary expression}}
183 (void)(i32 | b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
184 (void)(i32 | i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
185 (void)(i32 | i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
186 (void)(i32 | i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
187 (void)(i32 | u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
188 (void)(i32 | u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
189 (void)(i32 | u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
190 (void)(i32 | f16); // expected-error{{invalid operands to binary expression}}
191 (void)(i32 | f32); // expected-error{{invalid operands to binary expression}}
192 (void)(i32 | f64); // expected-error{{invalid operands to binary expression}}
194 (void)(u32 | b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
195 (void)(u32 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
196 (void)(u32 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
197 (void)(u32 | i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
198 (void)(u32 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
199 (void)(u32 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
200 (void)(u32 | u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
201 (void)(u32 | f16); // expected-error{{invalid operands to binary expression}}
202 (void)(u32 | f32); // expected-error{{invalid operands to binary expression}}
203 (void)(u32 | f64); // expected-error{{invalid operands to binary expression}}
205 (void)(i64 | b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
206 (void)(i64 | i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
207 (void)(i64 | i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
208 (void)(i64 | i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
209 (void)(i64 | u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
210 (void)(i64 | u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
211 (void)(i64 | u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
212 (void)(i64 | f16); // expected-error{{invalid operands to binary expression}}
213 (void)(i64 | f32); // expected-error{{invalid operands to binary expression}}
214 (void)(i64 | f64); // expected-error{{invalid operands to binary expression}}
216 (void)(u64 | b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
217 (void)(u64 | i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
218 (void)(u64 | i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
219 (void)(u64 | i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
220 (void)(u64 | u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
221 (void)(u64 | u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
222 (void)(u64 | u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
223 (void)(u64 | f16); // expected-error{{invalid operands to binary expression}}
224 (void)(u64 | f32); // expected-error{{invalid operands to binary expression}}
225 (void)(u64 | f64); // expected-error{{invalid operands to binary expression}}
227 (void)(f16 | b); // expected-error{{invalid operands to binary expression}}
228 (void)(f16 | i8); // expected-error{{invalid operands to binary expression}}
229 (void)(f16 | i16); // expected-error{{invalid operands to binary expression}}
230 (void)(f16 | i32); // expected-error{{invalid operands to binary expression}}
231 (void)(f16 | i64); // expected-error{{invalid operands to binary expression}}
232 (void)(f16 | u8); // expected-error{{invalid operands to binary expression}}
233 (void)(f16 | u32); // expected-error{{invalid operands to binary expression}}
234 (void)(f16 | u64); // expected-error{{invalid operands to binary expression}}
235 (void)(f16 | f16); // expected-error{{invalid operands to binary expression}}
236 (void)(f16 | f32); // expected-error{{invalid operands to binary expression}}
237 (void)(f16 | f64); // expected-error{{invalid operands to binary expression}}
239 (void)(f32 | b); // expected-error{{invalid operands to binary expression}}
240 (void)(f32 | i8); // expected-error{{invalid operands to binary expression}}
241 (void)(f32 | i16); // expected-error{{invalid operands to binary expression}}
242 (void)(f32 | i32); // expected-error{{invalid operands to binary expression}}
243 (void)(f32 | i64); // expected-error{{invalid operands to binary expression}}
244 (void)(f32 | u8); // expected-error{{invalid operands to binary expression}}
245 (void)(f32 | u16); // expected-error{{invalid operands to binary expression}}
246 (void)(f32 | u64); // expected-error{{invalid operands to binary expression}}
247 (void)(f32 | f16); // expected-error{{invalid operands to binary expression}}
248 (void)(f32 | f32); // expected-error{{invalid operands to binary expression}}
249 (void)(f32 | f64); // expected-error{{invalid operands to binary expression}}
251 (void)(f64 | b); // expected-error{{invalid operands to binary expression}}
252 (void)(f64 | i8); // expected-error{{invalid operands to binary expression}}
253 (void)(f64 | i16); // expected-error{{invalid operands to binary expression}}
254 (void)(f64 | i32); // expected-error{{invalid operands to binary expression}}
255 (void)(f64 | i64); // expected-error{{invalid operands to binary expression}}
256 (void)(f64 | u8); // expected-error{{invalid operands to binary expression}}
257 (void)(f64 | u16); // expected-error{{invalid operands to binary expression}}
258 (void)(f64 | u32); // expected-error{{invalid operands to binary expression}}
259 (void)(f64 | f16); // expected-error{{invalid operands to binary expression}}
260 (void)(f64 | f32); // expected-error{{invalid operands to binary expression}}
261 (void)(f64 | f64); // expected-error{{invalid operands to binary expression}}
264 void xor (svint8_t i8, svint16_t i16, svint32_t i32, svint64_t i64, svuint8_t u8, svuint16_t u16, svuint32_t u32, svuint64_t u64, svfloat16_t f16, svfloat32_t f32, svfloat64_t f64, svbool_t b) {
265 (void)(i8 ^ b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svint8_t' (aka '__SVInt8_t') as implicit conversion would cause truncation}}
266 (void)(i8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
267 (void)(i8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
268 (void)(i8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
269 (void)(i8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
270 (void)(i8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
271 (void)(i8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint8_t' (aka '__SVInt8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
272 (void)(i8 ^ f16); // expected-error{{invalid operands to binary expression}}
273 (void)(i8 ^ f32); // expected-error{{invalid operands to binary expression}}
274 (void)(i8 ^ f64); // expected-error{{invalid operands to binary expression}}
276 (void)(u8 ^ b); // expected-error{{cannot convert between vector type 'svbool_t' (aka '__SVBool_t') and vector type 'svuint8_t' (aka '__SVUint8_t') as implicit conversion would cause truncation}}
277 (void)(u8 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint16_t' (aka '__SVInt16_t'))}}
278 (void)(u8 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint32_t' (aka '__SVInt32_t'))}}
279 (void)(u8 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svint64_t' (aka '__SVInt64_t'))}}
280 (void)(u8 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
281 (void)(u8 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
282 (void)(u8 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint8_t' (aka '__SVUint8_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
283 (void)(u8 ^ f16); // expected-error{{invalid operands to binary expression}}
284 (void)(u8 ^ f32); // expected-error{{invalid operands to binary expression}}
285 (void)(u8 ^ f64); // expected-error{{invalid operands to binary expression}}
287 (void)(i16 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svbool_t' (aka '__SVBool_t'))}}
288 (void)(i16 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
289 (void)(i16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
290 (void)(i16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
291 (void)(i16 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
292 (void)(i16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
293 (void)(i16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint16_t' (aka '__SVInt16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
294 (void)(i16 ^ f16); // expected-error{{invalid operands to binary expression}}
295 (void)(i16 ^ f32); // expected-error{{invalid operands to binary expression}}
296 (void)(i16 ^ f64); // expected-error{{invalid operands to binary expression}}
298 (void)(u16 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svbool_t' (aka '__SVBool_t'))}}
299 (void)(u16 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint8_t' (aka '__SVInt8_t'))}}
300 (void)(u16 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint32_t' (aka '__SVInt32_t'))}}
301 (void)(u16 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svint64_t' (aka '__SVInt64_t'))}}
302 (void)(u16 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
303 (void)(u16 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
304 (void)(u16 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint16_t' (aka '__SVUint16_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
305 (void)(u16 ^ f16); // expected-error{{invalid operands to binary expression}}
306 (void)(u16 ^ f32); // expected-error{{invalid operands to binary expression}}
307 (void)(u16 ^ f64); // expected-error{{invalid operands to binary expression}}
309 (void)(i32 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svbool_t' (aka '__SVBool_t'))}}
310 (void)(i32 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
311 (void)(i32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
312 (void)(i32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
313 (void)(i32 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
314 (void)(i32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
315 (void)(i32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svint32_t' (aka '__SVInt32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
316 (void)(i32 ^ f16); // expected-error{{invalid operands to binary expression}}
317 (void)(i32 ^ f32); // expected-error{{invalid operands to binary expression}}
318 (void)(i32 ^ f64); // expected-error{{invalid operands to binary expression}}
320 (void)(u32 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svbool_t' (aka '__SVBool_t'))}}
321 (void)(u32 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint8_t' (aka '__SVInt8_t'))}}
322 (void)(u32 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint16_t' (aka '__SVInt16_t'))}}
323 (void)(u32 ^ i64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svint64_t' (aka '__SVInt64_t'))}}
324 (void)(u32 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
325 (void)(u32 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
326 (void)(u32 ^ u64); // expected-error{{vector operands do not have the same number of elements ('svuint32_t' (aka '__SVUint32_t') and 'svuint64_t' (aka '__SVUint64_t'))}}
327 (void)(u32 ^ f16); // expected-error{{invalid operands to binary expression}}
328 (void)(u32 ^ f32); // expected-error{{invalid operands to binary expression}}
329 (void)(u32 ^ f64); // expected-error{{invalid operands to binary expression}}
331 (void)(i64 ^ b); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svbool_t' (aka '__SVBool_t'))}}
332 (void)(i64 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
333 (void)(i64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
334 (void)(i64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
335 (void)(i64 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
336 (void)(i64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
337 (void)(i64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svint64_t' (aka '__SVInt64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
338 (void)(i64 ^ f16); // expected-error{{invalid operands to binary expression}}
339 (void)(i64 ^ f32); // expected-error{{invalid operands to binary expression}}
340 (void)(i64 ^ f64); // expected-error{{invalid operands to binary expression}}
342 (void)(u64 ^ b); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svbool_t' (aka '__SVBool_t'))}}
343 (void)(u64 ^ i8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint8_t' (aka '__SVInt8_t'))}}
344 (void)(u64 ^ i16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint16_t' (aka '__SVInt16_t'))}}
345 (void)(u64 ^ i32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svint32_t' (aka '__SVInt32_t'))}}
346 (void)(u64 ^ u8); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint8_t' (aka '__SVUint8_t'))}}
347 (void)(u64 ^ u16); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint16_t' (aka '__SVUint16_t'))}}
348 (void)(u64 ^ u32); // expected-error{{vector operands do not have the same number of elements ('svuint64_t' (aka '__SVUint64_t') and 'svuint32_t' (aka '__SVUint32_t'))}}
349 (void)(u64 ^ f16); // expected-error{{invalid operands to binary expression}}
350 (void)(u64 ^ f32); // expected-error{{invalid operands to binary expression}}
351 (void)(u64 ^ f64); // expected-error{{invalid operands to binary expression}}
353 (void)(f16 ^ b); // expected-error{{invalid operands to binary expression}}
354 (void)(f16 ^ i8); // expected-error{{invalid operands to binary expression}}
355 (void)(f16 ^ i16); // expected-error{{invalid operands to binary expression}}
356 (void)(f16 ^ i32); // expected-error{{invalid operands to binary expression}}
357 (void)(f16 ^ i64); // expected-error{{invalid operands to binary expression}}
358 (void)(f16 ^ u8); // expected-error{{invalid operands to binary expression}}
359 (void)(f16 ^ u32); // expected-error{{invalid operands to binary expression}}
360 (void)(f16 ^ u64); // expected-error{{invalid operands to binary expression}}
361 (void)(f16 ^ f16); // expected-error{{invalid operands to binary expression}}
362 (void)(f16 ^ f32); // expected-error{{invalid operands to binary expression}}
363 (void)(f16 ^ f64); // expected-error{{invalid operands to binary expression}}
365 (void)(f32 ^ b); // expected-error{{invalid operands to binary expression}}
366 (void)(f32 ^ i8); // expected-error{{invalid operands to binary expression}}
367 (void)(f32 ^ i16); // expected-error{{invalid operands to binary expression}}
368 (void)(f32 ^ i32); // expected-error{{invalid operands to binary expression}}
369 (void)(f32 ^ i64); // expected-error{{invalid operands to binary expression}}
370 (void)(f32 ^ u8); // expected-error{{invalid operands to binary expression}}
371 (void)(f32 ^ u16); // expected-error{{invalid operands to binary expression}}
372 (void)(f32 ^ u64); // expected-error{{invalid operands to binary expression}}
373 (void)(f32 ^ f16); // expected-error{{invalid operands to binary expression}}
374 (void)(f32 ^ f32); // expected-error{{invalid operands to binary expression}}
375 (void)(f32 ^ f64); // expected-error{{invalid operands to binary expression}}
377 (void)(f64 ^ b); // expected-error{{invalid operands to binary expression}}
378 (void)(f64 ^ i8); // expected-error{{invalid operands to binary expression}}
379 (void)(f64 ^ i16); // expected-error{{invalid operands to binary expression}}
380 (void)(f64 ^ i32); // expected-error{{invalid operands to binary expression}}
381 (void)(f64 ^ i64); // expected-error{{invalid operands to binary expression}}
382 (void)(f64 ^ u8); // expected-error{{invalid operands to binary expression}}
383 (void)(f64 ^ u16); // expected-error{{invalid operands to binary expression}}
384 (void)(f64 ^ u32); // expected-error{{invalid operands to binary expression}}
385 (void)(f64 ^ f16); // expected-error{{invalid operands to binary expression}}
386 (void)(f64 ^ f32); // expected-error{{invalid operands to binary expression}}
387 (void)(f64 ^ f64); // expected-error{{invalid operands to binary expression}}
390 void not(svfloat16_t f16, svfloat32_t f32, svfloat32_t f64) {
391 (void)(~f16); // expected-error{{invalid argument type}}
392 (void)(~f32); // expected-error{{invalid argument type}}
393 (void)(~f64); // expected-error{{invalid argument type}}