44# RUN: not llvm-mc -triple riscv32 -mattr=-experimental-xqcia < %s 2>&1 \
55# RUN: | FileCheck -check-prefixes=CHECK,CHECK-MINUS %s
66
7- # CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
7+ # CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)
8+ # CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction
89qc.slasat x10, x3, 17
910
1011# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
1112qc.slasat x10, x3
1213
13- # CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
14+ # CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)
15+ # CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction
1416qc.slasat x0, x3, x17
1517
16- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
18+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
19+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
1720qc.slasat x10, x0, x17
1821
19- # CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
22+ # CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)
23+ # CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction
2024qc.slasat x10, x3, x0
2125
2226# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
2327qc.slasat x10, x3, x17
2428
2529
26- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
30+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
31+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
2732qc.sllsat x23, x25, 27
2833
2934# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
3035qc.sllsat x23, x25
3136
32- # CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
37+ # CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)
38+ # CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction
3339qc.sllsat x0, x25, x27
3440
35- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
41+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
42+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
3643qc.sllsat x23, x0, x27
3744
38- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
45+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
46+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
3947qc.sllsat x23, x25, x0
4048
4149# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
4250qc.sllsat x23, x25, x27
4351
4452
45- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
53+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
54+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
4655qc.addsat x17, x14, 7
4756
4857# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
4958qc.addsat x17, x14
5059
51- # CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
60+ # CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)
61+ # CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction
5262qc.addsat x0, x14, x7
5363
54- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
64+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
65+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
5566qc.addsat x17, x0, x7
5667
57- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
68+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
69+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
5870qc.addsat x17, x14, x0
5971
6072# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
6173qc.addsat x17, x14, x7
6274
6375
64- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
76+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
77+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
6578qc.addusat x8, x18, 28
6679
6780# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
6881qc.addusat x8, x18
6982
70- # CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
83+ # CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)
84+ # CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction
7185qc.addusat x0, x18, x28
7286
73- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
87+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
88+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
7489qc.addusat x8, x0, x28
7590
76- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
91+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
92+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
7793qc.addusat x8, x18, x0
7894
7995# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
8096qc.addusat x8, x18, x28
8197
8298
83- # CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
99+ # CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)
100+ # CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction
84101qc.subsat x22, x2, 12
85102
86103# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
87104qc.subsat x22, x2
88105
89- # CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
106+ # CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)
107+ # CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction
90108qc.subsat x0, x2, x12
91109
92- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
110+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
111+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
93112qc.subsat x22, x0, x12
94113
95- # CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
114+ # CHECK-PLUS: :[[@LINE+2]]:20: error: register must be a GPR excluding zero (x0)
115+ # CHECK-MINUS: :[[@LINE+1]]:20: error: invalid operand for instruction
96116qc.subsat x22, x2, x0
97117
98118# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
99119qc.subsat x22, x2, x12
100120
101121
102- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
122+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
123+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
103124qc.subusat x9, x14, 17
104125
105126# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
106127qc.subusat x9, x14
107128
108- # CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
129+ # CHECK-PLUS: :[[@LINE+2]]:12: error: register must be a GPR excluding zero (x0)
130+ # CHECK-MINUS: :[[@LINE+1]]:12: error: invalid operand for instruction
109131qc.subusat x0, x14, x17
110132
111- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
133+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
134+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
112135qc.subusat x9, x0, x17
113136
114- # CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
137+ # CHECK-PLUS: :[[@LINE+2]]:21: error: register must be a GPR excluding zero (x0)
138+ # CHECK-MINUS: :[[@LINE+1]]:21: error: invalid operand for instruction
115139qc.subusat x9, x14, x0
116140
117141# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
118142qc.subusat x9, x14, x17
119143
120144
121- # CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
145+ # CHECK-PLUS: :[[@LINE+2]]:18: error: register must be a GPR excluding zero (x0)
146+ # CHECK-MINUS: :[[@LINE+1]]:18: error: invalid operand for instruction
122147qc.wrap x3, x30, 23
123148
124149# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
125150qc.wrap x3, x30
126151
127- # CHECK: :[[@LINE+1]]:9: error: invalid operand for instruction
152+ # CHECK-PLUS: :[[@LINE+2]]:9: error: register must be a GPR excluding zero (x0)
153+ # CHECK-MINUS: :[[@LINE+1]]:9: error: invalid operand for instruction
128154qc.wrap x0, x30, x23
129155
130- # CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
156+ # CHECK-PLUS: :[[@LINE+2]]:18: error: register must be a GPR excluding zero (x0)
157+ # CHECK-MINUS: :[[@LINE+1]]:18: error: invalid operand for instruction
131158qc.wrap x3, x30, x0
132159
133160# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
134161qc.wrap x3, x30, x23
135162
136163
137- # CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
164+ # CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)
165+ # CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction
138166qc.wrapi x0, 12 , 2047
139167
140- # CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
168+ # CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)
169+ # CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction
141170qc.wrapi x0, x12, 2047
142171
143- # CHECK: :[[@LINE+1]]:14: error: invalid operand for instruction
172+ # CHECK-PLUS: :[[@LINE+2]]:14: error: register must be a GPR excluding zero (x0)
173+ # CHECK-MINUS: :[[@LINE+1]]:14: error: invalid operand for instruction
144174qc.wrapi x6, x0, 2047
145175
146176# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
@@ -153,48 +183,57 @@ qc.wrapi x6, x12, 2048
153183qc.wrapi x6, x12, 2047
154184
155185
156- # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
186+ # CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)
187+ # CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction
157188qc.norm x3, 7
158189
159190# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
160191qc.norm x3
161192
162- # CHECK: :[[@LINE+1]]:9: error: invalid operand for instruction
193+ # CHECK-PLUS: :[[@LINE+2]]:9: error: register must be a GPR excluding zero (x0)
194+ # CHECK-MINUS: :[[@LINE+1]]:9: error: invalid operand for instruction
163195qc.norm x0, x7
164196
165- # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
197+ # CHECK-PLUS: :[[@LINE+2]]:13: error: register must be a GPR excluding zero (x0)
198+ # CHECK-MINUS: :[[@LINE+1]]:13: error: invalid operand for instruction
166199qc.norm x3, x0
167200
168201# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
169202qc.norm x3, x7
170203
171204
172- # CHECK: :[[@LINE+1]]:15: error: invalid operand for instruction
205+ # CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)
206+ # CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction
173207qc.normu x11, 17
174208
175209# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
176210qc.normu x11
177211
178- # CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
212+ # CHECK-PLUS: :[[@LINE+2]]:10: error: register must be a GPR excluding zero (x0)
213+ # CHECK-MINUS: :[[@LINE+1]]:10: error: invalid operand for instruction
179214qc.normu x0, x17
180215
181- # CHECK: :[[@LINE+1]]:15: error: invalid operand for instruction
216+ # CHECK-PLUS: :[[@LINE+2]]:15: error: register must be a GPR excluding zero (x0)
217+ # CHECK-MINUS: :[[@LINE+1]]:15: error: invalid operand for instruction
182218qc.normu x11, x0
183219
184220# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
185221qc.normu x11, x17
186222
187223
188- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
224+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
225+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
189226qc.normeu x26, 31
190227
191228# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
192229qc.normeu x26
193230
194- # CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
231+ # CHECK-PLUS: :[[@LINE+2]]:11: error: register must be a GPR excluding zero (x0)
232+ # CHECK-MINUS: :[[@LINE+1]]:11: error: invalid operand for instruction
195233qc.normeu x0, x31
196234
197- # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
235+ # CHECK-PLUS: :[[@LINE+2]]:16: error: register must be a GPR excluding zero (x0)
236+ # CHECK-MINUS: :[[@LINE+1]]:16: error: invalid operand for instruction
198237qc.normeu x26, x0
199238
200239# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
0 commit comments