1 # RUN: llvm-mc -triple=riscv64 -show-encoding --mattr=+experimental-v %s \
3 # RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
4 # RUN: not llvm-mc -triple=riscv64 -show-encoding %s 2>&1 \
5 # RUN: | FileCheck %s --check-prefix=CHECK-ERROR
6 # RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \
8 # RUN: | llvm-objdump -d --mattr=+experimental-v --mattr=+f - \
9 # RUN: | FileCheck %s --check-prefix=CHECK-INST
10 # RUN: llvm-mc -triple=riscv64 -filetype=obj --mattr=+experimental-v %s \
12 # RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
14 vfredosum.vs v8
, v4
, v20
, v0.
t
15 # CHECK-INST: vfredosum.vs v8, v4, v20, v0.t
16 # CHECK-ENCODING: [0x57,0x14,0x4a,0x0c]
17 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
18 # CHECK-UNKNOWN: 57 14 4a 0c <unknown>
20 vfredosum.vs v8
, v4
, v20
21 # CHECK-INST: vfredosum.vs v8, v4, v20
22 # CHECK-ENCODING: [0x57,0x14,0x4a,0x0e]
23 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
24 # CHECK-UNKNOWN: 57 14 4a 0e <unknown>
26 vfredsum.vs v8
, v4
, v20
, v0.
t
27 # CHECK-INST: vfredsum.vs v8, v4, v20, v0.t
28 # CHECK-ENCODING: [0x57,0x14,0x4a,0x04]
29 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
30 # CHECK-UNKNOWN: 57 14 4a 04 <unknown>
32 vfredsum.vs v8
, v4
, v20
33 # CHECK-INST: vfredsum.vs v8, v4, v20
34 # CHECK-ENCODING: [0x57,0x14,0x4a,0x06]
35 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
36 # CHECK-UNKNOWN: 57 14 4a 06 <unknown>
38 vfredmax.vs v8
, v4
, v20
, v0.
t
39 # CHECK-INST: vfredmax.vs v8, v4, v20, v0.t
40 # CHECK-ENCODING: [0x57,0x14,0x4a,0x1c]
41 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
42 # CHECK-UNKNOWN: 57 14 4a 1c <unknown>
44 vfredmax.vs v8
, v4
, v20
45 # CHECK-INST: vfredmax.vs v8, v4, v20
46 # CHECK-ENCODING: [0x57,0x14,0x4a,0x1e]
47 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
48 # CHECK-UNKNOWN: 57 14 4a 1e <unknown>
50 vfredmin.vs v8
, v4
, v20
, v0.
t
51 # CHECK-INST: vfredmin.vs v8, v4, v20, v0.t
52 # CHECK-ENCODING: [0x57,0x14,0x4a,0x14]
53 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
54 # CHECK-UNKNOWN: 57 14 4a 14 <unknown>
56 vfredmin.vs v8
, v4
, v20
57 # CHECK-INST: vfredmin.vs v8, v4, v20
58 # CHECK-ENCODING: [0x57,0x14,0x4a,0x16]
59 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
60 # CHECK-UNKNOWN: 57 14 4a 16 <unknown>
62 vfwredosum.vs v8
, v4
, v20
, v0.
t
63 # CHECK-INST: vfwredosum.vs v8, v4, v20, v0.t
64 # CHECK-ENCODING: [0x57,0x14,0x4a,0xcc]
65 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
66 # CHECK-UNKNOWN: 57 14 4a cc <unknown>
68 vfwredosum.vs v8
, v4
, v20
69 # CHECK-INST: vfwredosum.vs v8, v4, v20
70 # CHECK-ENCODING: [0x57,0x14,0x4a,0xce]
71 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
72 # CHECK-UNKNOWN: 57 14 4a ce <unknown>
74 vfwredsum.vs v8
, v4
, v20
, v0.
t
75 # CHECK-INST: vfwredsum.vs v8, v4, v20, v0.t
76 # CHECK-ENCODING: [0x57,0x14,0x4a,0xc4]
77 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
78 # CHECK-UNKNOWN: 57 14 4a c4 <unknown>
80 vfwredsum.vs v8
, v4
, v20
81 # CHECK-INST: vfwredsum.vs v8, v4, v20
82 # CHECK-ENCODING: [0x57,0x14,0x4a,0xc6]
83 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
84 # CHECK-UNKNOWN: 57 14 4a c6 <unknown>
86 vfredosum.vs v0
, v4
, v20
, v0.
t
87 # CHECK-INST: vfredosum.vs v0, v4, v20, v0.t
88 # CHECK-ENCODING: [0x57,0x10,0x4a,0x0c]
89 # CHECK-ERROR: instruction requires the following: 'F'{{.*}}'V'
90 # CHECK-UNKNOWN: 57 10 4a 0c <unknown>