xref: /llvm-project/llvm/test/MC/RISCV/rvv/mul.s (revision b27f86b40b20942c0e809128214b43d6edde365a)
1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+v %s \
2# RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \
4# RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
5# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \
6# RUN:        | llvm-objdump -d --mattr=+v - \
7# RUN:        | FileCheck %s --check-prefix=CHECK-INST
8# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v %s \
9# RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
10
11vmul.vv v8, v4, v20, v0.t
12# CHECK-INST: vmul.vv v8, v4, v20, v0.t
13# CHECK-ENCODING: [0x57,0x24,0x4a,0x94]
14# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
15# CHECK-UNKNOWN: 944a2457 <unknown>
16
17vmul.vv v8, v4, v20
18# CHECK-INST: vmul.vv v8, v4, v20
19# CHECK-ENCODING: [0x57,0x24,0x4a,0x96]
20# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
21# CHECK-UNKNOWN: 964a2457 <unknown>
22
23vmul.vx v8, v4, a0, v0.t
24# CHECK-INST: vmul.vx v8, v4, a0, v0.t
25# CHECK-ENCODING: [0x57,0x64,0x45,0x94]
26# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
27# CHECK-UNKNOWN: 94456457 <unknown>
28
29vmul.vx v8, v4, a0
30# CHECK-INST: vmul.vx v8, v4, a0
31# CHECK-ENCODING: [0x57,0x64,0x45,0x96]
32# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
33# CHECK-UNKNOWN: 96456457 <unknown>
34
35vmulh.vv v8, v4, v20, v0.t
36# CHECK-INST: vmulh.vv v8, v4, v20, v0.t
37# CHECK-ENCODING: [0x57,0x24,0x4a,0x9c]
38# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
39# CHECK-UNKNOWN: 9c4a2457 <unknown>
40
41vmulh.vv v8, v4, v20
42# CHECK-INST: vmulh.vv v8, v4, v20
43# CHECK-ENCODING: [0x57,0x24,0x4a,0x9e]
44# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
45# CHECK-UNKNOWN: 9e4a2457 <unknown>
46
47vmulh.vx v8, v4, a0, v0.t
48# CHECK-INST: vmulh.vx v8, v4, a0, v0.t
49# CHECK-ENCODING: [0x57,0x64,0x45,0x9c]
50# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
51# CHECK-UNKNOWN: 9c456457 <unknown>
52
53vmulh.vx v8, v4, a0
54# CHECK-INST: vmulh.vx v8, v4, a0
55# CHECK-ENCODING: [0x57,0x64,0x45,0x9e]
56# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
57# CHECK-UNKNOWN: 9e456457 <unknown>
58
59vmulhu.vv v8, v4, v20, v0.t
60# CHECK-INST: vmulhu.vv v8, v4, v20, v0.t
61# CHECK-ENCODING: [0x57,0x24,0x4a,0x90]
62# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
63# CHECK-UNKNOWN: 904a2457 <unknown>
64
65vmulhu.vv v8, v4, v20
66# CHECK-INST: vmulhu.vv v8, v4, v20
67# CHECK-ENCODING: [0x57,0x24,0x4a,0x92]
68# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
69# CHECK-UNKNOWN: 924a2457 <unknown>
70
71vmulhu.vx v8, v4, a0, v0.t
72# CHECK-INST: vmulhu.vx v8, v4, a0, v0.t
73# CHECK-ENCODING: [0x57,0x64,0x45,0x90]
74# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
75# CHECK-UNKNOWN: 90456457 <unknown>
76
77vmulhu.vx v8, v4, a0
78# CHECK-INST: vmulhu.vx v8, v4, a0
79# CHECK-ENCODING: [0x57,0x64,0x45,0x92]
80# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
81# CHECK-UNKNOWN: 92456457 <unknown>
82
83vmulhsu.vv v8, v4, v20, v0.t
84# CHECK-INST: vmulhsu.vv v8, v4, v20, v0.t
85# CHECK-ENCODING: [0x57,0x24,0x4a,0x98]
86# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
87# CHECK-UNKNOWN: 984a2457 <unknown>
88
89vmulhsu.vv v8, v4, v20
90# CHECK-INST: vmulhsu.vv v8, v4, v20
91# CHECK-ENCODING: [0x57,0x24,0x4a,0x9a]
92# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
93# CHECK-UNKNOWN: 9a4a2457 <unknown>
94
95vmulhsu.vx v8, v4, a0, v0.t
96# CHECK-INST: vmulhsu.vx v8, v4, a0, v0.t
97# CHECK-ENCODING: [0x57,0x64,0x45,0x98]
98# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
99# CHECK-UNKNOWN: 98456457 <unknown>
100
101vmulhsu.vx v8, v4, a0
102# CHECK-INST: vmulhsu.vx v8, v4, a0
103# CHECK-ENCODING: [0x57,0x64,0x45,0x9a]
104# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
105# CHECK-UNKNOWN: 9a456457 <unknown>
106
107vwmul.vv v8, v4, v20, v0.t
108# CHECK-INST: vwmul.vv v8, v4, v20, v0.t
109# CHECK-ENCODING: [0x57,0x24,0x4a,0xec]
110# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
111# CHECK-UNKNOWN: ec4a2457 <unknown>
112
113vwmul.vv v8, v4, v20
114# CHECK-INST: vwmul.vv v8, v4, v20
115# CHECK-ENCODING: [0x57,0x24,0x4a,0xee]
116# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
117# CHECK-UNKNOWN: ee4a2457 <unknown>
118
119vwmul.vx v8, v4, a0, v0.t
120# CHECK-INST: vwmul.vx v8, v4, a0, v0.t
121# CHECK-ENCODING: [0x57,0x64,0x45,0xec]
122# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
123# CHECK-UNKNOWN: ec456457 <unknown>
124
125vwmul.vx v8, v4, a0
126# CHECK-INST: vwmul.vx v8, v4, a0
127# CHECK-ENCODING: [0x57,0x64,0x45,0xee]
128# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
129# CHECK-UNKNOWN: ee456457 <unknown>
130
131vwmulu.vv v8, v4, v20, v0.t
132# CHECK-INST: vwmulu.vv v8, v4, v20, v0.t
133# CHECK-ENCODING: [0x57,0x24,0x4a,0xe0]
134# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
135# CHECK-UNKNOWN: e04a2457 <unknown>
136
137vwmulu.vv v8, v4, v20
138# CHECK-INST: vwmulu.vv v8, v4, v20
139# CHECK-ENCODING: [0x57,0x24,0x4a,0xe2]
140# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
141# CHECK-UNKNOWN: e24a2457 <unknown>
142
143vwmulu.vx v8, v4, a0, v0.t
144# CHECK-INST: vwmulu.vx v8, v4, a0, v0.t
145# CHECK-ENCODING: [0x57,0x64,0x45,0xe0]
146# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
147# CHECK-UNKNOWN: e0456457 <unknown>
148
149vwmulu.vx v8, v4, a0
150# CHECK-INST: vwmulu.vx v8, v4, a0
151# CHECK-ENCODING: [0x57,0x64,0x45,0xe2]
152# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
153# CHECK-UNKNOWN: e2456457 <unknown>
154
155vwmulsu.vv v8, v4, v20, v0.t
156# CHECK-INST: vwmulsu.vv v8, v4, v20, v0.t
157# CHECK-ENCODING: [0x57,0x24,0x4a,0xe8]
158# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
159# CHECK-UNKNOWN: e84a2457 <unknown>
160
161vwmulsu.vv v8, v4, v20
162# CHECK-INST: vwmulsu.vv v8, v4, v20
163# CHECK-ENCODING: [0x57,0x24,0x4a,0xea]
164# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
165# CHECK-UNKNOWN: ea4a2457 <unknown>
166
167vwmulsu.vx v8, v4, a0, v0.t
168# CHECK-INST: vwmulsu.vx v8, v4, a0, v0.t
169# CHECK-ENCODING: [0x57,0x64,0x45,0xe8]
170# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
171# CHECK-UNKNOWN: e8456457 <unknown>
172
173vwmulsu.vx v8, v4, a0
174# CHECK-INST: vwmulsu.vx v8, v4, a0
175# CHECK-ENCODING: [0x57,0x64,0x45,0xea]
176# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
177# CHECK-UNKNOWN: ea456457 <unknown>
178
179vsmul.vv v8, v4, v20, v0.t
180# CHECK-INST: vsmul.vv v8, v4, v20, v0.t
181# CHECK-ENCODING: [0x57,0x04,0x4a,0x9c]
182# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
183# CHECK-UNKNOWN: 9c4a0457 <unknown>
184
185vsmul.vv v8, v4, v20
186# CHECK-INST: vsmul.vv v8, v4, v20
187# CHECK-ENCODING: [0x57,0x04,0x4a,0x9e]
188# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
189# CHECK-UNKNOWN: 9e4a0457 <unknown>
190
191vsmul.vx v8, v4, a0, v0.t
192# CHECK-INST: vsmul.vx v8, v4, a0, v0.t
193# CHECK-ENCODING: [0x57,0x44,0x45,0x9c]
194# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
195# CHECK-UNKNOWN: 9c454457 <unknown>
196
197vsmul.vx v8, v4, a0
198# CHECK-INST: vsmul.vx v8, v4, a0
199# CHECK-ENCODING: [0x57,0x44,0x45,0x9e]
200# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
201# CHECK-UNKNOWN: 9e454457 <unknown>
202