|
10 | 10 | # RUN: | llvm-objdump --mattr=+experimental-xqcilo --no-print-imm-hex -d - \
|
11 | 11 | # RUN: | FileCheck -check-prefix=CHECK-INST %s
|
12 | 12 |
|
| 13 | +# RUN: llvm-mc %s -triple=riscv32 -mattr=+zcb,+experimental-xqcilo -M no-aliases -show-encoding \ |
| 14 | +# RUN: | FileCheck -check-prefixes=CHECK-ENC-ZCB,CHECK-INST-ZCB,CHECK-NOALIAS-ZCB %s |
| 15 | +# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+zcb,+experimental-xqcilo < %s \ |
| 16 | +# RUN: | llvm-objdump --mattr=+zcb,+experimental-xqcilo -M no-aliases --no-print-imm-hex -d - \ |
| 17 | +# RUN: | FileCheck -check-prefix=CHECK-INST-ZCB %s |
| 18 | +# RUN: llvm-mc %s -triple=riscv32 -mattr=+zcb,+experimental-xqcilo -show-encoding \ |
| 19 | +# RUN: | FileCheck -check-prefixes=CHECK-ENC-ZCB,CHECK-INST-ZCB,CHECK-ALIAS-ZCB %s |
| 20 | +# RUN: llvm-mc -filetype=obj -triple riscv32 -mattr=+zcb,+experimental-xqcilo < %s \ |
| 21 | +# RUN: | llvm-objdump --mattr=+experimental-xqcilo --no-print-imm-hex -d - \ |
| 22 | +# RUN: | FileCheck -check-prefix=CHECK-INST-ZCB %s |
| 23 | + |
13 | 24 | # CHECK-INST: qc.e.lb a1, 3000(a0)
|
14 | 25 | # CHECK-ENC: encoding: [0x9f,0x55,0x85,0x3b,0x02,0x00]
|
| 26 | + |
| 27 | +# CHECK-INST-ZCB: qc.e.lb a1, 3000(a0) |
| 28 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0x3b,0x02,0x00] |
15 | 29 | qc.e.lb x11, 3000(x10)
|
16 | 30 |
|
17 | 31 | # CHECK-INST: qc.e.lb a1, -33554432(a0)
|
18 | 32 | # CHECK-ENC: encoding: [0x9f,0x55,0x05,0x00,0x00,0x80]
|
| 33 | + |
| 34 | +# CHECK-INST-ZCB: qc.e.lb a1, -33554432(a0) |
| 35 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x00,0x00,0x80] |
19 | 36 | qc.e.lb x11, -33554432(x10)
|
20 | 37 |
|
21 | 38 | # CHECK-INST: qc.e.lb a1, 33554431(a0)
|
22 | 39 | # CHECK-ENC: encoding: [0x9f,0x55,0xf5,0x3f,0xff,0x7f]
|
| 40 | + |
| 41 | +# CHECK-INST-ZCB: qc.e.lb a1, 33554431(a0) |
| 42 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0x3f,0xff,0x7f] |
23 | 43 | qc.e.lb x11, 33554431(x10)
|
24 | 44 |
|
25 | 45 |
|
26 | 46 | # CHECK-INST: qc.e.lbu a1, 3000(a0)
|
27 | 47 | # CHECK-ENC: encoding: [0x9f,0x55,0x85,0x7b,0x02,0x00]
|
| 48 | + |
| 49 | +# CHECK-INST-ZCB: qc.e.lbu a1, 3000(a0) |
| 50 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0x7b,0x02,0x00] |
28 | 51 | qc.e.lbu x11, 3000(x10)
|
29 | 52 |
|
30 | 53 | # CHECK-INST: qc.e.lbu a1, -33554432(a0)
|
31 | 54 | # CHECK-ENC: encoding: [0x9f,0x55,0x05,0x40,0x00,0x80]
|
| 55 | + |
| 56 | +# CHECK-INST-ZCB: qc.e.lbu a1, -33554432(a0) |
| 57 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x40,0x00,0x80] |
32 | 58 | qc.e.lbu x11, -33554432(x10)
|
33 | 59 |
|
34 | 60 | # CHECK-INST: qc.e.lbu a1, 33554431(a0)
|
35 | 61 | # CHECK-ENC: encoding: [0x9f,0x55,0xf5,0x7f,0xff,0x7f]
|
| 62 | + |
| 63 | +# CHECK-INST-ZCB: qc.e.lbu a1, 33554431(a0) |
| 64 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0x7f,0xff,0x7f] |
36 | 65 | qc.e.lbu x11, 33554431(x10)
|
37 | 66 |
|
38 | 67 |
|
39 | 68 | # CHECK-INST: qc.e.lh a1, 3000(a0)
|
40 | 69 | # CHECK-ENC: encoding: [0x9f,0x55,0x85,0xbb,0x02,0x00]
|
| 70 | + |
| 71 | +# CHECK-INST-ZCB: qc.e.lh a1, 3000(a0) |
| 72 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0xbb,0x02,0x00] |
41 | 73 | qc.e.lh x11, 3000(x10)
|
42 | 74 |
|
43 | 75 | # CHECK-INST: qc.e.lh a1, -33554432(a0)
|
44 | 76 | # CHECK-ENC: encoding: [0x9f,0x55,0x05,0x80,0x00,0x80]
|
| 77 | + |
| 78 | +# CHECK-INST-ZCB: qc.e.lh a1, -33554432(a0) |
| 79 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0x80,0x00,0x80] |
45 | 80 | qc.e.lh x11, -33554432(x10)
|
46 | 81 |
|
47 | 82 | # CHECK-INST: qc.e.lh a1, 33554431(a0)
|
48 | 83 | # CHECK-ENC: encoding: [0x9f,0x55,0xf5,0xbf,0xff,0x7f]
|
| 84 | + |
| 85 | +# CHECK-INST-ZCB: qc.e.lh a1, 33554431(a0) |
| 86 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0xbf,0xff,0x7f] |
49 | 87 | qc.e.lh x11, 33554431(x10)
|
50 | 88 |
|
51 | 89 |
|
52 | 90 | # CHECK-INST: qc.e.lhu a1, 3000(a0)
|
53 | 91 | # CHECK-ENC: encoding: [0x9f,0x55,0x85,0xfb,0x02,0x00]
|
| 92 | + |
| 93 | +# CHECK-INST-ZCB: qc.e.lhu a1, 3000(a0) |
| 94 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x85,0xfb,0x02,0x00] |
54 | 95 | qc.e.lhu x11, 3000(x10)
|
55 | 96 |
|
56 | 97 | # CHECK-INST: qc.e.lhu a1, -33554432(a0)
|
57 | 98 | # CHECK-ENC: encoding: [0x9f,0x55,0x05,0xc0,0x00,0x80]
|
| 99 | + |
| 100 | +# CHECK-INST-ZCB: qc.e.lhu a1, -33554432(a0) |
| 101 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0x05,0xc0,0x00,0x80] |
58 | 102 | qc.e.lhu x11, -33554432(x10)
|
59 | 103 |
|
60 | 104 | # CHECK-INST: qc.e.lhu a1, 33554431(a0)
|
61 | 105 | # CHECK-ENC: encoding: [0x9f,0x55,0xf5,0xff,0xff,0x7f]
|
| 106 | + |
| 107 | +# CHECK-INST-ZCB: qc.e.lhu a1, 33554431(a0) |
| 108 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x55,0xf5,0xff,0xff,0x7f] |
62 | 109 | qc.e.lhu x11, 33554431(x10)
|
63 | 110 |
|
64 | 111 |
|
65 | 112 | # CHECK-INST: qc.e.lw a1, 3000(a0)
|
66 | 113 | # CHECK-ENC: encoding: [0x9f,0x65,0x85,0x3b,0x02,0x00]
|
| 114 | + |
| 115 | +# CHECK-INST-ZCB: qc.e.lw a1, 3000(a0) |
| 116 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0x85,0x3b,0x02,0x00] |
67 | 117 | qc.e.lw x11, 3000(x10)
|
68 | 118 |
|
69 | 119 | # CHECK-INST: qc.e.lw a1, -33554432(a0)
|
70 | 120 | # CHECK-ENC: encoding: [0x9f,0x65,0x05,0x00,0x00,0x80]
|
| 121 | + |
| 122 | +# CHECK-INST-ZCB: qc.e.lw a1, -33554432(a0) |
| 123 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0x05,0x00,0x00,0x80] |
71 | 124 | qc.e.lw x11, -33554432(x10)
|
72 | 125 |
|
73 | 126 | # CHECK-INST: qc.e.lw a1, 33554431(a0)
|
74 | 127 | # CHECK-ENC: encoding: [0x9f,0x65,0xf5,0x3f,0xff,0x7f]
|
| 128 | + |
| 129 | +# CHECK-INST-ZCB: qc.e.lw a1, 33554431(a0) |
| 130 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x65,0xf5,0x3f,0xff,0x7f] |
75 | 131 | qc.e.lw x11, 33554431(x10)
|
76 | 132 |
|
77 | 133 |
|
78 | 134 | # CHECK-INST: qc.e.sb a1, 3000(a0)
|
79 | 135 | # CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0x7a,0x02,0x00]
|
| 136 | + |
| 137 | +# CHECK-INST-ZCB: qc.e.sb a1, 3000(a0) |
| 138 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0x7a,0x02,0x00] |
80 | 139 | qc.e.sb x11, 3000(x10)
|
81 | 140 |
|
82 | 141 | # CHECK-INST: qc.e.sb a1, -33554432(a0)
|
83 | 142 | # CHECK-ENC: encoding: [0x1f,0x60,0xb5,0x40,0x00,0x80]
|
| 143 | + |
| 144 | +# CHECK-INST-ZCB: qc.e.sb a1, -33554432(a0) |
| 145 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0x40,0x00,0x80] |
84 | 146 | qc.e.sb x11, -33554432(x10)
|
85 | 147 |
|
86 | 148 | # CHECK-INST: qc.e.sb a1, 33554431(a0)
|
87 | 149 | # CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0x7e,0xff,0x7f]
|
| 150 | + |
| 151 | +# CHECK-INST-ZCB: qc.e.sb a1, 33554431(a0) |
| 152 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0x7e,0xff,0x7f] |
88 | 153 | qc.e.sb x11, 33554431(x10)
|
89 | 154 |
|
90 | 155 |
|
91 | 156 | # CHECK-INST: qc.e.sh a1, 3000(a0)
|
92 | 157 | # CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0xba,0x02,0x00]
|
| 158 | + |
| 159 | +# CHECK-INST-ZCB: qc.e.sh a1, 3000(a0) |
| 160 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0xba,0x02,0x00] |
93 | 161 | qc.e.sh x11, 3000(x10)
|
94 | 162 |
|
95 | 163 | # CHECK-INST: qc.e.sh a1, -33554432(a0)
|
96 | 164 | # CHECK-ENC: encoding: [0x1f,0x60,0xb5,0x80,0x00,0x80]
|
| 165 | + |
| 166 | +# CHECK-INST-ZCB: qc.e.sh a1, -33554432(a0) |
| 167 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0x80,0x00,0x80] |
97 | 168 | qc.e.sh x11, -33554432(x10)
|
98 | 169 |
|
99 | 170 | # CHECK-INST: qc.e.sh a1, 33554431(a0)
|
100 | 171 | # CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0xbe,0xff,0x7f]
|
| 172 | + |
| 173 | +# CHECK-INST-ZCB: qc.e.sh a1, 33554431(a0) |
| 174 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0xbe,0xff,0x7f] |
101 | 175 | qc.e.sh x11, 33554431(x10)
|
102 | 176 |
|
103 | 177 |
|
104 | 178 | # CHECK-INST: qc.e.sw a1, 3000(a0)
|
105 | 179 | # CHECK-ENC: encoding: [0x1f,0x6c,0xb5,0xfa,0x02,0x00]
|
| 180 | + |
| 181 | +# CHECK-INST-ZCB: qc.e.sw a1, 3000(a0) |
| 182 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x6c,0xb5,0xfa,0x02,0x00] |
106 | 183 | qc.e.sw x11, 3000(x10)
|
107 | 184 |
|
108 | 185 | # CHECK-INST: qc.e.sw a1, -33554432(a0)
|
109 | 186 | # CHECK-ENC: encoding: [0x1f,0x60,0xb5,0xc0,0x00,0x80]
|
| 187 | + |
| 188 | +# CHECK-INST-ZCB: qc.e.sw a1, -33554432(a0) |
| 189 | +# CHECK-ENC-ZCB: encoding: [0x1f,0x60,0xb5,0xc0,0x00,0x80] |
110 | 190 | qc.e.sw x11, -33554432(x10)
|
111 | 191 |
|
112 | 192 | # CHECK-INST: qc.e.sw a1, 33554431(a0)
|
113 | 193 | # CHECK-ENC: encoding: [0x9f,0x6f,0xb5,0xfe,0xff,0x7f]
|
| 194 | + |
| 195 | +# CHECK-INST-ZCB: qc.e.sw a1, 33554431(a0) |
| 196 | +# CHECK-ENC-ZCB: encoding: [0x9f,0x6f,0xb5,0xfe,0xff,0x7f] |
114 | 197 | qc.e.sw x11, 33554431(x10)
|
115 | 198 |
|
116 | 199 | # Check that compressed patterns work
|
117 | 200 |
|
118 | 201 | # CHECK-INST: lb a1, 100(a0)
|
119 | 202 | # CHECK-ENC: encoding: [0x83,0x05,0x45,0x06]
|
| 203 | + |
| 204 | +# CHECK-INST-ZCB: lb a1, 100(a0) |
| 205 | +# CHECK-ENC-ZCB: encoding: [0x83,0x05,0x45,0x06] |
120 | 206 | qc.e.lb x11, 100(x10)
|
121 | 207 |
|
122 | 208 | # CHECK-INST: lbu a1, 200(a0)
|
123 | 209 | # CHECK-ENC: encoding: [0x83,0x45,0x85,0x0c]
|
| 210 | + |
| 211 | +# CHECK-INST-ZCB: lbu a1, 200(a0) |
| 212 | +# CHECK-ENC-ZCB: encoding: [0x83,0x45,0x85,0x0c] |
124 | 213 | qc.e.lbu x11, 200(x10)
|
125 | 214 |
|
126 | 215 | # CHECK-INST: lh a1, 300(a0)
|
127 | 216 | # CHECK-ENC: encoding: [0x83,0x15,0xc5,0x12]
|
| 217 | + |
| 218 | +# CHECK-INST-ZCB: lh a1, 300(a0) |
| 219 | +# CHECK-ENC-ZCB: encoding: [0x83,0x15,0xc5,0x12] |
128 | 220 | qc.e.lh x11, 300(x10)
|
129 | 221 |
|
130 | 222 | # CHECK-INST: lhu a1, 400(a0)
|
131 | 223 | # CHECK-ENC: encoding: [0x83,0x55,0x05,0x19]
|
| 224 | + |
| 225 | +# CHECK-INST-ZCB: lhu a1, 400(a0) |
| 226 | +# CHECK-ENC-ZCB: encoding: [0x83,0x55,0x05,0x19] |
132 | 227 | qc.e.lhu x11, 400(x10)
|
133 | 228 |
|
134 | 229 | # CHECK-INST: lw a1, 500(a0)
|
135 | 230 | # CHECK-ENC: encoding: [0x83,0x25,0x45,0x1f]
|
| 231 | + |
| 232 | +# CHECK-INST-ZCB: lw a1, 500(a0) |
| 233 | +# CHECK-ENC-ZCB: encoding: [0x83,0x25,0x45,0x1f] |
136 | 234 | qc.e.lw x11, 500(x10)
|
137 | 235 |
|
138 | 236 | # CHECK-INST: sb a1, 600(a0)
|
139 | 237 | # CHECK-ENC: encoding: [0x23,0x0c,0xb5,0x24]
|
| 238 | + |
| 239 | +# CHECK-INST-ZCB: sb a1, 600(a0) |
| 240 | +# CHECK-ENC-ZCB: encoding: [0x23,0x0c,0xb5,0x24] |
140 | 241 | qc.e.sb x11, 600(x10)
|
141 | 242 |
|
142 | 243 | # CHECK-INST: sh a1, 700(a0)
|
143 | 244 | # CHECK-ENC: encoding: [0x23,0x1e,0xb5,0x2a]
|
| 245 | + |
| 246 | +# CHECK-INST-ZCB: sh a1, 700(a0) |
| 247 | +# CHECK-ENC-ZCB: encoding: [0x23,0x1e,0xb5,0x2a] |
144 | 248 | qc.e.sh x11, 700(x10)
|
145 | 249 |
|
146 | 250 | # CHECK-INST: sw a1, 800(a0)
|
147 | 251 | # CHECK-ENC: encoding: [0x23,0x20,0xb5,0x32]
|
| 252 | + |
| 253 | +# CHECK-INST-ZCB: sw a1, 800(a0) |
| 254 | +# CHECK-ENC-ZCB: encoding: [0x23,0x20,0xb5,0x32] |
148 | 255 | qc.e.sw x11, 800(x10)
|
149 | 256 |
|
150 | 257 | # CHECK-ALIAS: lw a1, 32(a0)
|
151 | 258 | # CHECK-NOALIAS: c.lw a1, 32(a0)
|
152 | 259 | # CHECK-ENC: encoding: [0x0c,0x51]
|
| 260 | + |
| 261 | +# CHECK-ALIAS-ZCB: lw a1, 32(a0) |
| 262 | +# CHECK-NOALIAS-ZCB: c.lw a1, 32(a0) |
| 263 | +# CHECK-ENC-ZCB: encoding: [0x0c,0x51] |
153 | 264 | qc.e.lw x11, 32(x10)
|
154 | 265 |
|
155 | 266 | # CHECK-ALIAS: sw a1, 124(a0)
|
156 | 267 | # CHECK-NOALIAS: c.sw a1, 124(a0)
|
157 | 268 | # CHECK-ENC: encoding: [0x6c,0xdd]
|
| 269 | + |
| 270 | +# CHECK-ALIAS-ZCB: sw a1, 124(a0) |
| 271 | +# CHECK-NOALIAS-ZCB: c.sw a1, 124(a0) |
| 272 | +# CHECK-ENC-ZCB: encoding: [0x6c,0xdd] |
158 | 273 | qc.e.sw x11, 124(x10)
|
159 | 274 |
|
160 | 275 | # CHECK-ALIAS: lw ra, 64(sp)
|
161 | 276 | # CHECK-NOALIAS: c.lwsp ra, 64(sp)
|
162 | 277 | # CHECK-ENC: encoding: [0x86,0x40]
|
| 278 | + |
| 279 | +# CHECK-ALIAS-ZCB: lw ra, 64(sp) |
| 280 | +# CHECK-NOALIAS-ZCB: c.lwsp ra, 64(sp) |
| 281 | +# CHECK-ENC-ZCB: encoding: [0x86,0x40] |
163 | 282 | qc.e.lw x1, 64(x2)
|
164 | 283 |
|
165 | 284 | # CHECK-ALIAS: sw a1, 252(sp)
|
166 | 285 | # CHECK-NOALIAS: c.swsp a1, 252(sp)
|
167 | 286 | # CHECK-ENC: encoding: [0xae,0xdf]
|
| 287 | + |
| 288 | +# CHECK-ALIAS-ZCB: sw a1, 252(sp) |
| 289 | +# CHECK-NOALIAS-ZCB: c.swsp a1, 252(sp) |
| 290 | +# CHECK-ENC-ZCB: encoding: [0xae,0xdf] |
168 | 291 | qc.e.sw x11, 252(x2)
|
| 292 | + |
| 293 | +# CHECK-ALIAS: lbu a1, 3(a0) |
| 294 | +# CHECK-NOALIAS: lbu a1, 3(a0) |
| 295 | +# CHECK-ENC: encoding: [0x83,0x45,0x35,0x00] |
| 296 | + |
| 297 | +# CHECK-ALIAS-ZCB: lbu a1, 3(a0) |
| 298 | +# CHECK-NOALIAS-ZCB: c.lbu a1, 3(a0) |
| 299 | +# CHECK-ENC-ZCB: encoding: [0x6c,0x81] |
| 300 | +qc.e.lbu x11, 3(x10) |
| 301 | + |
| 302 | +# CHECK-ALIAS: lhu a1, 2(a0) |
| 303 | +# CHECK-NOALIAS: lhu a1, 2(a0) |
| 304 | +# CHECK-ENC: encoding: [0x83,0x55,0x25,0x00] |
| 305 | + |
| 306 | +# CHECK-ALIAS-ZCB: lhu a1, 2(a0) |
| 307 | +# CHECK-NOALIAS-ZCB: c.lhu a1, 2(a0) |
| 308 | +# CHECK-ENC-ZCB: encoding: [0x2c,0x85] |
| 309 | +qc.e.lhu x11, 2(x10) |
| 310 | + |
| 311 | +# CHECK-ALIAS: lh a1, 0(a0) |
| 312 | +# CHECK-NOALIAS: lh a1, 0(a0) |
| 313 | +# CHECK-ENC: encoding: [0x83,0x15,0x05,0x00] |
| 314 | + |
| 315 | +# CHECK-ALIAS-ZCB: lh a1, 0(a0) |
| 316 | +# CHECK-NOALIAS-ZCB: c.lh a1, 0(a0) |
| 317 | +# CHECK-ENC-ZCB: encoding: [0x4c,0x85] |
| 318 | +qc.e.lh x11, 0(x10) |
| 319 | + |
| 320 | +# CHECK-ALIAS: sb a1, 1(a0) |
| 321 | +# CHECK-NOALIAS: sb a1, 1(a0) |
| 322 | +# CHECK-ENC: encoding: [0xa3,0x00,0xb5,0x00] |
| 323 | + |
| 324 | +# CHECK-ALIAS-ZCB: sb a1, 1(a0) |
| 325 | +# CHECK-NOALIAS-ZCB: c.sb a1, 1(a0) |
| 326 | +# CHECK-ENC-ZCB: encoding: [0x4c,0x89] |
| 327 | +qc.e.sb x11, 1(x10) |
| 328 | + |
| 329 | +# CHECK-ALIAS: sh a1, 2(a0) |
| 330 | +# CHECK-NOALIAS: sh a1, 2(a0) |
| 331 | +# CHECK-ENC: encoding: [0x23,0x11,0xb5,0x00] |
| 332 | + |
| 333 | +# CHECK-ALIAS-ZCB: sh a1, 2(a0) |
| 334 | +# CHECK-NOALIAS-ZCB: c.sh a1, 2(a0) |
| 335 | +# CHECK-ENC-ZCB: encoding: [0x2c,0x8d] |
| 336 | +qc.e.sh x11, 2(x10) |
0 commit comments