1 # RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s 2 3 # Test to ensure that all register and immediate operands can be parsed by 4 # the assembly parser correctly. Testing the parsing of FSL immediate 5 # values is done in a different test. 6 7 # TYPE A: OPCODE RD RA RB FLAGS 8 # BINARY: 000000 00000 00000 00000 00000000000 9 10 # CHECK: add 11 # BINARY: 000000 00000 00000 00000 00000000000 12 # CHECK: encoding: [0x00,0x00,0x00,0x00] 13 add r0, r0, r0 14 15 # CHECK: add 16 # BINARY: 000000 00001 00001 00001 00000000000 17 # CHECK: encoding: [0x00,0x21,0x08,0x00] 18 add r1, r1, r1 19 20 # CHECK: add 21 # BINARY: 000000 00010 00010 00010 00000000000 22 # CHECK: encoding: [0x00,0x42,0x10,0x00] 23 add r2, r2, r2 24 25 # CHECK: add 26 # BINARY: 000000 00011 00011 00011 00000000000 27 # CHECK: encoding: [0x00,0x63,0x18,0x00] 28 add r3, r3, r3 29 30 # CHECK: add 31 # BINARY: 000000 00100 00100 00100 00000000000 32 # CHECK: encoding: [0x00,0x84,0x20,0x00] 33 add r4, r4, r4 34 35 # CHECK: add 36 # BINARY: 000000 00101 00101 00101 00000000000 37 # CHECK: encoding: [0x00,0xa5,0x28,0x00] 38 add r5, r5, r5 39 40 # CHECK: add 41 # BINARY: 000000 00110 00110 00110 00000000000 42 # CHECK: encoding: [0x00,0xc6,0x30,0x00] 43 add r6, r6, r6 44 45 # CHECK: add 46 # BINARY: 000000 00111 00111 00111 00000000000 47 # CHECK: encoding: [0x00,0xe7,0x38,0x00] 48 add r7, r7, r7 49 50 # CHECK: add 51 # BINARY: 000000 01000 01000 01000 00000000000 52 # CHECK: encoding: [0x01,0x08,0x40,0x00] 53 add r8, r8, r8 54 55 # CHECK: add 56 # BINARY: 000000 01001 01001 01001 00000000000 57 # CHECK: encoding: [0x01,0x29,0x48,0x00] 58 add r9, r9, r9 59 60 # CHECK: add 61 # BINARY: 000000 01010 01010 01010 00000000000 62 # CHECK: encoding: [0x01,0x4a,0x50,0x00] 63 add r10, r10, r10 64 65 # CHECK: add 66 # BINARY: 000000 01011 01011 01011 00000000000 67 # CHECK: encoding: [0x01,0x6b,0x58,0x00] 68 add r11, r11, r11 69 70 # CHECK: add 71 # BINARY: 000000 01100 01100 01100 00000000000 72 # CHECK: encoding: [0x01,0x8c,0x60,0x00] 73 add r12, r12, r12 74 75 # CHECK: add 76 # BINARY: 000000 01101 01101 01101 00000000000 77 # CHECK: encoding: [0x01,0xad,0x68,0x00] 78 add r13, r13, r13 79 80 # CHECK: add 81 # BINARY: 000000 01110 01110 01110 00000000000 82 # CHECK: encoding: [0x01,0xce,0x70,0x00] 83 add r14, r14, r14 84 85 # CHECK: add 86 # BINARY: 000000 01111 01111 01111 00000000000 87 # CHECK: encoding: [0x01,0xef,0x78,0x00] 88 add r15, r15, r15 89 90 # CHECK: add 91 # BINARY: 000000 10000 10000 10000 00000000000 92 # CHECK: encoding: [0x02,0x10,0x80,0x00] 93 add r16, r16, r16 94 95 # CHECK: add 96 # BINARY: 000000 10001 10001 10001 00000000000 97 # CHECK: encoding: [0x02,0x31,0x88,0x00] 98 add r17, r17, r17 99 100 # CHECK: add 101 # BINARY: 000000 10010 10010 10010 00000000000 102 # CHECK: encoding: [0x02,0x52,0x90,0x00] 103 add r18, r18, r18 104 105 # CHECK: add 106 # BINARY: 000000 10011 10011 10011 00000000000 107 # CHECK: encoding: [0x02,0x73,0x98,0x00] 108 add r19, r19, r19 109 110 # CHECK: add 111 # BINARY: 000000 10100 10100 10100 00000000000 112 # CHECK: encoding: [0x02,0x94,0xa0,0x00] 113 add r20, r20, r20 114 115 # CHECK: add 116 # BINARY: 000000 10101 10101 10101 00000000000 117 # CHECK: encoding: [0x02,0xb5,0xa8,0x00] 118 add r21, r21, r21 119 120 # CHECK: add 121 # BINARY: 000000 10110 10110 10110 00000000000 122 # CHECK: encoding: [0x02,0xd6,0xb0,0x00] 123 add r22, r22, r22 124 125 # CHECK: add 126 # BINARY: 000000 10111 10111 10111 00000000000 127 # CHECK: encoding: [0x02,0xf7,0xb8,0x00] 128 add r23, r23, r23 129 130 # CHECK: add 131 # BINARY: 000000 11000 11000 11000 00000000000 132 # CHECK: encoding: [0x03,0x18,0xc0,0x00] 133 add r24, r24, r24 134 135 # CHECK: add 136 # BINARY: 000000 11001 11001 11001 00000000000 137 # CHECK: encoding: [0x03,0x39,0xc8,0x00] 138 add r25, r25, r25 139 140 # CHECK: add 141 # BINARY: 000000 11010 11010 11010 00000000000 142 # CHECK: encoding: [0x03,0x5a,0xd0,0x00] 143 add r26, r26, r26 144 145 # CHECK: add 146 # BINARY: 000000 11011 11011 11011 00000000000 147 # CHECK: encoding: [0x03,0x7b,0xd8,0x00] 148 add r27, r27, r27 149 150 # CHECK: add 151 # BINARY: 000000 11100 11100 11100 00000000000 152 # CHECK: encoding: [0x03,0x9c,0xe0,0x00] 153 add r28, r28, r28 154 155 # CHECK: add 156 # BINARY: 000000 11101 11101 11101 00000000000 157 # CHECK: encoding: [0x03,0xbd,0xe8,0x00] 158 add r29, r29, r29 159 160 # CHECK: add 161 # BINARY: 000000 11110 11110 11110 00000000000 162 # CHECK: encoding: [0x03,0xde,0xf0,0x00] 163 add r30, r30, r30 164 165 # CHECK: add 166 # BINARY: 000000 11111 11111 11111 00000000000 167 # CHECK: encoding: [0x03,0xff,0xf8,0x00] 168 add r31, r31, r31 169 170 # CHECK: addi 171 # BINARY: 001000 00000 00000 0000000000000000 172 # CHECK: encoding: [0x20,0x00,0x00,0x00] 173 addi r0, r0, 0 174 175 # CHECK: addi 176 # BINARY: 001000 00000 00000 0000000000000001 177 # CHECK: encoding: [0x20,0x00,0x00,0x01] 178 addi r0, r0, 1 179 180 # CHECK: addi 181 # BINARY: 001000 00000 00000 0000000000000010 182 # CHECK: encoding: [0x20,0x00,0x00,0x02] 183 addi r0, r0, 2 184 185 # CHECK: addi 186 # BINARY: 001000 00000 00000 0000000000000100 187 # CHECK: encoding: [0x20,0x00,0x00,0x04] 188 addi r0, r0, 4 189 190 # CHECK: addi 191 # BINARY: 001000 00000 00000 0000000000001000 192 # CHECK: encoding: [0x20,0x00,0x00,0x08] 193 addi r0, r0, 8 194 195 # CHECK: addi 196 # BINARY: 001000 00000 00000 0000000000010000 197 # CHECK: encoding: [0x20,0x00,0x00,0x10] 198 addi r0, r0, 16 199 200 # CHECK: addi 201 # BINARY: 001000 00000 00000 0000000000100000 202 # CHECK: encoding: [0x20,0x00,0x00,0x20] 203 addi r0, r0, 32 204 205 # CHECK: addi 206 # BINARY: 001000 00000 00000 0000000001000000 207 # CHECK: encoding: [0x20,0x00,0x00,0x40] 208 addi r0, r0, 64 209 210 # CHECK: addi 211 # BINARY: 001000 00000 00000 0000000010000000 212 # CHECK: encoding: [0x20,0x00,0x00,0x80] 213 addi r0, r0, 128 214 215 # CHECK: addi 216 # BINARY: 001000 00000 00000 0000000100000000 217 # CHECK: encoding: [0x20,0x00,0x01,0x00] 218 addi r0, r0, 256 219 220 # CHECK: addi 221 # BINARY: 001000 00000 00000 0000001000000000 222 # CHECK: encoding: [0x20,0x00,0x02,0x00] 223 addi r0, r0, 512 224 225 # CHECK: addi 226 # BINARY: 001000 00000 00000 0000010000000000 227 # CHECK: encoding: [0x20,0x00,0x04,0x00] 228 addi r0, r0, 1024 229 230 # CHECK: addi 231 # BINARY: 001000 00000 00000 0000100000000000 232 # CHECK: encoding: [0x20,0x00,0x08,0x00] 233 addi r0, r0, 2048 234 235 # CHECK: addi 236 # BINARY: 001000 00000 00000 0001000000000000 237 # CHECK: encoding: [0x20,0x00,0x10,0x00] 238 addi r0, r0, 4096 239 240 # CHECK: addi 241 # BINARY: 001000 00000 00000 0010000000000000 242 # CHECK: encoding: [0x20,0x00,0x20,0x00] 243 addi r0, r0, 8192 244 245 # CHECK: addi 246 # BINARY: 001000 00000 00000 0100000000000000 247 # CHECK: encoding: [0x20,0x00,0x40,0x00] 248 addi r0, r0, 16384 249 250 # CHECK: addi 251 # BINARY: 001000 00000 00000 1111111111111111 252 # CHECK: encoding: [0x20,0x00,0xff,0xff] 253 addi r0, r0, -1 254 255 # CHECK: addi 256 # BINARY: 001000 00000 00000 1111111111111110 257 # CHECK: encoding: [0x20,0x00,0xff,0xfe] 258 addi r0, r0, -2 259 260 # CHECK: addi 261 # BINARY: 001000 00000 00000 1111111111111100 262 # CHECK: encoding: [0x20,0x00,0xff,0xfc] 263 addi r0, r0, -4 264 265 # CHECK: addi 266 # BINARY: 001000 00000 00000 1111111111111000 267 # CHECK: encoding: [0x20,0x00,0xff,0xf8] 268 addi r0, r0, -8 269 270 # CHECK: addi 271 # BINARY: 001000 00000 00000 1111111111110000 272 # CHECK: encoding: [0x20,0x00,0xff,0xf0] 273 addi r0, r0, -16 274 275 # CHECK: addi 276 # BINARY: 001000 00000 00000 1111111111100000 277 # CHECK: encoding: [0x20,0x00,0xff,0xe0] 278 addi r0, r0, -32 279 280 # CHECK: addi 281 # BINARY: 001000 00000 00000 1111111111000000 282 # CHECK: encoding: [0x20,0x00,0xff,0xc0] 283 addi r0, r0, -64 284 285 # CHECK: addi 286 # BINARY: 001000 00000 00000 1111111110000000 287 # CHECK: encoding: [0x20,0x00,0xff,0x80] 288 addi r0, r0, -128 289 290 # CHECK: addi 291 # BINARY: 001000 00000 00000 1111111100000000 292 # CHECK: encoding: [0x20,0x00,0xff,0x00] 293 addi r0, r0, -256 294 295 # CHECK: addi 296 # BINARY: 001000 00000 00000 1111111000000000 297 # CHECK: encoding: [0x20,0x00,0xfe,0x00] 298 addi r0, r0, -512 299 300 # CHECK: addi 301 # BINARY: 001000 00000 00000 1111110000000000 302 # CHECK: encoding: [0x20,0x00,0xfc,0x00] 303 addi r0, r0, -1024 304 305 # CHECK: addi 306 # BINARY: 001000 00000 00000 1111100000000000 307 # CHECK: encoding: [0x20,0x00,0xf8,0x00] 308 addi r0, r0, -2048 309 310 # CHECK: addi 311 # BINARY: 001000 00000 00000 1111000000000000 312 # CHECK: encoding: [0x20,0x00,0xf0,0x00] 313 addi r0, r0, -4096 314 315 # CHECK: addi 316 # BINARY: 001000 00000 00000 1110000000000000 317 # CHECK: encoding: [0x20,0x00,0xe0,0x00] 318 addi r0, r0, -8192 319 320 # CHECK: addi 321 # BINARY: 001000 00000 00000 1100000000000000 322 # CHECK: encoding: [0x20,0x00,0xc0,0x00] 323 addi r0, r0, -16384 324 325 # CHECK: addi 326 # BINARY: 001000 00000 00000 1000000000000000 327 # CHECK: encoding: [0x20,0x00,0x80,0x00] 328 addi r0, r0, -32768 329