284 lines · c
1// RUN: %clang_cc1 -triple aarch64-linux-gnu -target-feature +neon -target-feature +lut -target-feature +bf16 -ffreestanding -fsyntax-only -verify %s2 3#include <arm_neon.h>4// REQUIRES: aarch64-registered-target5 6// 2-bit indices7 8void test_lookup_read_2bit_u8(uint8x16_t arg_u8x16, uint8x8_t arg_u8x8) {9 vluti2_lane_u8(arg_u8x8, arg_u8x8, 0);10 vluti2_lane_u8(arg_u8x8, arg_u8x8, 1);11 vluti2_lane_u8(arg_u8x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}12 vluti2_lane_u8(arg_u8x8, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}13 14 vluti2_laneq_u8(arg_u8x8, arg_u8x16, 0);15 vluti2_laneq_u8(arg_u8x8, arg_u8x16, 3);16 vluti2_laneq_u8(arg_u8x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}17 vluti2_laneq_u8(arg_u8x8, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}18 19 vluti2q_lane_u8(arg_u8x16, arg_u8x8, 0);20 vluti2q_lane_u8(arg_u8x16, arg_u8x8, 1);21 vluti2q_lane_u8(arg_u8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}22 vluti2q_lane_u8(arg_u8x16, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}23 24 vluti2q_laneq_u8(arg_u8x16, arg_u8x16, 0);25 vluti2q_laneq_u8(arg_u8x16, arg_u8x16, 3);26 vluti2q_laneq_u8(arg_u8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}27 vluti2q_laneq_u8(arg_u8x16, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}28 29}30 31void test_lookup_read_2bit_s8(int8x8_t arg_i8x8, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8, int8x16_t arg_i8x16) {32 vluti2_lane_s8(arg_i8x8, arg_u8x8, 0);33 vluti2_lane_s8(arg_i8x8, arg_u8x8, 1);34 vluti2_lane_s8(arg_i8x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}35 vluti2_lane_s8(arg_i8x8, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}36 37 vluti2_laneq_s8(arg_i8x8, arg_u8x16, 0);38 vluti2_laneq_s8(arg_i8x8, arg_u8x16, 3);39 vluti2_laneq_s8(arg_i8x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}40 vluti2_laneq_s8(arg_i8x8, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}41 42 vluti2q_lane_s8(arg_i8x16, arg_u8x8, 0);43 vluti2q_lane_s8(arg_i8x16, arg_u8x8, 1);44 vluti2q_lane_s8(arg_i8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}45 vluti2q_lane_s8(arg_i8x16, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}46 47 vluti2q_laneq_s8(arg_i8x16, arg_u8x16, 0);48 vluti2q_laneq_s8(arg_i8x16, arg_u8x16, 3);49 vluti2q_laneq_s8(arg_i8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}50 vluti2q_laneq_s8(arg_i8x16, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}51 52}53 54void test_lookup_read_2bit_p8(poly8x16_t arg_p8x16, poly8x8_t arg_p8x8, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8) {55 vluti2_lane_p8(arg_p8x8, arg_u8x8, 0);56 vluti2_lane_p8(arg_p8x8, arg_u8x8, 1);57 vluti2_lane_p8(arg_p8x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}58 vluti2_lane_p8(arg_p8x8, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}59 60 vluti2_laneq_p8(arg_p8x8, arg_u8x16, 0);61 vluti2_laneq_p8(arg_p8x8, arg_u8x16, 3);62 vluti2_laneq_p8(arg_p8x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}63 vluti2_laneq_p8(arg_p8x8, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}64 65 vluti2q_lane_p8(arg_p8x16, arg_u8x8, 0);66 vluti2q_lane_p8(arg_p8x16, arg_u8x8, 1);67 vluti2q_lane_p8(arg_p8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}68 vluti2q_lane_p8(arg_p8x16, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}69 70 vluti2q_laneq_p8(arg_p8x16, arg_u8x16, 0);71 vluti2q_laneq_p8(arg_p8x16, arg_u8x16, 3);72 vluti2q_laneq_p8(arg_p8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}73 vluti2q_laneq_p8(arg_p8x16, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}74 75}76 77void test_lookup_read_2bit_u16(uint16x4_t arg_u16x4, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8, uint16x8_t arg_u16x8) {78 vluti2_lane_u16(arg_u16x4, arg_u8x8, 0);79 vluti2_lane_u16(arg_u16x4, arg_u8x8, 3);80 vluti2_lane_u16(arg_u16x4, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}81 vluti2_lane_u16(arg_u16x4, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}82 83 vluti2_laneq_u16(arg_u16x4, arg_u8x16, 0);84 vluti2_laneq_u16(arg_u16x4, arg_u8x16, 7);85 vluti2_laneq_u16(arg_u16x4, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}86 vluti2_laneq_u16(arg_u16x4, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}87 88 vluti2q_lane_u16(arg_u16x8, arg_u8x8, 0);89 vluti2q_lane_u16(arg_u16x8, arg_u8x8, 3);90 vluti2q_lane_u16(arg_u16x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}91 vluti2q_lane_u16(arg_u16x8, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}92 93 vluti2q_laneq_u16(arg_u16x8, arg_u8x16, 0);94 vluti2q_laneq_u16(arg_u16x8, arg_u8x16, 7);95 vluti2q_laneq_u16(arg_u16x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}96 vluti2q_laneq_u16(arg_u16x8, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}97 98}99 100void test_lookup_read_2bit_s16(int16x4_t arg_i16x4, int16x8_t arg_i16x8, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8) {101 vluti2_lane_s16(arg_i16x4, arg_u8x8, 0);102 vluti2_lane_s16(arg_i16x4, arg_u8x8, 3);103 vluti2_lane_s16(arg_i16x4, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}104 vluti2_lane_s16(arg_i16x4, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}105 106 vluti2_laneq_s16(arg_i16x4, arg_u8x16, 0);107 vluti2_laneq_s16(arg_i16x4, arg_u8x16, 7);108 vluti2_laneq_s16(arg_i16x4, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}109 vluti2_laneq_s16(arg_i16x4, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}110 111 vluti2q_lane_s16(arg_i16x8, arg_u8x8, 0);112 vluti2q_lane_s16(arg_i16x8, arg_u8x8, 3);113 vluti2q_lane_s16(arg_i16x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}114 vluti2q_lane_s16(arg_i16x8, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}115 116 vluti2q_laneq_s16(arg_i16x8, arg_u8x16, 0);117 vluti2q_laneq_s16(arg_i16x8, arg_u8x16, 7);118 vluti2q_laneq_s16(arg_i16x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}119 vluti2q_laneq_s16(arg_i16x8, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}120 121}122 123void test_lookup_read_2bit_f16(float16x8_t arg_f16x8, uint8x16_t arg_u8x16, float16x4_t arg_f16x4, uint8x8_t arg_u8x8) {124 vluti2_lane_f16(arg_f16x4, arg_u8x8, 0);125 vluti2_lane_f16(arg_f16x4, arg_u8x8, 3);126 vluti2_lane_f16(arg_f16x4, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}127 vluti2_lane_f16(arg_f16x4, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}128 129 vluti2_laneq_f16(arg_f16x4, arg_u8x16, 0);130 vluti2_laneq_f16(arg_f16x4, arg_u8x16, 7);131 vluti2_laneq_f16(arg_f16x4, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}132 vluti2_laneq_f16(arg_f16x4, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}133 134 vluti2q_lane_f16(arg_f16x8, arg_u8x8, 0);135 vluti2q_lane_f16(arg_f16x8, arg_u8x8, 3);136 vluti2q_lane_f16(arg_f16x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}137 vluti2q_lane_f16(arg_f16x8, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}138 139 vluti2q_laneq_f16(arg_f16x8, arg_u8x16, 0);140 vluti2q_laneq_f16(arg_f16x8, arg_u8x16, 7);141 vluti2q_laneq_f16(arg_f16x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}142 vluti2q_laneq_f16(arg_f16x8, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}143 144}145 146void test_lookup_read_2bit_bf16(bfloat16x4_t arg_b16x4, bfloat16x8_t arg_b16x8, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8) {147 vluti2_lane_bf16(arg_b16x4, arg_u8x8, 0);148 vluti2_lane_bf16(arg_b16x4, arg_u8x8, 3);149 vluti2_lane_bf16(arg_b16x4, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}150 vluti2_lane_bf16(arg_b16x4, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}151 152 vluti2_laneq_bf16(arg_b16x4, arg_u8x16, 0);153 vluti2_laneq_bf16(arg_b16x4, arg_u8x16, 7);154 vluti2_laneq_bf16(arg_b16x4, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}155 vluti2_laneq_bf16(arg_b16x4, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}156 157 vluti2q_lane_bf16(arg_b16x8, arg_u8x8, 0);158 vluti2q_lane_bf16(arg_b16x8, arg_u8x8, 3);159 vluti2q_lane_bf16(arg_b16x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}160 vluti2q_lane_bf16(arg_b16x8, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}161 162 vluti2q_laneq_bf16(arg_b16x8, arg_u8x16, 0);163 vluti2q_laneq_bf16(arg_b16x8, arg_u8x16, 7);164 vluti2q_laneq_bf16(arg_b16x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}165 vluti2q_laneq_bf16(arg_b16x8, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}166 167}168 169void test_lookup_read_2bit_p16(poly16x4_t arg_p16x4, poly16x8_t arg_p16x8, uint8x16_t arg_u8x16, uint8x8_t arg_u8x8) {170 vluti2_lane_p16(arg_p16x4, arg_u8x8, 0);171 vluti2_lane_p16(arg_p16x4, arg_u8x8, 3);172 vluti2_lane_p16(arg_p16x4, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}173 vluti2_lane_p16(arg_p16x4, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}174 175 vluti2_laneq_p16(arg_p16x4, arg_u8x16, 0);176 vluti2_laneq_p16(arg_p16x4, arg_u8x16, 7);177 vluti2_laneq_p16(arg_p16x4, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}178 vluti2_laneq_p16(arg_p16x4, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}179 180 vluti2q_lane_p16(arg_p16x8, arg_u8x8, 0);181 vluti2q_lane_p16(arg_p16x8, arg_u8x8, 3);182 vluti2q_lane_p16(arg_p16x8, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}183 vluti2q_lane_p16(arg_p16x8, arg_u8x8, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}184 185 vluti2q_laneq_p16(arg_p16x8, arg_u8x16, 0);186 vluti2q_laneq_p16(arg_p16x8, arg_u8x16, 7);187 vluti2q_laneq_p16(arg_p16x8, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}188 vluti2q_laneq_p16(arg_p16x8, arg_u8x16, 8); // expected-error-re {{argument value {{.*}} is outside the valid range}}189 190}191 192// 4-bit indices 193 194void test_lookup_read_4bit_u8(uint8x8_t arg_u8x8, uint8x16_t arg_u8x16) {195 vluti4q_lane_u8(arg_u8x16, arg_u8x8, 0);196 vluti4q_lane_u8(arg_u8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}197 vluti4q_lane_u8(arg_u8x16, arg_u8x8, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}198 199 vluti4q_laneq_u8(arg_u8x16, arg_u8x16, 0);200 vluti4q_laneq_u8(arg_u8x16, arg_u8x16, 1);201 vluti4q_laneq_u8(arg_u8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}202 vluti4q_laneq_u8(arg_u8x16, arg_u8x16, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}203 204}205 206void test_lookup_read_4bit_s8(int8x16_t arg_i8x16, uint8x8_t arg_u8x8, uint8x16_t arg_u8x16) {207 vluti4q_lane_s8(arg_i8x16, arg_u8x8, 0);208 vluti4q_lane_s8(arg_i8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}209 vluti4q_lane_s8(arg_i8x16, arg_u8x8, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}210 211 vluti4q_laneq_s8(arg_i8x16, arg_u8x16, 0);212 vluti4q_laneq_s8(arg_i8x16, arg_u8x16, 1);213 vluti4q_laneq_s8(arg_i8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}214 vluti4q_laneq_s8(arg_i8x16, arg_u8x16, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}215 216}217 218void test_lookup_read_4bit_p8(uint8x8_t arg_u8x8, uint8x16_t arg_u8x16, poly8x16_t arg_p8x16) {219 vluti4q_lane_p8(arg_p8x16, arg_u8x8, 0);220 vluti4q_lane_p8(arg_p8x16, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}221 vluti4q_lane_p8(arg_p8x16, arg_u8x8, 1); // expected-error-re {{argument value {{.*}} is outside the valid range}}222 223 vluti4q_laneq_p8(arg_p8x16, arg_u8x16, 0);224 vluti4q_laneq_p8(arg_p8x16, arg_u8x16, 1);225 vluti4q_laneq_p8(arg_p8x16, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}226 vluti4q_laneq_p8(arg_p8x16, arg_u8x16, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}227 228}229 230void test_lookup_read_4bit_x2(int16x8x2_t arg_i16x8x2, uint8x8_t arg_u8x8, float16x8x2_t arg_f16x8x2, uint8x16_t arg_u8x16, poly16x8x2_t arg_p16x8x2, uint16x8x2_t arg_u16x8x2, bfloat16x8x2_t arg_b16x8x2) {231 vluti4q_lane_u16_x2(arg_u16x8x2, arg_u8x8, 0);232 vluti4q_lane_u16_x2(arg_u16x8x2, arg_u8x8, 1);233 vluti4q_lane_u16_x2(arg_u16x8x2, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}234 vluti4q_lane_u16_x2(arg_u16x8x2, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}235 236 vluti4q_laneq_u16_x2(arg_u16x8x2, arg_u8x16, 0);237 vluti4q_laneq_u16_x2(arg_u16x8x2, arg_u8x16, 3);238 vluti4q_laneq_u16_x2(arg_u16x8x2, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}239 vluti4q_laneq_u16_x2(arg_u16x8x2, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}240 241 vluti4q_lane_s16_x2(arg_i16x8x2, arg_u8x8, 0);242 vluti4q_lane_s16_x2(arg_i16x8x2, arg_u8x8, 1);243 vluti4q_lane_s16_x2(arg_i16x8x2, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}244 vluti4q_lane_s16_x2(arg_i16x8x2, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}245 246 vluti4q_laneq_s16_x2(arg_i16x8x2, arg_u8x16, 0);247 vluti4q_laneq_s16_x2(arg_i16x8x2, arg_u8x16, 3);248 vluti4q_laneq_s16_x2(arg_i16x8x2, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}249 vluti4q_laneq_s16_x2(arg_i16x8x2, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}250 251 vluti4q_lane_f16_x2(arg_f16x8x2, arg_u8x8, 0);252 vluti4q_lane_f16_x2(arg_f16x8x2, arg_u8x8, 1);253 vluti4q_lane_f16_x2(arg_f16x8x2, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}254 vluti4q_lane_f16_x2(arg_f16x8x2, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}255 256 vluti4q_laneq_f16_x2(arg_f16x8x2, arg_u8x16, 0);257 vluti4q_laneq_f16_x2(arg_f16x8x2, arg_u8x16, 3);258 vluti4q_laneq_f16_x2(arg_f16x8x2, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}259 vluti4q_laneq_f16_x2(arg_f16x8x2, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}260 261 vluti4q_lane_bf16_x2(arg_b16x8x2, arg_u8x8, 0);262 vluti4q_lane_bf16_x2(arg_b16x8x2, arg_u8x8, 1);263 vluti4q_lane_bf16_x2(arg_b16x8x2, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}264 vluti4q_lane_bf16_x2(arg_b16x8x2, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}265 266 vluti4q_laneq_bf16_x2(arg_b16x8x2, arg_u8x16, 0);267 vluti4q_laneq_bf16_x2(arg_b16x8x2, arg_u8x16, 3);268 vluti4q_laneq_bf16_x2(arg_b16x8x2, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}269 vluti4q_laneq_bf16_x2(arg_b16x8x2, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}270 271 vluti4q_lane_p16_x2(arg_p16x8x2, arg_u8x8, 0);272 vluti4q_lane_p16_x2(arg_p16x8x2, arg_u8x8, 1);273 vluti4q_lane_p16_x2(arg_p16x8x2, arg_u8x8, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}274 vluti4q_lane_p16_x2(arg_p16x8x2, arg_u8x8, 2); // expected-error-re {{argument value {{.*}} is outside the valid range}}275 276 vluti4q_laneq_p16_x2(arg_p16x8x2, arg_u8x16, 0);277 vluti4q_laneq_p16_x2(arg_p16x8x2, arg_u8x16, 3);278 vluti4q_laneq_p16_x2(arg_p16x8x2, arg_u8x16, -1); // expected-error-re {{argument value {{.*}} is outside the valid range}}279 vluti4q_laneq_p16_x2(arg_p16x8x2, arg_u8x16, 4); // expected-error-re {{argument value {{.*}} is outside the valid range}}280 281}282 283 284