Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / AArch64 / SVE / incb.s
blob48bba5d3a0b3af0a7e55fb95d36db367062a6819
1 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sve < %s \
2 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
3 // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \
4 // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
5 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
6 // RUN: | FileCheck %s --check-prefix=CHECK-ERROR
7 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
8 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=+sve - | FileCheck %s --check-prefix=CHECK-INST
9 // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sve < %s \
10 // RUN: | llvm-objdump --no-print-imm-hex -d --mattr=-sve - | FileCheck %s --check-prefix=CHECK-UNKNOWN
12 incb x0
13 // CHECK-INST: incb x0
14 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
15 // CHECK-ERROR: instruction requires: sve or sme
16 // CHECK-UNKNOWN: 0430e3e0 <unknown>
18 incb x0, all
19 // CHECK-INST: incb x0
20 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
21 // CHECK-ERROR: instruction requires: sve or sme
22 // CHECK-UNKNOWN: 0430e3e0 <unknown>
24 incb x0, all, mul #1
25 // CHECK-INST: incb x0
26 // CHECK-ENCODING: [0xe0,0xe3,0x30,0x04]
27 // CHECK-ERROR: instruction requires: sve or sme
28 // CHECK-UNKNOWN: 0430e3e0 <unknown>
30 incb x0, all, mul #16
31 // CHECK-INST: incb x0, all, mul #16
32 // CHECK-ENCODING: [0xe0,0xe3,0x3f,0x04]
33 // CHECK-ERROR: instruction requires: sve or sme
34 // CHECK-UNKNOWN: 043fe3e0 <unknown>
36 incb x0, pow2
37 // CHECK-INST: incb x0, pow2
38 // CHECK-ENCODING: [0x00,0xe0,0x30,0x04]
39 // CHECK-ERROR: instruction requires: sve or sme
40 // CHECK-UNKNOWN: 0430e000 <unknown>
42 incb x0, vl1
43 // CHECK-INST: incb x0, vl1
44 // CHECK-ENCODING: [0x20,0xe0,0x30,0x04]
45 // CHECK-ERROR: instruction requires: sve or sme
46 // CHECK-UNKNOWN: 0430e020 <unknown>
48 incb x0, vl2
49 // CHECK-INST: incb x0, vl2
50 // CHECK-ENCODING: [0x40,0xe0,0x30,0x04]
51 // CHECK-ERROR: instruction requires: sve or sme
52 // CHECK-UNKNOWN: 0430e040 <unknown>
54 incb x0, vl3
55 // CHECK-INST: incb x0, vl3
56 // CHECK-ENCODING: [0x60,0xe0,0x30,0x04]
57 // CHECK-ERROR: instruction requires: sve or sme
58 // CHECK-UNKNOWN: 0430e060 <unknown>
60 incb x0, vl4
61 // CHECK-INST: incb x0, vl4
62 // CHECK-ENCODING: [0x80,0xe0,0x30,0x04]
63 // CHECK-ERROR: instruction requires: sve or sme
64 // CHECK-UNKNOWN: 0430e080 <unknown>
66 incb x0, vl5
67 // CHECK-INST: incb x0, vl5
68 // CHECK-ENCODING: [0xa0,0xe0,0x30,0x04]
69 // CHECK-ERROR: instruction requires: sve or sme
70 // CHECK-UNKNOWN: 0430e0a0 <unknown>
72 incb x0, vl6
73 // CHECK-INST: incb x0, vl6
74 // CHECK-ENCODING: [0xc0,0xe0,0x30,0x04]
75 // CHECK-ERROR: instruction requires: sve or sme
76 // CHECK-UNKNOWN: 0430e0c0 <unknown>
78 incb x0, vl7
79 // CHECK-INST: incb x0, vl7
80 // CHECK-ENCODING: [0xe0,0xe0,0x30,0x04]
81 // CHECK-ERROR: instruction requires: sve or sme
82 // CHECK-UNKNOWN: 0430e0e0 <unknown>
84 incb x0, vl8
85 // CHECK-INST: incb x0, vl8
86 // CHECK-ENCODING: [0x00,0xe1,0x30,0x04]
87 // CHECK-ERROR: instruction requires: sve or sme
88 // CHECK-UNKNOWN: 0430e100 <unknown>
90 incb x0, vl16
91 // CHECK-INST: incb x0, vl16
92 // CHECK-ENCODING: [0x20,0xe1,0x30,0x04]
93 // CHECK-ERROR: instruction requires: sve or sme
94 // CHECK-UNKNOWN: 0430e120 <unknown>
96 incb x0, vl32
97 // CHECK-INST: incb x0, vl32
98 // CHECK-ENCODING: [0x40,0xe1,0x30,0x04]
99 // CHECK-ERROR: instruction requires: sve or sme
100 // CHECK-UNKNOWN: 0430e140 <unknown>
102 incb x0, vl64
103 // CHECK-INST: incb x0, vl64
104 // CHECK-ENCODING: [0x60,0xe1,0x30,0x04]
105 // CHECK-ERROR: instruction requires: sve or sme
106 // CHECK-UNKNOWN: 0430e160 <unknown>
108 incb x0, vl128
109 // CHECK-INST: incb x0, vl128
110 // CHECK-ENCODING: [0x80,0xe1,0x30,0x04]
111 // CHECK-ERROR: instruction requires: sve or sme
112 // CHECK-UNKNOWN: 0430e180 <unknown>
114 incb x0, vl256
115 // CHECK-INST: incb x0, vl256
116 // CHECK-ENCODING: [0xa0,0xe1,0x30,0x04]
117 // CHECK-ERROR: instruction requires: sve or sme
118 // CHECK-UNKNOWN: 0430e1a0 <unknown>
120 incb x0, #14
121 // CHECK-INST: incb x0, #14
122 // CHECK-ENCODING: [0xc0,0xe1,0x30,0x04]
123 // CHECK-ERROR: instruction requires: sve or sme
124 // CHECK-UNKNOWN: 0430e1c0 <unknown>
126 incb x0, #15
127 // CHECK-INST: incb x0, #15
128 // CHECK-ENCODING: [0xe0,0xe1,0x30,0x04]
129 // CHECK-ERROR: instruction requires: sve or sme
130 // CHECK-UNKNOWN: 0430e1e0 <unknown>
132 incb x0, #16
133 // CHECK-INST: incb x0, #16
134 // CHECK-ENCODING: [0x00,0xe2,0x30,0x04]
135 // CHECK-ERROR: instruction requires: sve or sme
136 // CHECK-UNKNOWN: 0430e200 <unknown>
138 incb x0, #17
139 // CHECK-INST: incb x0, #17
140 // CHECK-ENCODING: [0x20,0xe2,0x30,0x04]
141 // CHECK-ERROR: instruction requires: sve or sme
142 // CHECK-UNKNOWN: 0430e220 <unknown>
144 incb x0, #18
145 // CHECK-INST: incb x0, #18
146 // CHECK-ENCODING: [0x40,0xe2,0x30,0x04]
147 // CHECK-ERROR: instruction requires: sve or sme
148 // CHECK-UNKNOWN: 0430e240 <unknown>
150 incb x0, #19
151 // CHECK-INST: incb x0, #19
152 // CHECK-ENCODING: [0x60,0xe2,0x30,0x04]
153 // CHECK-ERROR: instruction requires: sve or sme
154 // CHECK-UNKNOWN: 0430e260 <unknown>
156 incb x0, #20
157 // CHECK-INST: incb x0, #20
158 // CHECK-ENCODING: [0x80,0xe2,0x30,0x04]
159 // CHECK-ERROR: instruction requires: sve or sme
160 // CHECK-UNKNOWN: 0430e280 <unknown>
162 incb x0, #21
163 // CHECK-INST: incb x0, #21
164 // CHECK-ENCODING: [0xa0,0xe2,0x30,0x04]
165 // CHECK-ERROR: instruction requires: sve or sme
166 // CHECK-UNKNOWN: 0430e2a0 <unknown>
168 incb x0, #22
169 // CHECK-INST: incb x0, #22
170 // CHECK-ENCODING: [0xc0,0xe2,0x30,0x04]
171 // CHECK-ERROR: instruction requires: sve or sme
172 // CHECK-UNKNOWN: 0430e2c0 <unknown>
174 incb x0, #23
175 // CHECK-INST: incb x0, #23
176 // CHECK-ENCODING: [0xe0,0xe2,0x30,0x04]
177 // CHECK-ERROR: instruction requires: sve or sme
178 // CHECK-UNKNOWN: 0430e2e0 <unknown>
180 incb x0, #24
181 // CHECK-INST: incb x0, #24
182 // CHECK-ENCODING: [0x00,0xe3,0x30,0x04]
183 // CHECK-ERROR: instruction requires: sve or sme
184 // CHECK-UNKNOWN: 0430e300 <unknown>
186 incb x0, #25
187 // CHECK-INST: incb x0, #25
188 // CHECK-ENCODING: [0x20,0xe3,0x30,0x04]
189 // CHECK-ERROR: instruction requires: sve or sme
190 // CHECK-UNKNOWN: 0430e320 <unknown>
192 incb x0, #26
193 // CHECK-INST: incb x0, #26
194 // CHECK-ENCODING: [0x40,0xe3,0x30,0x04]
195 // CHECK-ERROR: instruction requires: sve or sme
196 // CHECK-UNKNOWN: 0430e340 <unknown>
198 incb x0, #27
199 // CHECK-INST: incb x0, #27
200 // CHECK-ENCODING: [0x60,0xe3,0x30,0x04]
201 // CHECK-ERROR: instruction requires: sve or sme
202 // CHECK-UNKNOWN: 0430e360 <unknown>
204 incb x0, #28
205 // CHECK-INST: incb x0, #28
206 // CHECK-ENCODING: [0x80,0xe3,0x30,0x04]
207 // CHECK-ERROR: instruction requires: sve or sme
208 // CHECK-UNKNOWN: 0430e380 <unknown>