xref: /llvm-project/llvm/test/MC/RISCV/rvv/mask.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
11vmand.mm v8, v4, v20
12# CHECK-INST: vmand.mm v8, v4, v20
13# CHECK-ENCODING: [0x57,0x24,0x4a,0x66]
14# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
15# CHECK-UNKNOWN: 664a2457 <unknown>
16
17vmnand.mm v8, v4, v20
18# CHECK-INST: vmnand.mm v8, v4, v20
19# CHECK-ENCODING: [0x57,0x24,0x4a,0x76]
20# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
21# CHECK-UNKNOWN: 764a2457 <unknown>
22
23vmandn.mm v8, v4, v20
24# CHECK-INST: vmandn.mm v8, v4, v20
25# CHECK-ENCODING: [0x57,0x24,0x4a,0x62]
26# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
27# CHECK-UNKNOWN: 624a2457 <unknown>
28
29vmxor.mm v8, v4, v20
30# CHECK-INST: vmxor.mm v8, v4, v20
31# CHECK-ENCODING: [0x57,0x24,0x4a,0x6e]
32# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
33# CHECK-UNKNOWN: 6e4a2457 <unknown>
34
35vmor.mm v8, v4, v20
36# CHECK-INST: vmor.mm v8, v4, v20
37# CHECK-ENCODING: [0x57,0x24,0x4a,0x6a]
38# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
39# CHECK-UNKNOWN: 6a4a2457 <unknown>
40
41vmnor.mm v8, v4, v20
42# CHECK-INST: vmnor.mm v8, v4, v20
43# CHECK-ENCODING: [0x57,0x24,0x4a,0x7a]
44# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
45# CHECK-UNKNOWN: 7a4a2457 <unknown>
46
47vmorn.mm v8, v4, v20
48# CHECK-INST: vmorn.mm v8, v4, v20
49# CHECK-ENCODING: [0x57,0x24,0x4a,0x72]
50# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
51# CHECK-UNKNOWN: 724a2457 <unknown>
52
53vmxnor.mm v8, v4, v20
54# CHECK-INST: vmxnor.mm v8, v4, v20
55# CHECK-ENCODING: [0x57,0x24,0x4a,0x7e]
56# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
57# CHECK-UNKNOWN: 7e4a2457 <unknown>
58
59vcpop.m a2, v4, v0.t
60# CHECK-INST: vcpop.m a2, v4, v0.t
61# CHECK-ENCODING: [0x57,0x26,0x48,0x40]
62# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
63# CHECK-UNKNOWN: 40482657 <unknown>
64
65vcpop.m a2, v4
66# CHECK-INST: vcpop.m a2, v4
67# CHECK-ENCODING: [0x57,0x26,0x48,0x42]
68# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
69# CHECK-UNKNOWN: 42482657 <unknown>
70
71vfirst.m a2, v4, v0.t
72# CHECK-INST: vfirst.m a2, v4, v0.t
73# CHECK-ENCODING: [0x57,0xa6,0x48,0x40]
74# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
75# CHECK-UNKNOWN: 4048a657 <unknown>
76
77vfirst.m a2, v4
78# CHECK-INST: vfirst.m a2, v4
79# CHECK-ENCODING: [0x57,0xa6,0x48,0x42]
80# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
81# CHECK-UNKNOWN: 4248a657 <unknown>
82
83vmsbf.m v8, v4, v0.t
84# CHECK-INST: vmsbf.m v8, v4, v0.t
85# CHECK-ENCODING: [0x57,0xa4,0x40,0x50]
86# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
87# CHECK-UNKNOWN: 5040a457 <unknown>
88
89vmsbf.m v8, v4
90# CHECK-INST: vmsbf.m v8, v4
91# CHECK-ENCODING: [0x57,0xa4,0x40,0x52]
92# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
93# CHECK-UNKNOWN: 5240a457 <unknown>
94
95vmsif.m v8, v4, v0.t
96# CHECK-INST: vmsif.m v8, v4, v0.t
97# CHECK-ENCODING: [0x57,0xa4,0x41,0x50]
98# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
99# CHECK-UNKNOWN: 5041a457 <unknown>
100
101vmsif.m v8, v4
102# CHECK-INST: vmsif.m v8, v4
103# CHECK-ENCODING: [0x57,0xa4,0x41,0x52]
104# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
105# CHECK-UNKNOWN: 5241a457 <unknown>
106
107vmsof.m v8, v4, v0.t
108# CHECK-INST: vmsof.m v8, v4, v0.t
109# CHECK-ENCODING: [0x57,0x24,0x41,0x50]
110# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
111# CHECK-UNKNOWN: 50412457 <unknown>
112
113vmsof.m v8, v4
114# CHECK-INST: vmsof.m v8, v4
115# CHECK-ENCODING: [0x57,0x24,0x41,0x52]
116# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
117# CHECK-UNKNOWN: 52412457 <unknown>
118
119viota.m v8, v4, v0.t
120# CHECK-INST: viota.m v8, v4, v0.t
121# CHECK-ENCODING: [0x57,0x24,0x48,0x50]
122# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
123# CHECK-UNKNOWN: 50482457 <unknown>
124
125viota.m v8, v4
126# CHECK-INST: viota.m v8, v4
127# CHECK-ENCODING: [0x57,0x24,0x48,0x52]
128# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
129# CHECK-UNKNOWN: 52482457 <unknown>
130
131vid.v v8, v0.t
132# CHECK-INST: vid.v v8, v0.t
133# CHECK-ENCODING: [0x57,0xa4,0x08,0x50]
134# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
135# CHECK-UNKNOWN: 5008a457 <unknown>
136
137vid.v v8
138# CHECK-INST: vid.v v8
139# CHECK-ENCODING: [0x57,0xa4,0x08,0x52]
140# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
141# CHECK-UNKNOWN: 5208a457 <unknown>
142
143vmmv.m v8, v4
144# CHECK-INST: vmmv.m v8, v4
145# CHECK-ENCODING: [0x57,0x24,0x42,0x66]
146# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
147# CHECK-UNKNOWN: 66422457 <unknown>
148
149vmclr.m v8
150# CHECK-INST: vmclr.m v8
151# CHECK-ENCODING: [0x57,0x24,0x84,0x6e]
152# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
153# CHECK-UNKNOWN: 6e842457 <unknown>
154
155vmset.m v8
156# CHECK-INST: vmset.m v8
157# CHECK-ENCODING: [0x57,0x24,0x84,0x7e]
158# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
159# CHECK-UNKNOWN: 7e842457 <unknown>
160
161vmnot.m v8, v4
162# CHECK-INST: vmnot.m v8, v4
163# CHECK-ENCODING: [0x57,0x24,0x42,0x76]
164# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
165# CHECK-UNKNOWN: 76422457 <unknown>
166