1 // REQUIRES: mips-registered-target
2 // RUN: %clang_cc1 -triple mips-unknown-linux-gnu -fsyntax-only %s \
3 // RUN:            -target-feature +msa -target-feature +fp64 \
4 // RUN:            -verify -mfloat-abi hard -o - 2>&1
5 
6 #include <msa.h>
7 
8 void test(void) {
9   v16i8 v16i8_a = (v16i8) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
10   v16i8 v16i8_b = (v16i8) {16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
11   v16i8 v16i8_r;
12   v8i16 v8i16_a = (v8i16) {0, 1, 2, 3, 4, 5, 6, 7};
13   v8i16 v8i16_b = (v8i16) {8, 9, 10, 11, 12, 13, 14, 15};
14   v8i16 v8i16_r;
15   v4i32 v4i32_a = (v4i32) {0, 1, 2, 3};
16   v4i32 v4i32_b = (v4i32) {4, 5, 6, 7};
17   v4i32 v4i32_r;
18   v2i64 v2i64_a = (v2i64) {0, 1};
19   v2i64 v2i64_b = (v2i64) {3, 4};
20   v2i64 v2i64_r;
21 
22   v16u8 v16u8_a = (v16u8) {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
23   v16u8 v16u8_r;
24   v8u16 v8u16_a = (v8u16) {0, 1, 2, 3, 4, 5, 6, 7};
25   v8u16 v8u16_r;
26   v4u32 v4u32_a = (v4u32) {0, 1, 2, 3};
27   v4u32 v4u32_r;
28   v2u64 v2u64_a = (v2u64) {0, 1};
29   v2u64 v2u64_r;
30 
31   int int_r;
32   long long ll_r;
33 
34   v16u8_r = __msa_addvi_b(v16u8_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
35   v8u16_r = __msa_addvi_h(v8u16_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
36   v4u32_r = __msa_addvi_w(v4u32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
37   v2u64_r = __msa_addvi_d(v2u64_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
38 
39   v16i8_r = __msa_andi_b(v16i8_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
40   v8i16_r = __msa_andi_b(v8i16_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
41   v4i32_r = __msa_andi_b(v4i32_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
42   v2i64_r = __msa_andi_b(v2i64_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
43 
44   v16i8_r = __msa_bclri_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
45   v8i16_r = __msa_bclri_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
46   v4i32_r = __msa_bclri_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
47   v2i64_r = __msa_bclri_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
48 
49   v16i8_r = __msa_binsli_b(v16i8_r, v16i8_a, 8);     // expected-error {{argument value 8 is outside the valid range [0, 7]}}
50   v8i16_r = __msa_binsli_h(v8i16_r, v8i16_a, 16);    // expected-error {{argument value 16 is outside the valid range [0, 15]}}
51   v4i32_r = __msa_binsli_w(v4i32_r, v4i32_a, 32);    // expected-error {{argument value 32 is outside the valid range [0, 31]}}
52   v2i64_r = __msa_binsli_d(v2i64_r, v2i64_a, 64);    // expected-error {{argument value 64 is outside the valid range [0, 63]}}
53 
54   v16i8_r = __msa_binsri_b(v16i8_r, v16i8_a, 8);     // expected-error {{argument value 8 is outside the valid range [0, 7]}}
55   v8i16_r = __msa_binsri_h(v8i16_r, v8i16_a, 16);    // expected-error {{argument value 16 is outside the valid range [0, 15]}}
56   v4i32_r = __msa_binsri_w(v4i32_r, v4i32_a, 32);    // expected-error {{argument value 32 is outside the valid range [0, 31]}}
57   v2i64_r = __msa_binsri_d(v2i64_r, v2i64_a, 64);    // expected-error {{argument value 64 is outside the valid range [0, 63]}}
58 
59   v16i8_r = __msa_bmnzi_b(v16i8_r, v16i8_a, 256);    // expected-error {{argument value 256 is outside the valid range [0, 255]}}
60 
61   v16i8_r = __msa_bmzi_b(v16i8_r, v16i8_a, 256);     // expected-error {{argument value 256 is outside the valid range [0, 255]}}
62 
63   v16i8_r = __msa_bnegi_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
64   v8i16_r = __msa_bnegi_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
65   v4i32_r = __msa_bnegi_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
66   v2i64_r = __msa_bnegi_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
67 
68   v16i8_r = __msa_bseli_b(v16i8_r, v16i8_a, 256);    // expected-error {{argument value 256 is outside the valid range [0, 255]}}
69 
70   v16i8_r = __msa_bseti_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
71   v8i16_r = __msa_bseti_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
72   v4i32_r = __msa_bseti_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
73   v2i64_r = __msa_bseti_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
74 
75   v16i8_r = __msa_ceqi_b(v16i8_a, 16);               // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
76   v8i16_r = __msa_ceqi_h(v8i16_a, 16);               // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
77   v4i32_r = __msa_ceqi_w(v4i32_a, 16);               // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
78   v2i64_r = __msa_ceqi_d(v2i64_a, 16);               // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
79 
80   v16i8_r = __msa_clei_s_b(v16i8_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
81   v8i16_r = __msa_clei_s_h(v8i16_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
82   v4i32_r = __msa_clei_s_w(v4i32_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
83   v2i64_r = __msa_clei_s_d(v2i64_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
84 
85   v16u8_r = __msa_clei_u_b(v16u8_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
86   v8u16_r = __msa_clei_u_h(v8u16_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
87   v4u32_r = __msa_clei_u_w(v4u32_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
88   v2u64_r = __msa_clei_u_d(v2u64_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
89 
90   v16i8_r = __msa_clti_s_b(v16i8_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
91   v8i16_r = __msa_clti_s_h(v8i16_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
92   v4i32_r = __msa_clti_s_w(v4i32_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
93   v2i64_r = __msa_clti_s_d(v2i64_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
94 
95   v16u8_r = __msa_clti_u_b(v16u8_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
96   v8u16_r = __msa_clti_u_h(v8u16_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
97   v4u32_r = __msa_clti_u_w(v4u32_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
98   v2u64_r = __msa_clti_u_d(v2u64_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
99 
100   int_r = __msa_copy_s_b(v16i8_a, 16);               // expected-error {{argument value 16 is outside the valid range [0, 15]}}
101   int_r = __msa_copy_s_h(v8i16_a, 8);                // expected-error {{argument value 8 is outside the valid range [0, 7]}}
102   int_r = __msa_copy_s_w(v4i32_a, 4);                // expected-error {{argument value 4 is outside the valid range [0, 3]}}
103   ll_r  = __msa_copy_s_d(v2i64_a, 2);                // expected-error {{argument value 2 is outside the valid range [0, 1]}}
104 
105   int_r = __msa_copy_u_b(v16u8_a, 16);               // expected-error {{argument value 16 is outside the valid range [0, 15]}}
106   int_r = __msa_copy_u_h(v8u16_a, 8);                // expected-error {{argument value 8 is outside the valid range [0, 7]}}
107   int_r = __msa_copy_u_w(v4u32_a, 4);                // expected-error {{argument value 4 is outside the valid range [0, 3]}}
108   ll_r  = __msa_copy_u_d(v2i64_a, 2);                // expected-error {{argument value 2 is outside the valid range [0, 1]}}
109 
110   v16i8_r = __msa_insve_b(v16i8_r, 16, v16i8_a);     // expected-error {{argument value 16 is outside the valid range [0, 15]}}
111   v8i16_r = __msa_insve_h(v8i16_r, 8, v8i16_a);      // expected-error {{argument value 8 is outside the valid range [0, 7]}}
112   v4i32_r = __msa_insve_w(v4i32_r, 4, v4i32_a);      // expected-error {{argument value 4 is outside the valid range [0, 3]}}
113   v2i64_r = __msa_insve_d(v2i64_r, 2, v2i64_a);      // expected-error {{argument value 2 is outside the valid range [0, 1]}}
114 
115   v8i16_r = __msa_ld_h(&v8i16_a, 77);                // expected-error {{argument should be a multiple of 2}}
116   v4i32_r = __msa_ld_w(&v4i32_a, 14);                // expected-error {{argument should be a multiple of 4}}
117   v2i64_r = __msa_ld_d(&v2i64_a, 23);                // expected-error {{argument should be a multiple of 8}}
118 
119   v16i8_r = __msa_ld_b(&v16i8_a, 512);               // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
120   v8i16_r = __msa_ld_h(&v8i16_a, 1024);              // expected-error {{argument value 1024 is outside the valid range [-1024, 1022]}}
121   v4i32_r = __msa_ld_w(&v4i32_a, 2048);              // expected-error {{argument value 2048 is outside the valid range [-2048, 2044]}}
122   v2i64_r = __msa_ld_d(&v2i64_a, 4096);              // expected-error {{argument value 4096 is outside the valid range [-4096, 4088]}}
123 
124   v16i8_r = __msa_ldi_b(256);                        // expected-error {{argument value 256 is outside the valid range [-128, 255]}}
125   v8i16_r = __msa_ldi_h(512);                        // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
126   v4i32_r = __msa_ldi_w(512);                        // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
127   v2i64_r = __msa_ldi_d(512);                        // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
128 
129   v16i8_r = __msa_maxi_s_b(v16i8_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
130   v8i16_r = __msa_maxi_s_h(v8i16_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
131   v4i32_r = __msa_maxi_s_w(v4i32_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
132   v2i64_r = __msa_maxi_s_d(v2i64_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
133 
134   v16u8_r = __msa_maxi_u_b(v16u8_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
135   v8u16_r = __msa_maxi_u_h(v8u16_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
136   v4u32_r = __msa_maxi_u_w(v4u32_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
137   v2u64_r = __msa_maxi_u_d(v2u64_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
138 
139   v16i8_r = __msa_mini_s_b(v16i8_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
140   v8i16_r = __msa_mini_s_h(v8i16_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
141   v4i32_r = __msa_mini_s_w(v4i32_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
142   v2i64_r = __msa_mini_s_d(v2i64_a, 16);             // expected-error {{argument value 16 is outside the valid range [-16, 15]}}
143 
144   v16u8_r = __msa_mini_u_b(v16u8_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
145   v8u16_r = __msa_mini_u_h(v8u16_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
146   v4u32_r = __msa_mini_u_w(v4u32_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
147   v2u64_r = __msa_mini_u_d(v2u64_a, 32);             // expected-error {{argument value 32 is outside the valid range [0, 31]}}
148 
149   v16i8_r = __msa_nori_b(v16i8_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
150 
151   v16i8_r = __msa_ori_b(v16i8_a, 256);               // expected-error {{argument value 256 is outside the valid range [0, 255]}}
152 
153   v16i8_r = __msa_sat_s_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
154   v8i16_r = __msa_sat_s_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
155   v4i32_r = __msa_sat_s_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
156   v2i64_r = __msa_sat_s_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
157 
158   v16i8_r = __msa_sat_u_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
159   v8i16_r = __msa_sat_u_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
160   v4i32_r = __msa_sat_u_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
161   v2i64_r = __msa_sat_u_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
162 
163   v16i8_r = __msa_shf_b(v16i8_a, 256);               // expected-error {{argument value 256 is outside the valid range [0, 255]}}
164   v8i16_r = __msa_shf_h(v8i16_a, 256);               // expected-error {{argument value 256 is outside the valid range [0, 255]}}
165   v4i32_r = __msa_shf_w(v4i32_a, 256);               // expected-error {{argument value 256 is outside the valid range [0, 255]}}
166 
167   v16i8_r = __msa_sldi_b(v16i8_r, v16i8_a, 16);      // expected-error {{argument value 16 is outside the valid range [0, 15]}}
168   v8i16_r = __msa_sldi_h(v8i16_r, v8i16_a, 8);       // expected-error {{argument value 8 is outside the valid range [0, 7]}}
169   v4i32_r = __msa_sldi_w(v4i32_r, v4i32_a, 4);       // expected-error {{argument value 4 is outside the valid range [0, 3]}}
170   v2i64_r = __msa_sldi_d(v2i64_r, v2i64_a, 2);       // expected-error {{argument value 2 is outside the valid range [0, 1]}}
171 
172   v16i8_r = __msa_slli_b(v16i8_a, 8);                // expected-error {{argument value 8 is outside the valid range [0, 7]}}
173   v8i16_r = __msa_slli_h(v8i16_a, 16);               // expected-error {{argument value 16 is outside the valid range [0, 15]}}
174   v4i32_r = __msa_slli_w(v4i32_a, 32);               // expected-error {{argument value 32 is outside the valid range [0, 31]}}
175   v2i64_r = __msa_slli_d(v2i64_a, 64);               // expected-error {{argument value 64 is outside the valid range [0, 63]}}
176 
177   v16i8_r = __msa_splati_b(v16i8_a, 16);             // expected-error {{argument value 16 is outside the valid range [0, 15]}}
178   v8i16_r = __msa_splati_h(v8i16_a, 8);              // expected-error {{argument value 8 is outside the valid range [0, 7]}}
179   v4i32_r = __msa_splati_w(v4i32_a, 4);              // expected-error {{argument value 4 is outside the valid range [0, 3]}}
180   v2i64_r = __msa_splati_d(v2i64_a, 2);              // expected-error {{argument value 2 is outside the valid range [0, 1]}}
181 
182   v16i8_r = __msa_srai_b(v16i8_a, 8);                // expected-error {{argument value 8 is outside the valid range [0, 7]}}
183   v8i16_r = __msa_srai_h(v8i16_a, 16);               // expected-error {{argument value 16 is outside the valid range [0, 15]}}
184   v4i32_r = __msa_srai_w(v4i32_a, 32);               // expected-error {{argument value 32 is outside the valid range [0, 31]}}
185   v2i64_r = __msa_srai_d(v2i64_a, 64);               // expected-error {{argument value 64 is outside the valid range [0, 63]}}
186 
187   v16i8_r = __msa_srari_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
188   v8i16_r = __msa_srari_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
189   v4i32_r = __msa_srari_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
190   v2i64_r = __msa_srari_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
191 
192   v16i8_r = __msa_srli_b(v16i8_a, 8);                // expected-error {{argument value 8 is outside the valid range [0, 7]}}
193   v8i16_r = __msa_srli_h(v8i16_a, 16);               // expected-error {{argument value 16 is outside the valid range [0, 15]}}
194   v4i32_r = __msa_srli_w(v4i32_a, 32);               // expected-error {{argument value 32 is outside the valid range [0, 31]}}
195   v2i64_r = __msa_srli_d(v2i64_a, 64);               // expected-error {{argument value 64 is outside the valid range [0, 63]}}
196 
197   v16i8_r = __msa_srlri_b(v16i8_a, 8);               // expected-error {{argument value 8 is outside the valid range [0, 7]}}
198   v8i16_r = __msa_srlri_h(v8i16_a, 16);              // expected-error {{argument value 16 is outside the valid range [0, 15]}}
199   v4i32_r = __msa_srlri_w(v4i32_a, 32);              // expected-error {{argument value 32 is outside the valid range [0, 31]}}
200   v2i64_r = __msa_srlri_d(v2i64_a, 64);              // expected-error {{argument value 64 is outside the valid range [0, 63]}}
201 
202   __msa_st_h(v8i16_b, &v8i16_a, 51);                // expected-error {{argument should be a multiple of 2}}
203   __msa_st_w(v4i32_b, &v4i32_a, 51);                // expected-error {{argument should be a multiple of 4}}
204   __msa_st_d(v2i64_b, &v2i64_a, 12);                // expected-error {{argument should be a multiple of 8}}
205 
206   __msa_st_b(v16i8_b, &v16i8_a, 512);                // expected-error {{argument value 512 is outside the valid range [-512, 511]}}
207   __msa_st_h(v8i16_b, &v8i16_a, 1024);                // expected-error {{argument value 1024 is outside the valid range [-1024, 1022]}}
208   __msa_st_w(v4i32_b, &v4i32_a, 2048);                // expected-error {{argument value 2048 is outside the valid range [-2048, 2044]}}
209   __msa_st_d(v2i64_b, &v2i64_a, 4096);                // expected-error {{argument value 4096 is outside the valid range [-4096, 4088]}}
210 
211   v16i8_r = __msa_subvi_b(v16i8_a, 256);             // expected-error {{argument value 256 is outside the valid range [0, 31]}}
212   v8i16_r = __msa_subvi_h(v8i16_a, 256);             // expected-error {{argument value 256 is outside the valid range [0, 31]}}
213   v4i32_r = __msa_subvi_w(v4i32_a, 256);             // expected-error {{argument value 256 is outside the valid range [0, 31]}}
214   v2i64_r = __msa_subvi_d(v2i64_a, 256);             // expected-error {{argument value 256 is outside the valid range [0, 31]}}
215 
216   v16i8_r = __msa_xori_b(v16i8_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
217   v8i16_r = __msa_xori_b(v8i16_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
218   v4i32_r = __msa_xori_b(v4i32_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
219   v2i64_r = __msa_xori_b(v2i64_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
220 
221   v16u8_r = __msa_xori_b(v16u8_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
222   v8u16_r = __msa_xori_b(v8u16_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
223   v4u32_r = __msa_xori_b(v4u32_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
224   v2u64_r = __msa_xori_b(v2u64_a, 256);              // expected-error {{argument value 256 is outside the valid range [0, 255]}}
225 
226   // Test the lower bounds
227 
228   v16u8_r = __msa_addvi_b(v16u8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
229   v8u16_r = __msa_addvi_h(v8u16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
230   v4u32_r = __msa_addvi_w(v4u32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
231   v2u64_r = __msa_addvi_d(v2u64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
232 
233   v16i8_r = __msa_andi_b(v16i8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
234   v8i16_r = __msa_andi_b(v8i16_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
235   v4i32_r = __msa_andi_b(v4i32_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
236   v2i64_r = __msa_andi_b(v2i64_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
237 
238   v16i8_r = __msa_bclri_b(v16i8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
239   v8i16_r = __msa_bclri_h(v8i16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
240   v4i32_r = __msa_bclri_w(v4i32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
241   v2i64_r = __msa_bclri_d(v2i64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
242 
243   v16i8_r = __msa_binsli_b(v16i8_r, v16i8_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
244   v8i16_r = __msa_binsli_h(v8i16_r, v8i16_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
245   v4i32_r = __msa_binsli_w(v4i32_r, v4i32_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
246   v2i64_r = __msa_binsli_d(v2i64_r, v2i64_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
247 
248   v16i8_r = __msa_binsri_b(v16i8_r, v16i8_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
249   v8i16_r = __msa_binsri_h(v8i16_r, v8i16_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
250   v4i32_r = __msa_binsri_w(v4i32_r, v4i32_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
251   v2i64_r = __msa_binsri_d(v2i64_r, v2i64_a, -1);    // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
252 
253   v16i8_r = __msa_bmnzi_b(v16i8_r, v16i8_a, -1);     // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
254 
255   v16i8_r = __msa_bmzi_b(v16i8_r, v16i8_a, -1);      // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
256 
257   v16i8_r = __msa_bnegi_b(v16i8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
258   v8i16_r = __msa_bnegi_h(v8i16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
259   v4i32_r = __msa_bnegi_w(v4i32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
260   v2i64_r = __msa_bnegi_d(v2i64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
261 
262   v16i8_r = __msa_bseli_b(v16i8_r, v16i8_a, -1);     // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
263 
264   v16i8_r = __msa_bseti_b(v16i8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
265   v8i16_r = __msa_bseti_h(v8i16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
266   v4i32_r = __msa_bseti_w(v4i32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
267   v2i64_r = __msa_bseti_d(v2i64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
268 
269   v16i8_r = __msa_ceqi_b(v16i8_a, -17);              // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
270   v8i16_r = __msa_ceqi_h(v8i16_a, -17);              // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
271   v4i32_r = __msa_ceqi_w(v4i32_a, -17);              // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
272   v2i64_r = __msa_ceqi_d(v2i64_a, -17);              // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
273 
274   v16i8_r = __msa_clei_s_b(v16i8_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
275   v8i16_r = __msa_clei_s_h(v8i16_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
276   v4i32_r = __msa_clei_s_w(v4i32_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
277   v2i64_r = __msa_clei_s_d(v2i64_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
278 
279   v16u8_r = __msa_clei_u_b(v16u8_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
280   v8u16_r = __msa_clei_u_h(v8u16_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
281   v4u32_r = __msa_clei_u_w(v4u32_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
282   v2u64_r = __msa_clei_u_d(v2u64_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
283 
284   v16i8_r = __msa_clti_s_b(v16i8_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
285   v8i16_r = __msa_clti_s_h(v8i16_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
286   v4i32_r = __msa_clti_s_w(v4i32_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
287   v2i64_r = __msa_clti_s_d(v2i64_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
288 
289   v16u8_r = __msa_clti_u_b(v16u8_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
290   v8u16_r = __msa_clti_u_h(v8u16_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
291   v4u32_r = __msa_clti_u_w(v4u32_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
292   v2u64_r = __msa_clti_u_d(v2u64_a, -1);             // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
293 
294   int_r = __msa_copy_s_b(v16i8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
295   int_r = __msa_copy_s_h(v8i16_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
296   int_r = __msa_copy_s_w(v4i32_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
297   ll_r  = __msa_copy_s_d(v2i64_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
298 
299   int_r = __msa_copy_u_b(v16u8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
300   int_r = __msa_copy_u_h(v8u16_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
301   int_r = __msa_copy_u_w(v4u32_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 3]}}
302   ll_r  = __msa_copy_u_d(v2i64_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 1]}}
303 
304   v16i8_r = __msa_insve_b(v16i8_r, 16, v16i8_a);     // expected-error {{argument value 16 is outside the valid range [0, 15]}}
305   v8i16_r = __msa_insve_h(v8i16_r, 8, v8i16_a);      // expected-error {{argument value 8 is outside the valid range [0, 7]}}
306   v4i32_r = __msa_insve_w(v4i32_r, 4, v4i32_a);      // expected-error {{argument value 4 is outside the valid range [0, 3]}}
307   v2i64_r = __msa_insve_d(v2i64_r, 2, v2i64_a);      // expected-error {{argument value 2 is outside the valid range [0, 1]}}
308 
309   v16i8_r = __msa_ld_b(&v16i8_a, -513);              // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
310   v8i16_r = __msa_ld_h(&v8i16_a, -1028);              // expected-error {{argument value -1028 is outside the valid range [-1024, 1022]}}
311   v4i32_r = __msa_ld_w(&v4i32_a, -2052);              // expected-error {{argument value -2052 is outside the valid range [-2048, 2044]}}
312   v2i64_r = __msa_ld_d(&v2i64_a, -4104);              // expected-error {{argument value -4104 is outside the valid range [-4096, 4088]}}
313 
314   v16i8_r = __msa_ldi_b(-129);                       // expected-error {{argument value -129 is outside the valid range [-128, 255]}}
315   v8i16_r = __msa_ldi_h(-513);                       // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
316   v4i32_r = __msa_ldi_w(-513);                       // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
317   v2i64_r = __msa_ldi_d(-513);                       // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
318 
319   v16i8_r = __msa_maxi_s_b(v16i8_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
320   v8i16_r = __msa_maxi_s_h(v8i16_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
321   v4i32_r = __msa_maxi_s_w(v4i32_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
322   v2i64_r = __msa_maxi_s_d(v2i64_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
323 
324   v16u8_r = __msa_maxi_u_b(v16u8_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
325   v8u16_r = __msa_maxi_u_h(v8u16_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
326   v4u32_r = __msa_maxi_u_w(v4u32_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
327   v2u64_r = __msa_maxi_u_d(v2u64_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
328 
329   v16i8_r = __msa_mini_s_b(v16i8_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
330   v8i16_r = __msa_mini_s_h(v8i16_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
331   v4i32_r = __msa_mini_s_w(v4i32_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
332   v2i64_r = __msa_mini_s_d(v2i64_a, -17);            // expected-error {{argument value -17 is outside the valid range [-16, 15]}}
333 
334   v16u8_r = __msa_mini_u_b(v16u8_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
335   v8u16_r = __msa_mini_u_h(v8u16_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
336   v4u32_r = __msa_mini_u_w(v4u32_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
337   v2u64_r = __msa_mini_u_d(v2u64_a, -1);             // expected-error {{argument value -1 is outside the valid range [0, 31]}}
338 
339   v16i8_r = __msa_nori_b(v16i8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
340 
341   v16i8_r = __msa_ori_b(v16i8_a, -1);                // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
342 
343   v16i8_r = __msa_sat_s_b(v16i8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 7]}}
344   v8i16_r = __msa_sat_s_h(v8i16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 15]}}
345   v4i32_r = __msa_sat_s_w(v4i32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
346   v2i64_r = __msa_sat_s_d(v2i64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 63]}}
347 
348   v16i8_r = __msa_sat_u_b(v16i8_a, -8);              // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
349   v8i16_r = __msa_sat_u_h(v8i16_a, -17);             // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
350   v4i32_r = __msa_sat_u_w(v4i32_a, -32);             // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
351   v2i64_r = __msa_sat_u_d(v2i64_a, -64);             // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
352 
353   v16i8_r = __msa_shf_b(v16i8_a, -1);                // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
354   v8i16_r = __msa_shf_h(v8i16_a, -1);                // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
355   v4i32_r = __msa_shf_w(v4i32_a, -1);                // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
356 
357   v16i8_r = __msa_sldi_b(v16i8_r, v16i8_a, -17);     // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
358   v8i16_r = __msa_sldi_h(v8i16_r, v8i16_a, -8);      // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
359   v4i32_r = __msa_sldi_w(v4i32_r, v4i32_a, -4);      // expected-error {{argument value 4294967292 is outside the valid range [0, 3]}}
360   v2i64_r = __msa_sldi_d(v2i64_r, v2i64_a, -2);      // expected-error {{argument value 4294967294 is outside the valid range [0, 1]}}
361 
362   v16i8_r = __msa_slli_b(v16i8_a, -8);               // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
363   v8i16_r = __msa_slli_h(v8i16_a, -17);              // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
364   v4i32_r = __msa_slli_w(v4i32_a, -32);              // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
365   v2i64_r = __msa_slli_d(v2i64_a, -64);              // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
366 
367   v16i8_r = __msa_splati_b(v16i8_a, -17);            // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
368   v8i16_r = __msa_splati_h(v8i16_a, -8);             // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
369   v4i32_r = __msa_splati_w(v4i32_a, -4);             // expected-error {{argument value 4294967292 is outside the valid range [0, 3]}}
370   v2i64_r = __msa_splati_d(v2i64_a, -2);             // expected-error {{argument value 4294967294 is outside the valid range [0, 1]}}
371 
372   v16i8_r = __msa_srai_b(v16i8_a, -8);               // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
373   v8i16_r = __msa_srai_h(v8i16_a, -17);              // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
374   v4i32_r = __msa_srai_w(v4i32_a, -32);              // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
375   v2i64_r = __msa_srai_d(v2i64_a, -64);              // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
376 
377   v16i8_r = __msa_srari_b(v16i8_a, -8);              // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
378   v8i16_r = __msa_srari_h(v8i16_a, -17);             // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
379   v4i32_r = __msa_srari_w(v4i32_a, -32);             // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
380   v2i64_r = __msa_srari_d(v2i64_a, -64);             // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
381 
382   v16i8_r = __msa_srli_b(v16i8_a, -8);               // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
383   v8i16_r = __msa_srli_h(v8i16_a, -17);              // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
384   v4i32_r = __msa_srli_w(v4i32_a, -32);              // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
385   v2i64_r = __msa_srli_d(v2i64_a, -64);              // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
386 
387   v16i8_r = __msa_srlri_b(v16i8_a, -8);              // expected-error {{argument value 4294967288 is outside the valid range [0, 7]}}
388   v8i16_r = __msa_srlri_h(v8i16_a, -17);             // expected-error {{argument value 4294967279 is outside the valid range [0, 15]}}
389   v4i32_r = __msa_srlri_w(v4i32_a, -32);             // expected-error {{argument value 4294967264 is outside the valid range [0, 31]}}
390   v2i64_r = __msa_srlri_d(v2i64_a, -64);             // expected-error {{argument value 4294967232 is outside the valid range [0, 63]}}
391 
392   __msa_st_b(v16i8_b, &v16i8_a, -513);               // expected-error {{argument value -513 is outside the valid range [-512, 511]}}
393   __msa_st_h(v8i16_b, &v8i16_a, -1025);               // expected-error {{argument value -1025 is outside the valid range [-1024, 1022]}}
394   __msa_st_w(v4i32_b, &v4i32_a, -2049);               // expected-error {{argument value -2049 is outside the valid range [-2048, 2044]}}
395   __msa_st_d(v2i64_b, &v2i64_a, -4097);               // expected-error {{argument value -4097 is outside the valid range [-4096, 4088]}}
396 
397   v16i8_r = __msa_subvi_b(v16i8_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
398   v8i16_r = __msa_subvi_h(v8i16_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
399   v4i32_r = __msa_subvi_w(v4i32_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
400   v2i64_r = __msa_subvi_d(v2i64_a, -1);              // expected-error {{argument value 4294967295 is outside the valid range [0, 31]}}
401 
402   v16i8_r = __msa_xori_b(v16i8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
403   v8i16_r = __msa_xori_b(v8i16_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
404   v4i32_r = __msa_xori_b(v4i32_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
405   v2i64_r = __msa_xori_b(v2i64_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
406 
407   v16u8_r = __msa_xori_b(v16u8_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
408   v8u16_r = __msa_xori_b(v8u16_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
409   v4u32_r = __msa_xori_b(v4u32_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
410   v2u64_r = __msa_xori_b(v2u64_a, -1);               // expected-error {{argument value 4294967295 is outside the valid range [0, 255]}}
411 
412 }
413