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
11vmv.v.v v8, v20
12# CHECK-INST: vmv.v.v v8, v20
13# CHECK-ENCODING: [0x57,0x04,0x0a,0x5e]
14# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
15# CHECK-UNKNOWN: 57 04 0a 5e <unknown>
16
17vmv.v.x v8, a0
18# CHECK-INST: vmv.v.x v8, a0
19# CHECK-ENCODING: [0x57,0x44,0x05,0x5e]
20# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
21# CHECK-UNKNOWN: 57 44 05 5e <unknown>
22
23vmv.v.i v8, 15
24# CHECK-INST: vmv.v.i v8, 15
25# CHECK-ENCODING: [0x57,0xb4,0x07,0x5e]
26# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
27# CHECK-UNKNOWN: 57 b4 07 5e <unknown>
28
29vmv.x.s a2, v4
30# CHECK-INST: vmv.x.s a2, v4
31# CHECK-ENCODING: [0x57,0x26,0x40,0x42]
32# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
33# CHECK-UNKNOWN: 57 26 40 42 <unknown>
34
35vmv.s.x v8, a0
36# CHECK-INST: vmv.s.x v8, a0
37# CHECK-ENCODING: [0x57,0x64,0x05,0x42]
38# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
39# CHECK-UNKNOWN: 57 64 05 42 <unknown>
40
41vmv1r.v v8, v4
42# CHECK-INST: vmv1r.v v8, v4
43# CHECK-ENCODING: [0x57,0x34,0x40,0x9e]
44# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
45# CHECK-UNKNOWN: 57 34 40 9e <unknown>
46
47vmv2r.v v8, v4
48# CHECK-INST: vmv2r.v v8, v4
49# CHECK-ENCODING: [0x57,0xb4,0x40,0x9e]
50# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
51# CHECK-UNKNOWN: 57 b4 40 9e <unknown>
52
53vmv4r.v v8, v4
54# CHECK-INST: vmv4r.v v8, v4
55# CHECK-ENCODING: [0x57,0xb4,0x41,0x9e]
56# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
57# CHECK-UNKNOWN: 57 b4 41 9e <unknown>
58
59vmv8r.v v8, v24
60# CHECK-INST: vmv8r.v v8, v24
61# CHECK-ENCODING: [0x57,0xb4,0x83,0x9f]
62# CHECK-ERROR: instruction requires the following: 'V' (Vector Instructions)
63# CHECK-UNKNOWN: 57 b4 83 9f <unknown>
64