xref: /llvm-project/llvm/test/MC/RISCV/rvv/xsfvcp.s (revision b27f86b40b20942c0e809128214b43d6edde365a)
1# RUN: llvm-mc -triple=riscv32 -show-encoding --mattr=+v,+xsfvcp %s \
2# RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3# RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+v,+xsfvcp %s \
4# RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
5# RUN: not llvm-mc -triple=riscv32 -show-encoding %s 2>&1 \
6# RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
7# RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \
8# RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
9# RUN: llvm-mc -triple=riscv32 -filetype=obj --mattr=+v,+xsfvcp %s \
10# RUN:        | llvm-objdump -d --mattr=+v,+xsfvcp --no-print-imm-hex - \
11# RUN:        | FileCheck %s --check-prefix=CHECK-INST
12# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v,+xsfvcp %s \
13# RUN:        | llvm-objdump -d --mattr=+v,+xsfvcp --no-print-imm-hex - \
14# RUN:        | FileCheck %s --check-prefix=CHECK-INST
15# RUN: llvm-mc -triple=riscv32 -filetype=obj --mattr=+v,+xsfvcp %s \
16# RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
17# RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+v,+xsfvcp %s \
18# RUN:        | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
19
20sf.vc.x 0x3, 0xf, 0x1f, a1
21# CHECK-INST: sf.vc.x 3, 15, 31, a1
22# CHECK-ENCODING: [0xdb,0xcf,0xf5,0x0e]
23# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
24# CHECK-UNKNOWN: 0ef5cfdb <unknown>
25
26sf.vc.i 0x3, 0xf, 0x1f, 15
27# CHECK-INST: sf.vc.i 3, 15, 31, 15
28# CHECK-ENCODING: [0xdb,0xbf,0xf7,0x0e]
29# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
30# CHECK-UNKNOWN: 0ef7bfdb <unknown>
31
32sf.vc.vv 0x3, 0x1f, v2, v1
33# CHECK-INST: sf.vc.vv 3, 31, v2, v1
34# CHECK-ENCODING: [0xdb,0x8f,0x20,0x2e]
35# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
36# CHECK-UNKNOWN: 2e208fdb <unknown>
37
38sf.vc.xv 0x3, 0x1f, v2, a1
39# CHECK-INST: sf.vc.xv 3, 31, v2, a1
40# CHECK-ENCODING: [0xdb,0xcf,0x25,0x2e]
41# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
42# CHECK-UNKNOWN: 2e25cfdb <unknown>
43
44sf.vc.iv 0x3, 0x1f, v2, 15
45# CHECK-INST: sf.vc.iv 3, 31, v2, 15
46# CHECK-ENCODING: [0xdb,0xbf,0x27,0x2e]
47# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
48# CHECK-UNKNOWN: 2e27bfdb <unknown>
49
50sf.vc.fv 0x1, 0x1f, v2, fa1
51# CHECK-INST: sf.vc.fv 1, 31, v2, fa1
52# CHECK-ENCODING: [0xdb,0xdf,0x25,0x2e]
53# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
54# CHECK-UNKNOWN: 2e25dfdb <unknown>
55
56sf.vc.vvv 0x3, v0, v2, v1
57# CHECK-INST: sf.vc.vvv 3, v0, v2, v1
58# CHECK-ENCODING: [0x5b,0x80,0x20,0xae]
59# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
60# CHECK-UNKNOWN: ae20805b <unknown>
61
62sf.vc.xvv 0x3, v0, v2, a1
63# CHECK-INST: sf.vc.xvv 3, v0, v2, a1
64# CHECK-ENCODING: [0x5b,0xc0,0x25,0xae]
65# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
66# CHECK-UNKNOWN: ae25c05b <unknown>
67
68sf.vc.ivv 0x3, v0, v2, 15
69# CHECK-INST: sf.vc.ivv 3, v0, v2, 15
70# CHECK-ENCODING: [0x5b,0xb0,0x27,0xae]
71# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
72# CHECK-UNKNOWN: ae27b05b <unknown>
73
74sf.vc.fvv 0x1, v0, v2, fa1
75# CHECK-INST: sf.vc.fvv 1, v0, v2, fa1
76# CHECK-ENCODING: [0x5b,0xd0,0x25,0xae]
77# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
78# CHECK-UNKNOWN: ae25d05b <unknown>
79
80sf.vc.vvw 0x3, v0, v2, v1
81# CHECK-INST: sf.vc.vvw 3, v0, v2, v1
82# CHECK-ENCODING: [0x5b,0x80,0x20,0xfe]
83# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
84# CHECK-UNKNOWN: fe20805b <unknown>
85
86sf.vc.xvw 0x3, v0, v2, a1
87# CHECK-INST: sf.vc.xvw 3, v0, v2, a1
88# CHECK-ENCODING: [0x5b,0xc0,0x25,0xfe]
89# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
90# CHECK-UNKNOWN: fe25c05b <unknown>
91
92sf.vc.ivw 0x3, v0, v2, 15
93# CHECK-INST: sf.vc.ivw 3, v0, v2, 15
94# CHECK-ENCODING: [0x5b,0xb0,0x27,0xfe]
95# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
96# CHECK-UNKNOWN: fe27b05b <unknown>
97
98sf.vc.fvw 0x1, v0, v2, fa1
99# CHECK-INST: sf.vc.fvw 1, v0, v2, fa1
100# CHECK-ENCODING: [0x5b,0xd0,0x25,0xfe]
101# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
102# CHECK-UNKNOWN: fe25d05b <unknown>
103
104sf.vc.v.x 0x3, 0xf, v0, a1
105# CHECK-INST: sf.vc.v.x 3, 15, v0, a1
106# CHECK-ENCODING: [0x5b,0xc0,0xf5,0x0c]
107# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
108# CHECK-UNKNOWN: 0cf5c05b <unknown>
109
110sf.vc.v.i 0x3, 0xf, v0, 15
111# CHECK-INST: sf.vc.v.i 3, 15, v0, 15
112# CHECK-ENCODING: [0x5b,0xb0,0xf7,0x0c]
113# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
114# CHECK-UNKNOWN: 0cf7b05b <unknown>
115
116sf.vc.v.vv 0x3, v0, v2, v1
117# CHECK-INST: sf.vc.v.vv 3, v0, v2, v1
118# CHECK-ENCODING: [0x5b,0x80,0x20,0x2c]
119# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
120# CHECK-UNKNOWN: 2c20805b <unknown>
121
122sf.vc.v.xv 0x3, v0, v2, a1
123# CHECK-INST: sf.vc.v.xv 3, v0, v2, a1
124# CHECK-ENCODING: [0x5b,0xc0,0x25,0x2c]
125# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
126# CHECK-UNKNOWN: 2c25c05b <unknown>
127
128sf.vc.v.iv 0x3, v0, v2, 15
129# CHECK-INST: sf.vc.v.iv 3, v0, v2, 15
130# CHECK-ENCODING: [0x5b,0xb0,0x27,0x2c]
131# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
132# CHECK-UNKNOWN: 2c27b05b <unknown>
133
134sf.vc.v.fv 0x1, v0, v2, fa1
135# CHECK-INST: sf.vc.v.fv 1, v0, v2, fa1
136# CHECK-ENCODING: [0x5b,0xd0,0x25,0x2c]
137# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
138# CHECK-UNKNOWN: 2c25d05b <unknown>
139
140sf.vc.v.vvv 0x3, v0, v2, v1
141# CHECK-INST: sf.vc.v.vvv 3, v0, v2, v1
142# CHECK-ENCODING: [0x5b,0x80,0x20,0xac]
143# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
144# CHECK-UNKNOWN: ac20805b <unknown>
145
146sf.vc.v.xvv 0x3, v0, v2, a1
147# CHECK-INST: sf.vc.v.xvv 3, v0, v2, a1
148# CHECK-ENCODING: [0x5b,0xc0,0x25,0xac]
149# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
150# CHECK-UNKNOWN: ac25c05b <unknown>
151
152sf.vc.v.ivv 0x3, v0, v2, 15
153# CHECK-INST: sf.vc.v.ivv 3, v0, v2, 15
154# CHECK-ENCODING: [0x5b,0xb0,0x27,0xac]
155# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
156# CHECK-UNKNOWN: ac27b05b <unknown>
157
158sf.vc.v.fvv 0x1, v0, v2, fa1
159# CHECK-INST: sf.vc.v.fvv 1, v0, v2, fa1
160# CHECK-ENCODING: [0x5b,0xd0,0x25,0xac]
161# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
162# CHECK-UNKNOWN: ac25d05b <unknown>
163
164sf.vc.v.vvw 0x3, v0, v2, v1
165# CHECK-INST: sf.vc.v.vvw 3, v0, v2, v1
166# CHECK-ENCODING: [0x5b,0x80,0x20,0xfc]
167# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
168# CHECK-UNKNOWN: fc20805b <unknown>
169
170sf.vc.v.xvw 0x3, v0, v2, a1
171# CHECK-INST: sf.vc.v.xvw 3, v0, v2, a1
172# CHECK-ENCODING: [0x5b,0xc0,0x25,0xfc]
173# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
174# CHECK-UNKNOWN: fc25c05b <unknown>
175
176sf.vc.v.ivw 0x3, v0, v2, 15
177# CHECK-INST: sf.vc.v.ivw 3, v0, v2, 15
178# CHECK-ENCODING: [0x5b,0xb0,0x27,0xfc]
179# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
180# CHECK-UNKNOWN: fc27b05b <unknown>
181
182sf.vc.v.fvw 0x1, v0, v2, fa1
183# CHECK-INST: sf.vc.v.fvw 1, v0, v2, fa1
184# CHECK-ENCODING: [0x5b,0xd0,0x25,0xfc]
185# CHECK-ERROR: instruction requires the following: 'XSfvcp' (SiFive Custom Vector Coprocessor Interface Instructions){{$}}
186# CHECK-UNKNOWN: fc25d05b <unknown>
187