1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+experimental-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=+experimental-v %s \
6# RUN:        | llvm-objdump -d --mattr=+experimental-v - \
7# RUN:        | FileCheck %s --check-prefix=CHECK-INST
8# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \
9# RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
10
11vmfeq.vv v8, v4, v20, v0.t
12# CHECK-INST: vmfeq.vv v8, v4, v20, v0.t
13# CHECK-ENCODING: [0x57,0x14,0x4a,0x60]
14# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
15# CHECK-UNKNOWN: 57 14 4a 60 <unknown>
16
17vmfeq.vv v8, v4, v20
18# CHECK-INST: vmfeq.vv v8, v4, v20
19# CHECK-ENCODING: [0x57,0x14,0x4a,0x62]
20# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
21# CHECK-UNKNOWN: 57 14 4a 62 <unknown>
22
23vmfeq.vf v8, v4, fa0, v0.t
24# CHECK-INST: vmfeq.vf v8, v4, fa0, v0.t
25# CHECK-ENCODING: [0x57,0x54,0x45,0x60]
26# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
27# CHECK-UNKNOWN: 57 54 45 60 <unknown>
28
29vmfeq.vf v8, v4, fa0
30# CHECK-INST: vmfeq.vf v8, v4, fa0
31# CHECK-ENCODING: [0x57,0x54,0x45,0x62]
32# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
33# CHECK-UNKNOWN: 57 54 45 62 <unknown>
34
35vmfne.vv v8, v4, v20, v0.t
36# CHECK-INST: vmfne.vv v8, v4, v20, v0.t
37# CHECK-ENCODING: [0x57,0x14,0x4a,0x70]
38# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
39# CHECK-UNKNOWN: 57 14 4a 70 <unknown>
40
41vmfne.vv v8, v4, v20
42# CHECK-INST: vmfne.vv v8, v4, v20
43# CHECK-ENCODING: [0x57,0x14,0x4a,0x72]
44# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
45# CHECK-UNKNOWN: 57 14 4a 72 <unknown>
46
47vmfne.vf v8, v4, fa0, v0.t
48# CHECK-INST: vmfne.vf v8, v4, fa0, v0.t
49# CHECK-ENCODING: [0x57,0x54,0x45,0x70]
50# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
51# CHECK-UNKNOWN: 57 54 45 70 <unknown>
52
53vmfne.vf v8, v4, fa0
54# CHECK-INST: vmfne.vf v8, v4, fa0
55# CHECK-ENCODING: [0x57,0x54,0x45,0x72]
56# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
57# CHECK-UNKNOWN: 57 54 45 72 <unknown>
58
59vmflt.vv v8, v4, v20, v0.t
60# CHECK-INST: vmflt.vv v8, v4, v20, v0.t
61# CHECK-ENCODING: [0x57,0x14,0x4a,0x6c]
62# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
63# CHECK-UNKNOWN: 57 14 4a 6c <unknown>
64
65vmflt.vv v8, v4, v20
66# CHECK-INST: vmflt.vv v8, v4, v20
67# CHECK-ENCODING: [0x57,0x14,0x4a,0x6e]
68# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
69# CHECK-UNKNOWN: 57 14 4a 6e <unknown>
70
71vmflt.vf v8, v4, fa0, v0.t
72# CHECK-INST: vmflt.vf v8, v4, fa0, v0.t
73# CHECK-ENCODING: [0x57,0x54,0x45,0x6c]
74# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
75# CHECK-UNKNOWN: 57 54 45 6c <unknown>
76
77vmflt.vf v8, v4, fa0
78# CHECK-INST: vmflt.vf v8, v4, fa0
79# CHECK-ENCODING: [0x57,0x54,0x45,0x6e]
80# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
81# CHECK-UNKNOWN: 57 54 45 6e <unknown>
82
83vmfle.vv v8, v4, v20, v0.t
84# CHECK-INST: vmfle.vv v8, v4, v20, v0.t
85# CHECK-ENCODING: [0x57,0x14,0x4a,0x64]
86# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
87# CHECK-UNKNOWN: 57 14 4a 64 <unknown>
88
89vmfle.vv v8, v4, v20
90# CHECK-INST: vmfle.vv v8, v4, v20
91# CHECK-ENCODING: [0x57,0x14,0x4a,0x66]
92# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
93# CHECK-UNKNOWN: 57 14 4a 66 <unknown>
94
95vmfle.vf v8, v4, fa0, v0.t
96# CHECK-INST: vmfle.vf v8, v4, fa0, v0.t
97# CHECK-ENCODING: [0x57,0x54,0x45,0x64]
98# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
99# CHECK-UNKNOWN: 57 54 45 64 <unknown>
100
101vmfle.vf v8, v4, fa0
102# CHECK-INST: vmfle.vf v8, v4, fa0
103# CHECK-ENCODING: [0x57,0x54,0x45,0x66]
104# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
105# CHECK-UNKNOWN: 57 54 45 66 <unknown>
106
107vmfgt.vf v8, v4, fa0, v0.t
108# CHECK-INST: vmfgt.vf v8, v4, fa0, v0.t
109# CHECK-ENCODING: [0x57,0x54,0x45,0x74]
110# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
111# CHECK-UNKNOWN: 57 54 45 74 <unknown>
112
113vmfgt.vf v8, v4, fa0
114# CHECK-INST: vmfgt.vf v8, v4, fa0
115# CHECK-ENCODING: [0x57,0x54,0x45,0x76]
116# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
117# CHECK-UNKNOWN: 57 54 45 76 <unknown>
118
119vmfge.vf v8, v4, fa0, v0.t
120# CHECK-INST: vmfge.vf v8, v4, fa0, v0.t
121# CHECK-ENCODING: [0x57,0x54,0x45,0x7c]
122# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
123# CHECK-UNKNOWN: 57 54 45 7c <unknown>
124
125vmfge.vf v8, v4, fa0
126# CHECK-INST: vmfge.vf v8, v4, fa0
127# CHECK-ENCODING: [0x57,0x54,0x45,0x7e]
128# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
129# CHECK-UNKNOWN: 57 54 45 7e <unknown>
130
131vmfgt.vv v8, v20, v4, v0.t
132# CHECK-INST: vmflt.vv v8, v4, v20, v0.t
133# CHECK-ENCODING: [0x57,0x14,0x4a,0x6c]
134# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
135# CHECK-UNKNOWN: 57 14 4a 6c <unknown>
136
137vmfgt.vv v8, v20, v4
138# CHECK-INST: vmflt.vv v8, v4, v20
139# CHECK-ENCODING: [0x57,0x14,0x4a,0x6e]
140# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
141# CHECK-UNKNOWN: 57 14 4a 6e <unknown>
142
143vmfge.vv v8, v20, v4, v0.t
144# CHECK-INST: vmfle.vv v8, v4, v20, v0.t
145# CHECK-ENCODING: [0x57,0x14,0x4a,0x64]
146# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
147# CHECK-UNKNOWN: 57 14 4a 64 <unknown>
148
149vmfge.vv v8, v20, v4
150# CHECK-INST: vmfle.vv v8, v4, v20
151# CHECK-ENCODING: [0x57,0x14,0x4a,0x66]
152# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
153# CHECK-UNKNOWN: 57 14 4a 66 <unknown>
154
155vmfeq.vv v0, v4, v20, v0.t
156# CHECK-INST: vmfeq.vv v0, v4, v20, v0.t
157# CHECK-ENCODING: [0x57,0x10,0x4a,0x60]
158# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
159# CHECK-UNKNOWN: 57 10 4a 60 <unknown>
160