Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / Sema / aarch64-sve2-intrinsics / acle_sve2_imm_n.cpp
blob5b3ce8d3018d603e9f65b3f2a87d314f350199d2
1 // REQUIRES: aarch64-registered-target
3 // RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve2 -fsyntax-only -verify %s
4 // RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve2 -fsyntax-only -verify %s
6 #ifdef SVE_OVERLOADED_FORMS
7 // A simple used,unused... macro, long enough to represent any SVE builtin.
8 #define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A3
9 #else
10 #define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A4
11 #endif
13 #include <arm_sve.h>
15 void test_range_0_7(svbool_t pg)
17 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
18 SVE_ACLE_FUNC(svqshlu,_n_s8,_x,)(pg, svundef_s8(), -1);
19 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
20 SVE_ACLE_FUNC(svqshlu,_n_s8,_z,)(pg, svundef_s8(), -1);
21 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
22 SVE_ACLE_FUNC(svqshlu,_n_s8,_m,)(pg, svundef_s8(), -1);
23 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
24 SVE_ACLE_FUNC(svshllb,_n_s16,,)(svundef_s8(), -1);
25 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
26 SVE_ACLE_FUNC(svshllb,_n_u16,,)(svundef_u8(), -1);
27 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
28 SVE_ACLE_FUNC(svshllt,_n_s16,,)(svundef_s8(), -1);
29 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
30 SVE_ACLE_FUNC(svshllt,_n_u16,,)(svundef_u8(), -1);
31 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
32 SVE_ACLE_FUNC(svsli,_n_s8,,)(svundef_s8(), svundef_s8(), -1);
33 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 7]}}
34 SVE_ACLE_FUNC(svsli,_n_u8,,)(svundef_u8(), svundef_u8(), -1);
37 void test_range_1_8(svbool_t pg)
39 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
40 SVE_ACLE_FUNC(svqrshrnb,_n_s16,,)(svundef_s16(), 0);
41 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
42 SVE_ACLE_FUNC(svqrshrnb,_n_u16,,)(svundef_u16(), 0);
43 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
44 SVE_ACLE_FUNC(svqrshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);
45 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
46 SVE_ACLE_FUNC(svqrshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);
47 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
48 SVE_ACLE_FUNC(svqrshrunb,_n_s16,,)(svundef_s16(), 0);
49 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
50 SVE_ACLE_FUNC(svqrshrunt,_n_s16,,)(svundef_u8(), svundef_s16(), 0);
51 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
52 SVE_ACLE_FUNC(svqshrnb,_n_s16,,)(svundef_s16(), 0);
53 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
54 SVE_ACLE_FUNC(svqshrnb,_n_u16,,)(svundef_u16(), 0);
55 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
56 SVE_ACLE_FUNC(svqshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);
57 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
58 SVE_ACLE_FUNC(svqshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);
59 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
60 SVE_ACLE_FUNC(svqshrunb,_n_s16,,)(svundef_s16(), 0);
61 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
62 SVE_ACLE_FUNC(svqshrunt,_n_s16,,)(svundef_u8(), svundef_s16(), 0);
63 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
64 SVE_ACLE_FUNC(svrshr,_n_s8,_x,)(pg, svundef_s8(), 0);
65 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
66 SVE_ACLE_FUNC(svrshr,_n_s8,_z,)(pg, svundef_s8(), 0);
67 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
68 SVE_ACLE_FUNC(svrshr,_n_s8,_m,)(pg, svundef_s8(), 0);
69 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
70 SVE_ACLE_FUNC(svrshr,_n_u8,_x,)(pg, svundef_u8(), 0);
71 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
72 SVE_ACLE_FUNC(svrshr,_n_u8,_z,)(pg, svundef_u8(), 0);
73 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
74 SVE_ACLE_FUNC(svrshr,_n_u8,_m,)(pg, svundef_u8(), 0);
75 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
76 SVE_ACLE_FUNC(svrshrnb,_n_s16,,)(svundef_s16(), 0);
77 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
78 SVE_ACLE_FUNC(svrshrnb,_n_u16,,)(svundef_u16(), 0);
79 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
80 SVE_ACLE_FUNC(svrshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);
81 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
82 SVE_ACLE_FUNC(svrshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);
83 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
84 SVE_ACLE_FUNC(svrsra,_n_s8,,)(svundef_s8(), svundef_s8(), 0);
85 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
86 SVE_ACLE_FUNC(svrsra,_n_u8,,)(svundef_u8(), svundef_u8(), 0);
87 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
88 SVE_ACLE_FUNC(svshrnb,_n_s16,,)(svundef_s16(), 0);
89 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
90 SVE_ACLE_FUNC(svshrnb,_n_u16,,)(svundef_u16(), 0);
91 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
92 SVE_ACLE_FUNC(svshrnt,_n_s16,,)(svundef_s8(), svundef_s16(), 0);
93 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
94 SVE_ACLE_FUNC(svshrnt,_n_u16,,)(svundef_u8(), svundef_u16(), 0);
95 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
96 SVE_ACLE_FUNC(svsra,_n_s8,,)(svundef_s8(), svundef_s8(), 0);
97 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
98 SVE_ACLE_FUNC(svsra,_n_u8,,)(svundef_u8(), svundef_u8(), 0);
99 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
100 SVE_ACLE_FUNC(svsri,_n_s8,,)(svundef_s8(), svundef_s8(), 0);
101 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
102 SVE_ACLE_FUNC(svsri,_n_u8,,)(svundef_u8(), svundef_u8(), 0);
103 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
104 SVE_ACLE_FUNC(svxar,_n_s8,,)(svundef_s8(), svundef_s8(), 0);
105 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 8]}}
106 SVE_ACLE_FUNC(svxar,_n_u8,,)(svundef_u8(), svundef_u8(), 0);
109 void test_range_0_15(svbool_t pg)
111 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
112 SVE_ACLE_FUNC(svqshlu,_n_s16,_x,)(pg, svundef_s16(), -1);
113 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
114 SVE_ACLE_FUNC(svqshlu,_n_s16,_z,)(pg, svundef_s16(), -1);
115 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
116 SVE_ACLE_FUNC(svqshlu,_n_s16,_m,)(pg, svundef_s16(), -1);
117 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
118 SVE_ACLE_FUNC(svshllb,_n_s32,,)(svundef_s16(), -1);
119 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
120 SVE_ACLE_FUNC(svshllb,_n_u32,,)(svundef_u16(), -1);
121 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
122 SVE_ACLE_FUNC(svshllt,_n_s32,,)(svundef_s16(), -1);
123 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
124 SVE_ACLE_FUNC(svshllt,_n_u32,,)(svundef_u16(), -1);
125 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
126 SVE_ACLE_FUNC(svsli,_n_s16,,)(svundef_s16(), svundef_s16(), -1);
127 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 15]}}
128 SVE_ACLE_FUNC(svsli,_n_u16,,)(svundef_u16(), svundef_u16(), -1);
131 void test_range_1_16(svbool_t pg)
133 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
134 SVE_ACLE_FUNC(svqrshrnb,_n_s32,,)(svundef_s32(), 0);
135 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
136 SVE_ACLE_FUNC(svqrshrnb,_n_u32,,)(svundef_u32(), 0);
137 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
138 SVE_ACLE_FUNC(svqrshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);
139 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
140 SVE_ACLE_FUNC(svqrshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);
141 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
142 SVE_ACLE_FUNC(svqrshrunb,_n_s32,,)(svundef_s32(), 0);
143 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
144 SVE_ACLE_FUNC(svqrshrunt,_n_s32,,)(svundef_u16(), svundef_s32(), 0);
145 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
146 SVE_ACLE_FUNC(svqshrnb,_n_s32,,)(svundef_s32(), 0);
147 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
148 SVE_ACLE_FUNC(svqshrnb,_n_u32,,)(svundef_u32(), 0);
149 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
150 SVE_ACLE_FUNC(svqshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);
151 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
152 SVE_ACLE_FUNC(svqshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);
153 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
154 SVE_ACLE_FUNC(svqshrunb,_n_s32,,)(svundef_s32(), 0);
155 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
156 SVE_ACLE_FUNC(svqshrunt,_n_s32,,)(svundef_u16(), svundef_s32(), 0);
157 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
158 SVE_ACLE_FUNC(svrshr,_n_s16,_x,)(pg, svundef_s16(), 0);
159 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
160 SVE_ACLE_FUNC(svrshr,_n_s16,_z,)(pg, svundef_s16(), 0);
161 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
162 SVE_ACLE_FUNC(svrshr,_n_s16,_m,)(pg, svundef_s16(), 0);
163 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
164 SVE_ACLE_FUNC(svrshr,_n_u16,_x,)(pg, svundef_u16(), 0);
165 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
166 SVE_ACLE_FUNC(svrshr,_n_u16,_z,)(pg, svundef_u16(), 0);
167 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
168 SVE_ACLE_FUNC(svrshr,_n_u16,_m,)(pg, svundef_u16(), 0);
169 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
170 SVE_ACLE_FUNC(svrshrnb,_n_s32,,)(svundef_s32(), 0);
171 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
172 SVE_ACLE_FUNC(svrshrnb,_n_u32,,)(svundef_u32(), 0);
173 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
174 SVE_ACLE_FUNC(svrshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);
175 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
176 SVE_ACLE_FUNC(svrshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);
177 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
178 SVE_ACLE_FUNC(svrsra,_n_s16,,)(svundef_s16(), svundef_s16(), 0);
179 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
180 SVE_ACLE_FUNC(svrsra,_n_u16,,)(svundef_u16(), svundef_u16(), 0);
181 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
182 SVE_ACLE_FUNC(svshrnb,_n_s32,,)(svundef_s32(), 0);
183 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
184 SVE_ACLE_FUNC(svshrnb,_n_u32,,)(svundef_u32(), 0);
185 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
186 SVE_ACLE_FUNC(svshrnt,_n_s32,,)(svundef_s16(), svundef_s32(), 0);
187 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
188 SVE_ACLE_FUNC(svshrnt,_n_u32,,)(svundef_u16(), svundef_u32(), 0);
189 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
190 SVE_ACLE_FUNC(svsra,_n_s16,,)(svundef_s16(), svundef_s16(), 0);
191 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
192 SVE_ACLE_FUNC(svsra,_n_u16,,)(svundef_u16(), svundef_u16(), 0);
193 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
194 SVE_ACLE_FUNC(svsri,_n_s16,,)(svundef_s16(), svundef_s16(), 0);
195 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
196 SVE_ACLE_FUNC(svsri,_n_u16,,)(svundef_u16(), svundef_u16(), 0);
197 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
198 SVE_ACLE_FUNC(svxar,_n_s16,,)(svundef_s16(), svundef_s16(), 0);
199 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 16]}}
200 SVE_ACLE_FUNC(svxar,_n_u16,,)(svundef_u16(), svundef_u16(), 0);
203 void test_range_0_31(svbool_t pg)
205 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
206 SVE_ACLE_FUNC(svqshlu,_n_s32,_x,)(pg, svundef_s32(), -1);
207 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
208 SVE_ACLE_FUNC(svqshlu,_n_s32,_z,)(pg, svundef_s32(), -1);
209 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
210 SVE_ACLE_FUNC(svqshlu,_n_s32,_m,)(pg, svundef_s32(), -1);
211 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
212 SVE_ACLE_FUNC(svshllb,_n_s64,,)(svundef_s32(), -1);
213 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
214 SVE_ACLE_FUNC(svshllb,_n_u64,,)(svundef_u32(), -1);
215 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
216 SVE_ACLE_FUNC(svshllt,_n_s64,,)(svundef_s32(), -1);
217 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
218 SVE_ACLE_FUNC(svshllt,_n_u64,,)(svundef_u32(), -1);
219 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
220 SVE_ACLE_FUNC(svsli,_n_s32,,)(svundef_s32(), svundef_s32(), -1);
221 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 31]}}
222 SVE_ACLE_FUNC(svsli,_n_u32,,)(svundef_u32(), svundef_u32(), -1);
225 void test_range_1_32(svbool_t pg)
227 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
228 SVE_ACLE_FUNC(svqrshrnb,_n_s64,,)(svundef_s64(), 0);
229 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
230 SVE_ACLE_FUNC(svqrshrnb,_n_u64,,)(svundef_u64(), 0);
231 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
232 SVE_ACLE_FUNC(svqrshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);
233 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
234 SVE_ACLE_FUNC(svqrshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);
235 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
236 SVE_ACLE_FUNC(svqrshrunb,_n_s64,,)(svundef_s64(), 0);
237 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
238 SVE_ACLE_FUNC(svqrshrunt,_n_s64,,)(svundef_u32(), svundef_s64(), 0);
239 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
240 SVE_ACLE_FUNC(svqshrnb,_n_s64,,)(svundef_s64(), 0);
241 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
242 SVE_ACLE_FUNC(svqshrnb,_n_u64,,)(svundef_u64(), 0);
243 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
244 SVE_ACLE_FUNC(svqshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);
245 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
246 SVE_ACLE_FUNC(svqshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);
247 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
248 SVE_ACLE_FUNC(svqshrunb,_n_s64,,)(svundef_s64(), 0);
249 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
250 SVE_ACLE_FUNC(svqshrunt,_n_s64,,)(svundef_u32(), svundef_s64(), 0);
251 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
252 SVE_ACLE_FUNC(svrshr,_n_s32,_x,)(pg, svundef_s32(), 0);
253 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
254 SVE_ACLE_FUNC(svrshr,_n_s32,_z,)(pg, svundef_s32(), 0);
255 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
256 SVE_ACLE_FUNC(svrshr,_n_s32,_m,)(pg, svundef_s32(), 0);
257 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
258 SVE_ACLE_FUNC(svrshr,_n_u32,_x,)(pg, svundef_u32(), 0);
259 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
260 SVE_ACLE_FUNC(svrshr,_n_u32,_z,)(pg, svundef_u32(), 0);
261 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
262 SVE_ACLE_FUNC(svrshr,_n_u32,_m,)(pg, svundef_u32(), 0);
263 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
264 SVE_ACLE_FUNC(svrshrnb,_n_s64,,)(svundef_s64(), 0);
265 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
266 SVE_ACLE_FUNC(svrshrnb,_n_u64,,)(svundef_u64(), 0);
267 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
268 SVE_ACLE_FUNC(svrshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);
269 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
270 SVE_ACLE_FUNC(svrshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);
271 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
272 SVE_ACLE_FUNC(svrsra,_n_s32,,)(svundef_s32(), svundef_s32(), 0);
273 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
274 SVE_ACLE_FUNC(svrsra,_n_u32,,)(svundef_u32(), svundef_u32(), 0);
275 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
276 SVE_ACLE_FUNC(svshrnb,_n_s64,,)(svundef_s64(), 0);
277 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
278 SVE_ACLE_FUNC(svshrnb,_n_u64,,)(svundef_u64(), 0);
279 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
280 SVE_ACLE_FUNC(svshrnt,_n_s64,,)(svundef_s32(), svundef_s64(), 0);
281 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
282 SVE_ACLE_FUNC(svshrnt,_n_u64,,)(svundef_u32(), svundef_u64(), 0);
283 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
284 SVE_ACLE_FUNC(svsra,_n_s32,,)(svundef_s32(), svundef_s32(), 0);
285 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
286 SVE_ACLE_FUNC(svsra,_n_u32,,)(svundef_u32(), svundef_u32(), 0);
287 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
288 SVE_ACLE_FUNC(svsri,_n_s32,,)(svundef_s32(), svundef_s32(), 0);
289 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
290 SVE_ACLE_FUNC(svsri,_n_u32,,)(svundef_u32(), svundef_u32(), 0);
291 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
292 SVE_ACLE_FUNC(svxar,_n_s32,,)(svundef_s32(), svundef_s32(), 0);
293 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 32]}}
294 SVE_ACLE_FUNC(svxar,_n_u32,,)(svundef_u32(), svundef_u32(), 0);
297 void test_range_0_63(svbool_t pg)
299 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}
300 SVE_ACLE_FUNC(svqshlu,_n_s64,_x,)(pg, svundef_s64(), -1);
301 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}
302 SVE_ACLE_FUNC(svqshlu,_n_s64,_z,)(pg, svundef_s64(), -1);
303 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}
304 SVE_ACLE_FUNC(svqshlu,_n_s64,_m,)(pg, svundef_s64(), -1);
305 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}
306 SVE_ACLE_FUNC(svsli,_n_s64,,)(svundef_s64(), svundef_s64(), -1);
307 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [0, 63]}}
308 SVE_ACLE_FUNC(svsli,_n_u64,,)(svundef_u64(), svundef_u64(), -1);
311 void test_range_1_64(svbool_t pg)
313 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
314 SVE_ACLE_FUNC(svrshr,_n_s64,_x,)(pg, svundef_s64(), 0);
315 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
316 SVE_ACLE_FUNC(svrshr,_n_s64,_z,)(pg, svundef_s64(), 0);
317 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
318 SVE_ACLE_FUNC(svrshr,_n_s64,_m,)(pg, svundef_s64(), 0);
319 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
320 SVE_ACLE_FUNC(svrshr,_n_u64,_x,)(pg, svundef_u64(), 0);
321 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
322 SVE_ACLE_FUNC(svrshr,_n_u64,_z,)(pg, svundef_u64(), 0);
323 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
324 SVE_ACLE_FUNC(svrshr,_n_u64,_m,)(pg, svundef_u64(), 0);
325 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
326 SVE_ACLE_FUNC(svrsra,_n_s64,,)(svundef_s64(), svundef_s64(), 0);
327 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
328 SVE_ACLE_FUNC(svrsra,_n_u64,,)(svundef_u64(), svundef_u64(), 0);
329 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
330 SVE_ACLE_FUNC(svsra,_n_s64,,)(svundef_s64(), svundef_s64(), 0);
331 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
332 SVE_ACLE_FUNC(svsra,_n_u64,,)(svundef_u64(), svundef_u64(), 0);
333 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
334 SVE_ACLE_FUNC(svsri,_n_s64,,)(svundef_s64(), svundef_s64(), 0);
335 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
336 SVE_ACLE_FUNC(svsri,_n_u64,,)(svundef_u64(), svundef_u64(), 0);
337 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
338 SVE_ACLE_FUNC(svxar,_n_s64,,)(svundef_s64(), svundef_s64(), 0);
339 // expected-error-re@+1 {{argument value {{[0-9]+}} is outside the valid range [1, 64]}}
340 SVE_ACLE_FUNC(svxar,_n_u64,,)(svundef_u64(), svundef_u64(), 0);