xref: /aosp_15_r20/external/llvm/test/MC/Mips/msa/invalid.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1# Instructions that are invalid
2#
3# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 -mattr=+msa \
4# RUN:     -show-encoding 2>%t1
5# RUN: FileCheck %s < %t1
6
7    .set noat
8    addvi.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
9    addvi.b $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
10    addvi.h $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
11    addvi.h $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
12    addvi.w $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
13    addvi.w $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
14    addvi.d $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
15    addvi.d $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
16    andi.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
17    andi.b $w1, $w2, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
18    bclri.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
19    bclri.b $w1, $w2, 8      # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
20    bclri.h $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
21    bclri.h $w1, $w2, 16     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
22    bclri.w $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
23    bclri.w $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
24    bclri.d $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
25    bclri.d $w1, $w2, 64     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
26    binsli.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
27    binsli.b $w1, $w2, 8     # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
28    binsli.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
29    binsli.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
30    binsli.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
31    binsli.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
32    binsli.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
33    binsli.d $w1, $w2, 64    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
34    binsri.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
35    binsri.b $w1, $w2, 8     # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
36    binsri.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
37    binsri.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
38    binsri.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
39    binsri.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
40    binsri.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
41    binsri.d $w1, $w2, 64    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
42    bmnzi.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
43    bmnzi.b $w1, $w2, 256    # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
44    bmzi.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
45    bmzi.b $w1, $w2, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
46    bnegi.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
47    bnegi.b $w1, $w2, 8      # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
48    bnegi.h $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
49    bnegi.h $w1, $w2, 16     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
50    bnegi.w $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
51    bnegi.w $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
52    bnegi.d $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
53    bnegi.d $w1, $w2, 64     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
54    bseli.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
55    bseli.b $w1, $w2, 256    # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
56    bseti.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
57    bseti.b $w1, $w2, 8      # CHECK: :[[@LINE]]:23: error: expected 3-bit unsigned immediate
58    bseti.h $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
59    bseti.h $w1, $w2, 16     # CHECK: :[[@LINE]]:23: error: expected 4-bit unsigned immediate
60    bseti.w $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
61    bseti.w $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
62    bseti.d $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
63    bseti.d $w1, $w2, 64     # CHECK: :[[@LINE]]:23: error: expected 6-bit unsigned immediate
64    ceqi.b $w1, $w2, -17     # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
65    ceqi.b $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
66    ceqi.h $w1, $w2, -17     # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
67    ceqi.h $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
68    ceqi.w $w1, $w2, -17     # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
69    ceqi.w $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
70    ceqi.d $w1, $w2, -17     # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
71    ceqi.d $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 5-bit signed immediate
72    clei_s.b $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
73    clei_s.b $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
74    clei_s.h $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
75    clei_s.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
76    clei_s.w $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
77    clei_s.w $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
78    clei_s.d $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
79    clei_s.d $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
80    clei_u.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
81    clei_u.b $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
82    clei_u.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
83    clei_u.h $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
84    clei_u.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
85    clei_u.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
86    clei_u.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
87    clei_u.d $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
88    clti_s.b $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
89    clti_s.b $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
90    clti_s.h $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
91    clti_s.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
92    clti_s.w $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
93    clti_s.w $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
94    clti_s.d $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
95    clti_s.d $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
96    clti_u.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
97    clti_u.b $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
98    clti_u.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
99    clti_u.h $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
100    clti_u.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
101    clti_u.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
102    clti_u.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
103    clti_u.d $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
104    copy_s.b $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
105    copy_s.b $2, $w9[16]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
106    copy_s.h $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
107    copy_s.h $2, $w9[8]      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
108    copy_s.w $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
109    copy_s.w $2, $w9[4]      # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
110    copy_s.d $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
111    copy_s.d $2, $w9[2]      # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
112    copy_u.b $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
113    copy_u.b $2, $w9[16]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
114    copy_u.h $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
115    copy_u.h $2, $w9[8]      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
116    copy_u.w $2, $w9[-1]     # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
117    copy_u.w $2, $w9[4]      # CHECK: :[[@LINE]]:22: error: expected 2-bit unsigned immediate
118    insert.b $w9[-1], $2     # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
119    insert.b $w9[16], $2     # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
120    insert.h $w9[-1], $2     # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
121    insert.h $w9[8], $2      # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
122    insert.w $w9[-1], $2     # CHECK: :[[@LINE]]:18: error: expected 2-bit unsigned immediate
123    insert.w $w9[4], $2      # CHECK: :[[@LINE]]:18: error: expected 2-bit unsigned immediate
124    insert.d $w9[-1], $2     # CHECK: :[[@LINE]]:18: error: expected 1-bit unsigned immediate
125    insert.d $w9[2], $2      # CHECK: :[[@LINE]]:18: error: expected 1-bit unsigned immediate
126    insve.b $w25[-1], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
127    insve.b $w25[16], $w9[0] # CHECK: :[[@LINE]]:18: error: expected 4-bit unsigned immediate
128    insve.h $w24[-1], $w2[0] # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
129    insve.h $w24[8], $w2[0]  # CHECK: :[[@LINE]]:18: error: expected 3-bit unsigned immediate
130    insve.w $w0[-1], $w13[0] # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
131    insve.w $w0[4], $w13[0]  # CHECK: :[[@LINE]]:17: error: expected 2-bit unsigned immediate
132    insve.d $w3[-1], $w18[0] # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
133    insve.d $w3[2], $w18[0]  # CHECK: :[[@LINE]]:17: error: expected 1-bit unsigned immediate
134    insve.b $w25[3], $w9[1]  # CHECK: :[[@LINE]]:26: error: expected '0'
135    insve.h $w24[2], $w2[1]  # CHECK: :[[@LINE]]:26: error: expected '0'
136    insve.w $w0[2], $w13[1]  # CHECK: :[[@LINE]]:26: error: expected '0'
137    insve.d $w3[0], $w18[1]  # CHECK: :[[@LINE]]:26: error: expected '0'
138    ld.b $w0, -513($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
139    ld.b $w0, 512($2)        # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
140    ld.h $w0, -1025($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
141    ld.h $w0, 1024($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
142    ld.w $w0, -2049($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
143    ld.w $w0, 2048($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
144    ld.d $w0, -4097($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
145    ld.d $w0, 4096($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
146    ldi.b $w1, -1025         # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
147    ldi.b $w1, 1024          # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
148    ldi.h $w1, -1025         # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
149    ldi.h $w1, 1024          # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
150    ldi.w $w1, -1025         # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
151    ldi.w $w1, 1024          # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
152    ldi.d $w1, -1025         # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
153    ldi.d $w1, 1024          # CHECK: :[[@LINE]]:16: error: expected 10-bit signed immediate
154    lsa $2, $3, $4, 0        # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
155    lsa $2, $3, $4, 5        # CHECK: :[[@LINE]]:21: error: expected immediate in range 1 .. 4
156    maxi_s.b $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
157    maxi_s.b $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
158    maxi_s.h $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
159    maxi_s.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
160    maxi_s.w $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
161    maxi_s.w $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
162    maxi_s.d $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
163    maxi_s.d $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
164    maxi_u.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
165    maxi_u.b $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
166    maxi_u.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
167    maxi_u.h $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
168    maxi_u.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
169    maxi_u.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
170    maxi_u.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
171    maxi_u.d $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
172    mini_s.b $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
173    mini_s.b $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
174    mini_s.h $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
175    mini_s.h $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
176    mini_s.w $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
177    mini_s.w $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
178    mini_s.d $w1, $w2, -17   # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
179    mini_s.d $w1, $w2, 16    # CHECK: :[[@LINE]]:24: error: expected 5-bit signed immediate
180    mini_u.b $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
181    mini_u.b $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
182    mini_u.h $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
183    mini_u.h $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
184    mini_u.w $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
185    mini_u.w $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
186    mini_u.d $w1, $w2, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
187    mini_u.d $w1, $w2, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
188    nori.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
189    nori.b $w1, $w2, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
190    ori.b $w1, $w2, -1       # CHECK: :[[@LINE]]:21: error: expected 8-bit unsigned immediate
191    ori.b $w1, $w2, 256      # CHECK: :[[@LINE]]:21: error: expected 8-bit unsigned immediate
192    sat_s.b $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
193    sat_s.b $w31, $w31, 8    # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
194    sat_s.h $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
195    sat_s.h $w31, $w31, 16   # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
196    sat_s.w $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
197    sat_s.w $w31, $w31, 32   # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
198    sat_s.d $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
199    sat_s.d $w31, $w31, 64   # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
200    sat_u.b $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
201    sat_u.b $w31, $w31, 8    # CHECK: :[[@LINE]]:25: error: expected 3-bit unsigned immediate
202    sat_u.h $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
203    sat_u.h $w31, $w31, 16   # CHECK: :[[@LINE]]:25: error: expected 4-bit unsigned immediate
204    sat_u.w $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
205    sat_u.w $w31, $w31, 32   # CHECK: :[[@LINE]]:25: error: expected 5-bit unsigned immediate
206    sat_u.d $w31, $w31, -1   # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
207    sat_u.d $w31, $w31, 64   # CHECK: :[[@LINE]]:25: error: expected 6-bit unsigned immediate
208    shf.b $w19, $w30, -1     # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
209    shf.b $w19, $w30, 256    # CHECK: :[[@LINE]]:23: error: expected 8-bit unsigned immediate
210    shf.h $w17, $w8, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
211    shf.h $w17, $w8, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
212    shf.w $w14, $w3, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
213    shf.w $w14, $w3, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
214    sldi.b $w0, $w29[-1]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
215    sldi.b $w0, $w29[16]     # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
216    sldi.h $w8, $w17[-1]     # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
217    sldi.h $w8, $w17[8]      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
218    sldi.w $w20, $w27[-1]    # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
219    sldi.w $w20, $w27[4]     # CHECK: :[[@LINE]]:23: error: expected 2-bit unsigned immediate
220    sldi.d $w4, $w12[-1]     # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
221    sldi.d $w4, $w12[2]      # CHECK: :[[@LINE]]:22: error: expected 1-bit unsigned immediate
222    slli.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
223    slli.b $w1, $w2, 8       # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
224    slli.h $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
225    slli.h $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
226    slli.w $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
227    slli.w $w1, $w2, 32      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
228    slli.d $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
229    slli.d $w1, $w2, 64      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
230    splati.b $w0, $w29[-1]   # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
231    splati.b $w0, $w29[16]   # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
232    splati.h $w8, $w17[-1]   # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
233    splati.h $w8, $w17[8]    # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
234    splati.w $w2, $w27[-1]   # CHECK: :[[@LINE]]:24: error: expected 2-bit unsigned immediate
235    splati.w $w2, $w27[4]    # CHECK: :[[@LINE]]:24: error: expected 2-bit unsigned immediate
236    splati.d $w4, $w12[-1]   # CHECK: :[[@LINE]]:24: error: expected 1-bit unsigned immediate
237    splati.d $w4, $w12[2]    # CHECK: :[[@LINE]]:24: error: expected 1-bit unsigned immediate
238    srai.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
239    srai.b $w1, $w2, 8       # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
240    srai.h $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
241    srai.h $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
242    srai.w $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
243    srai.w $w1, $w2, 32      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
244    srai.d $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
245    srai.d $w1, $w2, 64      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
246    srari.b $w5, $w25, -1    # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
247    srari.b $w5, $w25, 8     # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
248    srari.h $w5, $w25, -1    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
249    srari.h $w5, $w25, 16    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
250    srari.w $w5, $w25, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
251    srari.w $w5, $w25, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
252    srari.d $w5, $w25, -1    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
253    srari.d $w5, $w25, 64    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
254    srli.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
255    srli.b $w1, $w2, 8       # CHECK: :[[@LINE]]:22: error: expected 3-bit unsigned immediate
256    srli.h $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
257    srli.h $w1, $w2, 16      # CHECK: :[[@LINE]]:22: error: expected 4-bit unsigned immediate
258    srli.w $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
259    srli.w $w1, $w2, 32      # CHECK: :[[@LINE]]:22: error: expected 5-bit unsigned immediate
260    srli.d $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
261    srli.d $w1, $w2, 64      # CHECK: :[[@LINE]]:22: error: expected 6-bit unsigned immediate
262    srlri.b $w18, $w3, -1    # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
263    srlri.b $w18, $w3, 8     # CHECK: :[[@LINE]]:24: error: expected 3-bit unsigned immediate
264    srlri.h $w18, $w3, -1    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
265    srlri.h $w18, $w3, 16    # CHECK: :[[@LINE]]:24: error: expected 4-bit unsigned immediate
266    srlri.w $w18, $w3, -1    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
267    srlri.w $w18, $w3, 32    # CHECK: :[[@LINE]]:24: error: expected 5-bit unsigned immediate
268    srlri.d $w18, $w3, -1    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
269    srlri.d $w18, $w3, 64    # CHECK: :[[@LINE]]:24: error: expected 6-bit unsigned immediate
270    st.b $w0, -513($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
271    st.b $w0, 512($2)        # CHECK: :[[@LINE]]:15: error: expected memory with 10-bit signed offset
272    st.h $w0, -1025($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
273    st.h $w0, 1024($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 11-bit signed offset and multiple of 2
274    st.w $w0, -2049($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
275    st.w $w0, 2048($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 12-bit signed offset and multiple of 4
276    st.d $w0, -4097($2)      # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
277    st.d $w0, 4096($2)       # CHECK: :[[@LINE]]:15: error: expected memory with 13-bit signed offset and multiple of 8
278    subvi.b $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
279    subvi.b $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
280    subvi.h $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
281    subvi.h $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
282    subvi.w $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
283    subvi.w $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
284    subvi.d $w1, $w2, -1     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
285    subvi.d $w1, $w2, 32     # CHECK: :[[@LINE]]:23: error: expected 5-bit unsigned immediate
286    xori.b $w1, $w2, -1      # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
287    xori.b $w1, $w2, 256     # CHECK: :[[@LINE]]:22: error: expected 8-bit unsigned immediate
288