xref: /llvm-project/llvm/test/MC/RISCV/rvv/fmacc.s (revision b27f86b40b20942c0e809128214b43d6edde365a)
1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+v %s \
2# RUN:         --mattr=+f \
3# RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
4# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \
5# RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
6# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \
7# RUN:         --mattr=+f \
8# RUN:        | llvm-objdump -d --mattr=+v --mattr=+f - \
9# RUN:        | FileCheck %s --check-prefix=CHECK-INST
10# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \
11# RUN:         --mattr=+f \
12# RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
13
14vfmacc.vv v8, v20, v4, v0.t
15# CHECK-INST: vfmacc.vv v8, v20, v4, v0.t
16# CHECK-ENCODING: [0x57,0x14,0x4a,0xb0]
17# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
18# CHECK-UNKNOWN: b04a1457 <unknown>
19
20vfmacc.vv v8, v20, v4
21# CHECK-INST: vfmacc.vv v8, v20, v4
22# CHECK-ENCODING: [0x57,0x14,0x4a,0xb2]
23# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
24# CHECK-UNKNOWN: b24a1457 <unknown>
25
26vfmacc.vf v8, fa0, v4, v0.t
27# CHECK-INST: vfmacc.vf v8, fa0, v4, v0.t
28# CHECK-ENCODING: [0x57,0x54,0x45,0xb0]
29# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
30# CHECK-UNKNOWN: b0455457 <unknown>
31
32vfmacc.vf v8, fa0, v4
33# CHECK-INST: vfmacc.vf v8, fa0, v4
34# CHECK-ENCODING: [0x57,0x54,0x45,0xb2]
35# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
36# CHECK-UNKNOWN: b2455457 <unknown>
37
38vfnmacc.vv v8, v20, v4, v0.t
39# CHECK-INST: vfnmacc.vv v8, v20, v4, v0.t
40# CHECK-ENCODING: [0x57,0x14,0x4a,0xb4]
41# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
42# CHECK-UNKNOWN: b44a1457 <unknown>
43
44vfnmacc.vv v8, v20, v4
45# CHECK-INST: vfnmacc.vv v8, v20, v4
46# CHECK-ENCODING: [0x57,0x14,0x4a,0xb6]
47# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
48# CHECK-UNKNOWN: b64a1457 <unknown>
49
50vfnmacc.vf v8, fa0, v4, v0.t
51# CHECK-INST: vfnmacc.vf v8, fa0, v4, v0.t
52# CHECK-ENCODING: [0x57,0x54,0x45,0xb4]
53# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
54# CHECK-UNKNOWN: b4455457 <unknown>
55
56vfnmacc.vf v8, fa0, v4
57# CHECK-INST: vfnmacc.vf v8, fa0, v4
58# CHECK-ENCODING: [0x57,0x54,0x45,0xb6]
59# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
60# CHECK-UNKNOWN: b6455457 <unknown>
61
62vfmsac.vv v8, v20, v4, v0.t
63# CHECK-INST: vfmsac.vv v8, v20, v4, v0.t
64# CHECK-ENCODING: [0x57,0x14,0x4a,0xb8]
65# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
66# CHECK-UNKNOWN: b84a1457 <unknown>
67
68vfmsac.vv v8, v20, v4
69# CHECK-INST: vfmsac.vv v8, v20, v4
70# CHECK-ENCODING: [0x57,0x14,0x4a,0xba]
71# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
72# CHECK-UNKNOWN: ba4a1457 <unknown>
73
74vfmsac.vf v8, fa0, v4, v0.t
75# CHECK-INST: vfmsac.vf v8, fa0, v4, v0.t
76# CHECK-ENCODING: [0x57,0x54,0x45,0xb8]
77# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
78# CHECK-UNKNOWN: b8455457 <unknown>
79
80vfmsac.vf v8, fa0, v4
81# CHECK-INST: vfmsac.vf v8, fa0, v4
82# CHECK-ENCODING: [0x57,0x54,0x45,0xba]
83# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
84# CHECK-UNKNOWN: ba455457 <unknown>
85
86vfnmsac.vv v8, v20, v4, v0.t
87# CHECK-INST: vfnmsac.vv v8, v20, v4, v0.t
88# CHECK-ENCODING: [0x57,0x14,0x4a,0xbc]
89# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
90# CHECK-UNKNOWN: bc4a1457 <unknown>
91
92vfnmsac.vv v8, v20, v4
93# CHECK-INST: vfnmsac.vv v8, v20, v4
94# CHECK-ENCODING: [0x57,0x14,0x4a,0xbe]
95# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
96# CHECK-UNKNOWN: be4a1457 <unknown>
97
98vfnmsac.vf v8, fa0, v4, v0.t
99# CHECK-INST: vfnmsac.vf v8, fa0, v4, v0.t
100# CHECK-ENCODING: [0x57,0x54,0x45,0xbc]
101# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
102# CHECK-UNKNOWN: bc455457 <unknown>
103
104vfnmsac.vf v8, fa0, v4
105# CHECK-INST: vfnmsac.vf v8, fa0, v4
106# CHECK-ENCODING: [0x57,0x54,0x45,0xbe]
107# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
108# CHECK-UNKNOWN: be455457 <unknown>
109
110vfmadd.vv v8, v20, v4, v0.t
111# CHECK-INST: vfmadd.vv v8, v20, v4, v0.t
112# CHECK-ENCODING: [0x57,0x14,0x4a,0xa0]
113# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
114# CHECK-UNKNOWN: a04a1457 <unknown>
115
116vfmadd.vv v8, v20, v4
117# CHECK-INST: vfmadd.vv v8, v20, v4
118# CHECK-ENCODING: [0x57,0x14,0x4a,0xa2]
119# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
120# CHECK-UNKNOWN: a24a1457 <unknown>
121
122vfmadd.vf v8, fa0, v4, v0.t
123# CHECK-INST: vfmadd.vf v8, fa0, v4, v0.t
124# CHECK-ENCODING: [0x57,0x54,0x45,0xa0]
125# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
126# CHECK-UNKNOWN: a0455457 <unknown>
127
128vfmadd.vf v8, fa0, v4
129# CHECK-INST: vfmadd.vf v8, fa0, v4
130# CHECK-ENCODING: [0x57,0x54,0x45,0xa2]
131# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
132# CHECK-UNKNOWN: a2455457 <unknown>
133
134vfnmadd.vv v8, v20, v4, v0.t
135# CHECK-INST: vfnmadd.vv v8, v20, v4, v0.t
136# CHECK-ENCODING: [0x57,0x14,0x4a,0xa4]
137# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
138# CHECK-UNKNOWN: a44a1457 <unknown>
139
140vfnmadd.vv v8, v20, v4
141# CHECK-INST: vfnmadd.vv v8, v20, v4
142# CHECK-ENCODING: [0x57,0x14,0x4a,0xa6]
143# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
144# CHECK-UNKNOWN: a64a1457 <unknown>
145
146vfnmadd.vf v8, fa0, v4, v0.t
147# CHECK-INST: vfnmadd.vf v8, fa0, v4, v0.t
148# CHECK-ENCODING: [0x57,0x54,0x45,0xa4]
149# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
150# CHECK-UNKNOWN: a4455457 <unknown>
151
152vfnmadd.vf v8, fa0, v4
153# CHECK-INST: vfnmadd.vf v8, fa0, v4
154# CHECK-ENCODING: [0x57,0x54,0x45,0xa6]
155# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
156# CHECK-UNKNOWN: a6455457 <unknown>
157
158vfmsub.vv v8, v20, v4, v0.t
159# CHECK-INST: vfmsub.vv v8, v20, v4, v0.t
160# CHECK-ENCODING: [0x57,0x14,0x4a,0xa8]
161# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
162# CHECK-UNKNOWN: a84a1457 <unknown>
163
164vfmsub.vv v8, v20, v4
165# CHECK-INST: vfmsub.vv v8, v20, v4
166# CHECK-ENCODING: [0x57,0x14,0x4a,0xaa]
167# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
168# CHECK-UNKNOWN: aa4a1457 <unknown>
169
170vfmsub.vf v8, fa0, v4, v0.t
171# CHECK-INST: vfmsub.vf v8, fa0, v4, v0.t
172# CHECK-ENCODING: [0x57,0x54,0x45,0xa8]
173# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
174# CHECK-UNKNOWN: a8455457 <unknown>
175
176vfmsub.vf v8, fa0, v4
177# CHECK-INST: vfmsub.vf v8, fa0, v4
178# CHECK-ENCODING: [0x57,0x54,0x45,0xaa]
179# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
180# CHECK-UNKNOWN: aa455457 <unknown>
181
182vfnmsub.vv v8, v20, v4, v0.t
183# CHECK-INST: vfnmsub.vv v8, v20, v4, v0.t
184# CHECK-ENCODING: [0x57,0x14,0x4a,0xac]
185# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
186# CHECK-UNKNOWN: ac4a1457 <unknown>
187
188vfnmsub.vv v8, v20, v4
189# CHECK-INST: vfnmsub.vv v8, v20, v4
190# CHECK-ENCODING: [0x57,0x14,0x4a,0xae]
191# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
192# CHECK-UNKNOWN: ae4a1457 <unknown>
193
194vfnmsub.vf v8, fa0, v4, v0.t
195# CHECK-INST: vfnmsub.vf v8, fa0, v4, v0.t
196# CHECK-ENCODING: [0x57,0x54,0x45,0xac]
197# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
198# CHECK-UNKNOWN: ac455457 <unknown>
199
200vfnmsub.vf v8, fa0, v4
201# CHECK-INST: vfnmsub.vf v8, fa0, v4
202# CHECK-ENCODING: [0x57,0x54,0x45,0xae]
203# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
204# CHECK-UNKNOWN: ae455457 <unknown>
205
206vfwmacc.vv v8, v20, v4, v0.t
207# CHECK-INST: vfwmacc.vv v8, v20, v4, v0.t
208# CHECK-ENCODING: [0x57,0x14,0x4a,0xf0]
209# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
210# CHECK-UNKNOWN: f04a1457 <unknown>
211
212vfwmacc.vv v8, v20, v4
213# CHECK-INST: vfwmacc.vv v8, v20, v4
214# CHECK-ENCODING: [0x57,0x14,0x4a,0xf2]
215# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
216# CHECK-UNKNOWN: f24a1457 <unknown>
217
218vfwmacc.vf v8, fa0, v4, v0.t
219# CHECK-INST: vfwmacc.vf v8, fa0, v4, v0.t
220# CHECK-ENCODING: [0x57,0x54,0x45,0xf0]
221# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
222# CHECK-UNKNOWN: f0455457 <unknown>
223
224vfwmacc.vf v8, fa0, v4
225# CHECK-INST: vfwmacc.vf v8, fa0, v4
226# CHECK-ENCODING: [0x57,0x54,0x45,0xf2]
227# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
228# CHECK-UNKNOWN: f2455457 <unknown>
229
230vfwnmacc.vv v8, v20, v4, v0.t
231# CHECK-INST: vfwnmacc.vv v8, v20, v4, v0.t
232# CHECK-ENCODING: [0x57,0x14,0x4a,0xf4]
233# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
234# CHECK-UNKNOWN: f44a1457 <unknown>
235
236vfwnmacc.vv v8, v20, v4
237# CHECK-INST: vfwnmacc.vv v8, v20, v4
238# CHECK-ENCODING: [0x57,0x14,0x4a,0xf6]
239# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
240# CHECK-UNKNOWN: f64a1457 <unknown>
241
242vfwnmacc.vf v8, fa0, v4, v0.t
243# CHECK-INST: vfwnmacc.vf v8, fa0, v4, v0.t
244# CHECK-ENCODING: [0x57,0x54,0x45,0xf4]
245# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
246# CHECK-UNKNOWN: f4455457 <unknown>
247
248vfwnmacc.vf v8, fa0, v4
249# CHECK-INST: vfwnmacc.vf v8, fa0, v4
250# CHECK-ENCODING: [0x57,0x54,0x45,0xf6]
251# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
252# CHECK-UNKNOWN: f6455457 <unknown>
253
254vfwmsac.vv v8, v20, v4, v0.t
255# CHECK-INST: vfwmsac.vv v8, v20, v4, v0.t
256# CHECK-ENCODING: [0x57,0x14,0x4a,0xf8]
257# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
258# CHECK-UNKNOWN: f84a1457 <unknown>
259
260vfwmsac.vv v8, v20, v4
261# CHECK-INST: vfwmsac.vv v8, v20, v4
262# CHECK-ENCODING: [0x57,0x14,0x4a,0xfa]
263# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
264# CHECK-UNKNOWN: fa4a1457 <unknown>
265
266vfwmsac.vf v8, fa0, v4, v0.t
267# CHECK-INST: vfwmsac.vf v8, fa0, v4, v0.t
268# CHECK-ENCODING: [0x57,0x54,0x45,0xf8]
269# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
270# CHECK-UNKNOWN: f8455457 <unknown>
271
272vfwmsac.vf v8, fa0, v4
273# CHECK-INST: vfwmsac.vf v8, fa0, v4
274# CHECK-ENCODING: [0x57,0x54,0x45,0xfa]
275# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
276# CHECK-UNKNOWN: fa455457 <unknown>
277
278vfwnmsac.vv v8, v20, v4, v0.t
279# CHECK-INST: vfwnmsac.vv v8, v20, v4, v0.t
280# CHECK-ENCODING: [0x57,0x14,0x4a,0xfc]
281# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
282# CHECK-UNKNOWN: fc4a1457 <unknown>
283
284vfwnmsac.vv v8, v20, v4
285# CHECK-INST: vfwnmsac.vv v8, v20, v4
286# CHECK-ENCODING: [0x57,0x14,0x4a,0xfe]
287# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
288# CHECK-UNKNOWN: fe4a1457 <unknown>
289
290vfwnmsac.vf v8, fa0, v4, v0.t
291# CHECK-INST: vfwnmsac.vf v8, fa0, v4, v0.t
292# CHECK-ENCODING: [0x57,0x54,0x45,0xfc]
293# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
294# CHECK-UNKNOWN: fc455457 <unknown>
295
296vfwnmsac.vf v8, fa0, v4
297# CHECK-INST: vfwnmsac.vf v8, fa0, v4
298# CHECK-ENCODING: [0x57,0x54,0x45,0xfe]
299# CHECK-ERROR: instruction requires the following: 'V'{{.*}}'Zve32f' (Vector Extensions for Embedded Processors){{$}}
300# CHECK-UNKNOWN: fe455457 <unknown>
301