xref: /llvm-project/llvm/test/MC/RISCV/rvv/others.s (revision 4b3d439e7e7b4e794e523caea9863d67ff8cf85f)
1# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+v %s \
2# RUN:   --M no-aliases | 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 --no-print-imm-hex -M no-aliases - \
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
11vmerge.vvm v8, v4, v20, v0
12# CHECK-INST: vmerge.vvm v8, v4, v20, v0
13# CHECK-ENCODING: [0x57,0x04,0x4a,0x5c]
14# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
15# CHECK-UNKNOWN: 5c4a0457 <unknown>
16
17vmerge.vxm v8, v4, a0, v0
18# CHECK-INST: vmerge.vxm v8, v4, a0, v0
19# CHECK-ENCODING: [0x57,0x44,0x45,0x5c]
20# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
21# CHECK-UNKNOWN: 5c454457 <unknown>
22
23vmerge.vim v8, v4, 15, v0
24# CHECK-INST: vmerge.vim v8, v4, 15, v0
25# CHECK-ENCODING: [0x57,0xb4,0x47,0x5c]
26# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
27# CHECK-UNKNOWN: 5c47b457 <unknown>
28
29vslideup.vx v8, v4, a0, v0.t
30# CHECK-INST: vslideup.vx v8, v4, a0, v0.t
31# CHECK-ENCODING: [0x57,0x44,0x45,0x38]
32# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
33# CHECK-UNKNOWN: 38454457 <unknown>
34
35vslideup.vx v8, v4, a0
36# CHECK-INST: vslideup.vx v8, v4, a0
37# CHECK-ENCODING: [0x57,0x44,0x45,0x3a]
38# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
39# CHECK-UNKNOWN: 3a454457 <unknown>
40
41vslideup.vi v8, v4, 31, v0.t
42# CHECK-INST: vslideup.vi v8, v4, 31, v0.t
43# CHECK-ENCODING: [0x57,0xb4,0x4f,0x38]
44# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
45# CHECK-UNKNOWN: 384fb457 <unknown>
46
47vslideup.vi v8, v4, 31
48# CHECK-INST: vslideup.vi v8, v4, 31
49# CHECK-ENCODING: [0x57,0xb4,0x4f,0x3a]
50# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
51# CHECK-UNKNOWN: 3a4fb457 <unknown>
52
53vslidedown.vx v8, v4, a0, v0.t
54# CHECK-INST: vslidedown.vx v8, v4, a0, v0.t
55# CHECK-ENCODING: [0x57,0x44,0x45,0x3c]
56# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
57# CHECK-UNKNOWN: 3c454457 <unknown>
58
59vslidedown.vx v8, v4, a0
60# CHECK-INST: vslidedown.vx v8, v4, a0
61# CHECK-ENCODING: [0x57,0x44,0x45,0x3e]
62# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
63# CHECK-UNKNOWN: 3e454457 <unknown>
64
65vslidedown.vi v8, v4, 31, v0.t
66# CHECK-INST: vslidedown.vi v8, v4, 31, v0.t
67# CHECK-ENCODING: [0x57,0xb4,0x4f,0x3c]
68# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
69# CHECK-UNKNOWN: 3c4fb457 <unknown>
70
71vslidedown.vi v8, v4, 31
72# CHECK-INST: vslidedown.vi v8, v4, 31
73# CHECK-ENCODING: [0x57,0xb4,0x4f,0x3e]
74# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
75# CHECK-UNKNOWN: 3e4fb457 <unknown>
76
77vslide1up.vx v8, v4, a0, v0.t
78# CHECK-INST: vslide1up.vx v8, v4, a0, v0.t
79# CHECK-ENCODING: [0x57,0x64,0x45,0x38]
80# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
81# CHECK-UNKNOWN: 38456457 <unknown>
82
83vslide1up.vx v8, v4, a0
84# CHECK-INST: vslide1up.vx v8, v4, a0
85# CHECK-ENCODING: [0x57,0x64,0x45,0x3a]
86# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
87# CHECK-UNKNOWN: 3a456457 <unknown>
88
89vslide1down.vx v8, v4, a0, v0.t
90# CHECK-INST: vslide1down.vx v8, v4, a0, v0.t
91# CHECK-ENCODING: [0x57,0x64,0x45,0x3c]
92# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
93# CHECK-UNKNOWN: 3c456457 <unknown>
94
95vslide1down.vx v8, v4, a0
96# CHECK-INST: vslide1down.vx v8, v4, a0
97# CHECK-ENCODING: [0x57,0x64,0x45,0x3e]
98# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
99# CHECK-UNKNOWN: 3e456457 <unknown>
100
101vrgather.vv v8, v4, v20, v0.t
102# CHECK-INST: vrgather.vv v8, v4, v20, v0.t
103# CHECK-ENCODING: [0x57,0x04,0x4a,0x30]
104# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
105# CHECK-UNKNOWN: 304a0457 <unknown>
106
107vrgather.vv v8, v4, v20
108# CHECK-INST: vrgather.vv v8, v4, v20
109# CHECK-ENCODING: [0x57,0x04,0x4a,0x32]
110# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
111# CHECK-UNKNOWN: 324a0457 <unknown>
112
113vrgather.vx v8, v4, a0, v0.t
114# CHECK-INST: vrgather.vx v8, v4, a0, v0.t
115# CHECK-ENCODING: [0x57,0x44,0x45,0x30]
116# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
117# CHECK-UNKNOWN: 30454457 <unknown>
118
119vrgather.vx v8, v4, a0
120# CHECK-INST: vrgather.vx v8, v4, a0
121# CHECK-ENCODING: [0x57,0x44,0x45,0x32]
122# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
123# CHECK-UNKNOWN: 32454457 <unknown>
124
125vrgather.vi v8, v4, 31, v0.t
126# CHECK-INST: vrgather.vi v8, v4, 31, v0.t
127# CHECK-ENCODING: [0x57,0xb4,0x4f,0x30]
128# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
129# CHECK-UNKNOWN: 304fb457 <unknown>
130
131vrgather.vi v8, v4, 31
132# CHECK-INST: vrgather.vi v8, v4, 31
133# CHECK-ENCODING: [0x57,0xb4,0x4f,0x32]
134# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
135# CHECK-UNKNOWN: 324fb457 <unknown>
136
137vrgatherei16.vv v8, v4, v20, v0.t
138# CHECK-INST: vrgatherei16.vv v8, v4, v20, v0.t
139# CHECK-ENCODING: [0x57,0x04,0x4a,0x38]
140# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
141# CHECK-UNKNOWN: 384a0457 <unknown>
142
143vrgatherei16.vv v8, v4, v20
144# CHECK-INST: vrgatherei16.vv v8, v4, v20
145# CHECK-ENCODING: [0x57,0x04,0x4a,0x3a]
146# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
147# CHECK-UNKNOWN: 3a4a0457 <unknown>
148
149vcompress.vm v8, v4, v20
150# CHECK-INST: vcompress.vm v8, v4, v20
151# CHECK-ENCODING: [0x57,0x24,0x4a,0x5e]
152# CHECK-ERROR: instruction requires the following: 'V' (Vector Extension for Application Processors), 'Zve32x' (Vector Extensions for Embedded Processors){{$}}
153# CHECK-UNKNOWN: 5e4a2457 <unknown>
154