342 lines · cpp
1// REQUIRES: aarch64-registered-target2 3// RUN: %clang_cc1 -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +sve2 -fsyntax-only -verify %s4// RUN: %clang_cc1 -DSVE_OVERLOADED_FORMS -triple aarch64-none-linux-gnu -target-feature +sve -target-feature +sve2 -fsyntax-only -verify %s5 6#ifdef SVE_OVERLOADED_FORMS7// A simple used,unused... macro, long enough to represent any SVE builtin.8#define SVE_ACLE_FUNC(A1,A2_UNUSED,A3,A4_UNUSED) A1##A39#else10#define SVE_ACLE_FUNC(A1,A2,A3,A4) A1##A2##A3##A411#endif12 13#include <arm_sve.h>14 15void test_range_0_7(svbool_t pg)16{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);35}36 37void test_range_1_8(svbool_t pg)38{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);107}108 109void test_range_0_15(svbool_t pg)110{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);129}130 131void test_range_1_16(svbool_t pg)132{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);201}202 203void test_range_0_31(svbool_t pg)204{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);223}224 225void test_range_1_32(svbool_t pg)226{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);295}296 297void test_range_0_63(svbool_t pg)298{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);309}310 311void test_range_1_64(svbool_t pg)312{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);341}342