1 # RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s 2 3 # Test to ensure that all FSL immediate operands and FSL instructions 4 # can be parsed by the assembly parser correctly. 5 6 # TYPE F: OPCODE RD NCTAE FSL 7 # BINARY: 011011 00000 000000 00000 000000 0000 8 9 # TYPE FD: OPCODE RD RB NCTAE 10 # BINARY: 011011 00000 00000 00000 0 00000 00000 11 12 # TYPE FP: OPCODE RA NCTA FSL 13 # 000000 00000 00000 1 0000 0000000 0000 14 15 # CHECK: get 16 # BINARY: 011011 00000 000000 00000 000000 0000 17 # CHECK: encoding: [0x6c,0x00,0x00,0x00] 18 get r0, rfsl0 19 20 # CHECK: nget 21 # BINARY: 011011 00000 000000 10000 000000 0000 22 # CHECK: encoding: [0x6c,0x00,0x40,0x00] 23 nget r0, rfsl0 24 25 # CHECK: cget 26 # BINARY: 011011 00000 000000 01000 000000 0000 27 # CHECK: encoding: [0x6c,0x00,0x20,0x00] 28 cget r0, rfsl0 29 30 # CHECK: ncget 31 # BINARY: 011011 00000 000000 11000 000000 0000 32 # CHECK: encoding: [0x6c,0x00,0x60,0x00] 33 ncget r0, rfsl0 34 35 # CHECK: tget 36 # BINARY: 011011 00000 000000 00100 000000 0000 37 # CHECK: encoding: [0x6c,0x00,0x10,0x00] 38 tget r0, rfsl0 39 40 # CHECK: tnget 41 # BINARY: 011011 00000 000000 10100 000000 0000 42 # CHECK: encoding: [0x6c,0x00,0x50,0x00] 43 tnget r0, rfsl0 44 45 # CHECK: tcget 46 # BINARY: 011011 00000 000000 01100 000000 0000 47 # CHECK: encoding: [0x6c,0x00,0x30,0x00] 48 tcget r0, rfsl0 49 50 # CHECK: tncget 51 # BINARY: 011011 00000 000000 11100 000000 0000 52 # CHECK: encoding: [0x6c,0x00,0x70,0x00] 53 tncget r0, rfsl0 54 55 # CHECK: aget 56 # BINARY: 011011 00000 000000 00010 000000 0000 57 # CHECK: encoding: [0x6c,0x00,0x08,0x00] 58 aget r0, rfsl0 59 60 # CHECK: naget 61 # BINARY: 011011 00000 000000 10010 000000 0000 62 # CHECK: encoding: [0x6c,0x00,0x48,0x00] 63 naget r0, rfsl0 64 65 # CHECK: caget 66 # BINARY: 011011 00000 000000 01010 000000 0000 67 # CHECK: encoding: [0x6c,0x00,0x28,0x00] 68 caget r0, rfsl0 69 70 # CHECK: ncaget 71 # BINARY: 011011 00000 000000 11010 000000 0000 72 # CHECK: encoding: [0x6c,0x00,0x68,0x00] 73 ncaget r0, rfsl0 74 75 # CHECK: taget 76 # BINARY: 011011 00000 000000 00110 000000 0000 77 # CHECK: encoding: [0x6c,0x00,0x18,0x00] 78 taget r0, rfsl0 79 80 # CHECK: tnaget 81 # BINARY: 011011 00000 000000 10110 000000 0000 82 # CHECK: encoding: [0x6c,0x00,0x58,0x00] 83 tnaget r0, rfsl0 84 85 # CHECK: tcaget 86 # BINARY: 011011 00000 000000 01110 000000 0000 87 # CHECK: encoding: [0x6c,0x00,0x38,0x00] 88 tcaget r0, rfsl0 89 90 # CHECK: tncaget 91 # BINARY: 011011 00000 000000 11110 000000 0000 92 # CHECK: encoding: [0x6c,0x00,0x78,0x00] 93 tncaget r0, rfsl0 94 95 # CHECK: eget 96 # BINARY: 011011 00000 000000 00001 000000 0000 97 # CHECK: encoding: [0x6c,0x00,0x04,0x00] 98 eget r0, rfsl0 99 100 # CHECK: neget 101 # BINARY: 011011 00000 000000 10001 000000 0000 102 # CHECK: encoding: [0x6c,0x00,0x44,0x00] 103 neget r0, rfsl0 104 105 # CHECK: ecget 106 # BINARY: 011011 00000 000000 01001 000000 0000 107 # CHECK: encoding: [0x6c,0x00,0x24,0x00] 108 ecget r0, rfsl0 109 110 # CHECK: necget 111 # BINARY: 011011 00000 000000 11001 000000 0000 112 # CHECK: encoding: [0x6c,0x00,0x64,0x00] 113 necget r0, rfsl0 114 115 # CHECK: teget 116 # BINARY: 011011 00000 000000 00101 000000 0000 117 # CHECK: encoding: [0x6c,0x00,0x14,0x00] 118 teget r0, rfsl0 119 120 # CHECK: tneget 121 # BINARY: 011011 00000 000000 10101 000000 0000 122 # CHECK: encoding: [0x6c,0x00,0x54,0x00] 123 tneget r0, rfsl0 124 125 # CHECK: tecget 126 # BINARY: 011011 00000 000000 01101 000000 0000 127 # CHECK: encoding: [0x6c,0x00,0x34,0x00] 128 tecget r0, rfsl0 129 130 # CHECK: tnecget 131 # BINARY: 011011 00000 000000 11101 000000 0000 132 # CHECK: encoding: [0x6c,0x00,0x74,0x00] 133 tnecget r0, rfsl0 134 135 # CHECK: eaget 136 # BINARY: 011011 00000 000000 00011 000000 0000 137 # CHECK: encoding: [0x6c,0x00,0x0c,0x00] 138 eaget r0, rfsl0 139 140 # CHECK: neaget 141 # BINARY: 011011 00000 000000 10011 000000 0000 142 # CHECK: encoding: [0x6c,0x00,0x4c,0x00] 143 neaget r0, rfsl0 144 145 # CHECK: ecaget 146 # BINARY: 011011 00000 000000 01011 000000 0000 147 # CHECK: encoding: [0x6c,0x00,0x2c,0x00] 148 ecaget r0, rfsl0 149 150 # CHECK: necaget 151 # BINARY: 011011 00000 000000 11011 000000 0000 152 # CHECK: encoding: [0x6c,0x00,0x6c,0x00] 153 necaget r0, rfsl0 154 155 # CHECK: teaget 156 # BINARY: 011011 00000 000000 00111 000000 0000 157 # CHECK: encoding: [0x6c,0x00,0x1c,0x00] 158 teaget r0, rfsl0 159 160 # CHECK: tneaget 161 # BINARY: 011011 00000 000000 10111 000000 0000 162 # CHECK: encoding: [0x6c,0x00,0x5c,0x00] 163 tneaget r0, rfsl0 164 165 # CHECK: tecaget 166 # BINARY: 011011 00000 000000 01111 000000 0000 167 # CHECK: encoding: [0x6c,0x00,0x3c,0x00] 168 tecaget r0, rfsl0 169 170 # CHECK: tnecaget 171 # BINARY: 011011 00000 000000 11111 000000 0000 172 # CHECK: encoding: [0x6c,0x00,0x7c,0x00] 173 tnecaget r0, rfsl0 174 175 # CHECK: getd 176 # BINARY: 010011 00000 00000 00001 0 00000 00000 177 # CHECK: encoding: [0x4c,0x00,0x08,0x00] 178 getd r0, r1 179 180 # CHECK: ngetd 181 # BINARY: 010011 00000 00000 00001 0 10000 00000 182 # CHECK: encoding: [0x4c,0x00,0x0a,0x00] 183 ngetd r0, r1 184 185 # CHECK: cgetd 186 # BINARY: 010011 00000 00000 00001 0 01000 00000 187 # CHECK: encoding: [0x4c,0x00,0x09,0x00] 188 cgetd r0, r1 189 190 # CHECK: ncgetd 191 # BINARY: 010011 00000 00000 00001 0 11000 00000 192 # CHECK: encoding: [0x4c,0x00,0x0b,0x00] 193 ncgetd r0, r1 194 195 # CHECK: tgetd 196 # BINARY: 010011 00000 00000 00001 0 00100 00000 197 # CHECK: encoding: [0x4c,0x00,0x08,0x80] 198 tgetd r0, r1 199 200 # CHECK: tngetd 201 # BINARY: 010011 00000 00000 00001 0 10100 00000 202 # CHECK: encoding: [0x4c,0x00,0x0a,0x80] 203 tngetd r0, r1 204 205 # CHECK: tcgetd 206 # BINARY: 010011 00000 00000 00001 0 01100 00000 207 # CHECK: encoding: [0x4c,0x00,0x09,0x80] 208 tcgetd r0, r1 209 210 # CHECK: tncgetd 211 # BINARY: 010011 00000 00000 00001 0 11100 00000 212 # CHECK: encoding: [0x4c,0x00,0x0b,0x80] 213 tncgetd r0, r1 214 215 # CHECK: agetd 216 # BINARY: 010011 00000 00000 00001 0 00010 00000 217 # CHECK: encoding: [0x4c,0x00,0x08,0x40] 218 agetd r0, r1 219 220 # CHECK: nagetd 221 # BINARY: 010011 00000 00000 00001 0 10010 00000 222 # CHECK: encoding: [0x4c,0x00,0x0a,0x40] 223 nagetd r0, r1 224 225 # CHECK: cagetd 226 # BINARY: 010011 00000 00000 00001 0 01010 00000 227 # CHECK: encoding: [0x4c,0x00,0x09,0x40] 228 cagetd r0, r1 229 230 # CHECK: ncagetd 231 # BINARY: 010011 00000 00000 00001 0 11010 00000 232 # CHECK: encoding: [0x4c,0x00,0x0b,0x40] 233 ncagetd r0, r1 234 235 # CHECK: tagetd 236 # BINARY: 010011 00000 00000 00001 0 00110 00000 237 # CHECK: encoding: [0x4c,0x00,0x08,0xc0] 238 tagetd r0, r1 239 240 # CHECK: tnagetd 241 # BINARY: 010011 00000 00000 00001 0 10110 00000 242 # CHECK: encoding: [0x4c,0x00,0x0a,0xc0] 243 tnagetd r0, r1 244 245 # CHECK: tcagetd 246 # BINARY: 010011 00000 00000 00001 0 01110 00000 247 # CHECK: encoding: [0x4c,0x00,0x09,0xc0] 248 tcagetd r0, r1 249 250 # CHECK: tncagetd 251 # BINARY: 010011 00000 00000 00001 0 11110 00000 252 # CHECK: encoding: [0x4c,0x00,0x0b,0xc0] 253 tncagetd r0, r1 254 255 # CHECK: egetd 256 # BINARY: 010011 00000 00000 00001 0 00001 00000 257 # CHECK: encoding: [0x4c,0x00,0x08,0x20] 258 egetd r0, r1 259 260 # CHECK: negetd 261 # BINARY: 010011 00000 00000 00001 0 10001 00000 262 # CHECK: encoding: [0x4c,0x00,0x0a,0x20] 263 negetd r0, r1 264 265 # CHECK: ecgetd 266 # BINARY: 010011 00000 00000 00001 0 01001 00000 267 # CHECK: encoding: [0x4c,0x00,0x09,0x20] 268 ecgetd r0, r1 269 270 # CHECK: necgetd 271 # BINARY: 010011 00000 00000 00001 0 11001 00000 272 # CHECK: encoding: [0x4c,0x00,0x0b,0x20] 273 necgetd r0, r1 274 275 # CHECK: tegetd 276 # BINARY: 010011 00000 00000 00001 0 00101 00000 277 # CHECK: encoding: [0x4c,0x00,0x08,0xa0] 278 tegetd r0, r1 279 280 # CHECK: tnegetd 281 # BINARY: 010011 00000 00000 00001 0 10101 00000 282 # CHECK: encoding: [0x4c,0x00,0x0a,0xa0] 283 tnegetd r0, r1 284 285 # CHECK: tecgetd 286 # BINARY: 010011 00000 00000 00001 0 01101 00000 287 # CHECK: encoding: [0x4c,0x00,0x09,0xa0] 288 tecgetd r0, r1 289 290 # CHECK: tnecgetd 291 # BINARY: 010011 00000 00000 00001 0 11101 00000 292 # CHECK: encoding: [0x4c,0x00,0x0b,0xa0] 293 tnecgetd r0, r1 294 295 # CHECK: eagetd 296 # BINARY: 010011 00000 00000 00001 0 00011 00000 297 # CHECK: encoding: [0x4c,0x00,0x08,0x60] 298 eagetd r0, r1 299 300 # CHECK: neagetd 301 # BINARY: 010011 00000 00000 00001 0 10011 00000 302 # CHECK: encoding: [0x4c,0x00,0x0a,0x60] 303 neagetd r0, r1 304 305 # CHECK: ecagetd 306 # BINARY: 010011 00000 00000 00001 0 01011 00000 307 # CHECK: encoding: [0x4c,0x00,0x09,0x60] 308 ecagetd r0, r1 309 310 # CHECK: necagetd 311 # BINARY: 010011 00000 00000 00001 0 11011 00000 312 # CHECK: encoding: [0x4c,0x00,0x0b,0x60] 313 necagetd r0, r1 314 315 # CHECK: teagetd 316 # BINARY: 010011 00000 00000 00001 0 00111 00000 317 # CHECK: encoding: [0x4c,0x00,0x08,0xe0] 318 teagetd r0, r1 319 320 # CHECK: tneagetd 321 # BINARY: 010011 00000 00000 00001 0 10111 00000 322 # CHECK: encoding: [0x4c,0x00,0x0a,0xe0] 323 tneagetd r0, r1 324 325 # CHECK: tecagetd 326 # BINARY: 010011 00000 00000 00001 0 01111 00000 327 # CHECK: encoding: [0x4c,0x00,0x09,0xe0] 328 tecagetd r0, r1 329 330 # CHECK: tnecagetd 331 # BINARY: 010011 00000 00000 00001 0 11111 00000 332 # CHECK: encoding: [0x4c,0x00,0x0b,0xe0] 333 tnecagetd r0, r1 334 335 # CHECK: put 336 # BINARY: 011011 00000 00000 1 0000 0000000 0000 337 # CHECK: encoding: [0x6c,0x00,0x80,0x00] 338 put r0, rfsl0 339 340 # CHECK: aput 341 # BINARY: 011011 00000 00000 1 0001 0000000 0000 342 # CHECK: encoding: [0x6c,0x00,0x88,0x00] 343 aput r0, rfsl0 344 345 # CHECK: cput 346 # BINARY: 011011 00000 00000 1 0100 0000000 0000 347 # CHECK: encoding: [0x6c,0x00,0xa0,0x00] 348 cput r0, rfsl0 349 350 # CHECK: caput 351 # BINARY: 011011 00000 00000 1 0101 0000000 0000 352 # CHECK: encoding: [0x6c,0x00,0xa8,0x00] 353 caput r0, rfsl0 354 355 # CHECK: nput 356 # BINARY: 011011 00000 00000 1 1000 0000000 0000 357 # CHECK: encoding: [0x6c,0x00,0xc0,0x00] 358 nput r0, rfsl0 359 360 # CHECK: naput 361 # BINARY: 011011 00000 00000 1 1001 0000000 0000 362 # CHECK: encoding: [0x6c,0x00,0xc8,0x00] 363 naput r0, rfsl0 364 365 # CHECK: ncput 366 # BINARY: 011011 00000 00000 1 1100 0000000 0000 367 # CHECK: encoding: [0x6c,0x00,0xe0,0x00] 368 ncput r0, rfsl0 369 370 # CHECK: ncaput 371 # BINARY: 011011 00000 00000 1 1101 0000000 0000 372 # CHECK: encoding: [0x6c,0x00,0xe8,0x00] 373 ncaput r0, rfsl0 374 375 # CHECK: tput 376 # BINARY: 011011 00000 00000 1 0010 0000000 0000 377 # CHECK: encoding: [0x6c,0x00,0x90,0x00] 378 tput rfsl0 379 380 # CHECK: taput 381 # BINARY: 011011 00000 00000 1 0011 0000000 0000 382 # CHECK: encoding: [0x6c,0x00,0x98,0x00] 383 taput rfsl0 384 385 # CHECK: tcput 386 # BINARY: 011011 00000 00000 1 0110 0000000 0000 387 # CHECK: encoding: [0x6c,0x00,0xb0,0x00] 388 tcput rfsl0 389 390 # CHECK: tcaput 391 # BINARY: 011011 00000 00000 1 0111 0000000 0000 392 # CHECK: encoding: [0x6c,0x00,0xb8,0x00] 393 tcaput rfsl0 394 395 # CHECK: tnput 396 # BINARY: 011011 00000 00000 1 1010 0000000 0000 397 # CHECK: encoding: [0x6c,0x00,0xd0,0x00] 398 tnput rfsl0 399 400 # CHECK: tnaput 401 # BINARY: 011011 00000 00000 1 1011 0000000 0000 402 # CHECK: encoding: [0x6c,0x00,0xd8,0x00] 403 tnaput rfsl0 404 405 # CHECK: tncput 406 # BINARY: 011011 00000 00000 1 1110 0000000 0000 407 # CHECK: encoding: [0x6c,0x00,0xf0,0x00] 408 tncput rfsl0 409 410 # CHECK: tncaput 411 # BINARY: 011011 00000 00000 1 1111 0000000 0000 412 # CHECK: encoding: [0x6c,0x00,0xf8,0x00] 413 tncaput rfsl0 414 415 # CHECK: putd 416 # BINARY: 010011 00000 00000 00001 1 0000 000000 417 # CHECK: encoding: [0x4c,0x00,0x0c,0x00] 418 putd r0, r1 419 420 # CHECK: aputd 421 # BINARY: 010011 00000 00000 00001 1 0001 000000 422 # CHECK: encoding: [0x4c,0x00,0x0c,0x40] 423 aputd r0, r1 424 425 # CHECK: cputd 426 # BINARY: 010011 00000 00000 00001 1 0100 000000 427 # CHECK: encoding: [0x4c,0x00,0x0d,0x00] 428 cputd r0, r1 429 430 # CHECK: caputd 431 # BINARY: 010011 00000 00000 00001 1 0101 000000 432 # CHECK: encoding: [0x4c,0x00,0x0d,0x40] 433 caputd r0, r1 434 435 # CHECK: nputd 436 # BINARY: 010011 00000 00000 00001 1 1000 000000 437 # CHECK: encoding: [0x4c,0x00,0x0e,0x00] 438 nputd r0, r1 439 440 # CHECK: naputd 441 # BINARY: 010011 00000 00000 00001 1 1001 000000 442 # CHECK: encoding: [0x4c,0x00,0x0e,0x40] 443 naputd r0, r1 444 445 # CHECK: ncputd 446 # BINARY: 010011 00000 00000 00001 1 1100 000000 447 # CHECK: encoding: [0x4c,0x00,0x0f,0x00] 448 ncputd r0, r1 449 450 # CHECK: ncaputd 451 # BINARY: 010011 00000 00000 00001 1 1101 000000 452 # CHECK: encoding: [0x4c,0x00,0x0f,0x40] 453 ncaputd r0, r1 454 455 # CHECK: tputd 456 # BINARY: 010011 00000 00000 00001 1 0010 000000 457 # CHECK: encoding: [0x4c,0x00,0x0c,0x80] 458 tputd r1 459 460 # CHECK: taputd 461 # BINARY: 010011 00000 00000 00001 1 0011 000000 462 # CHECK: encoding: [0x4c,0x00,0x0c,0xc0] 463 taputd r1 464 465 # CHECK: tcputd 466 # BINARY: 010011 00000 00000 00001 1 0110 000000 467 # CHECK: encoding: [0x4c,0x00,0x0d,0x80] 468 tcputd r1 469 470 # CHECK: tcaputd 471 # BINARY: 010011 00000 00000 00001 1 0111 000000 472 # CHECK: encoding: [0x4c,0x00,0x0d,0xc0] 473 tcaputd r1 474 475 # CHECK: tnputd 476 # BINARY: 010011 00000 00000 00001 1 1010 000000 477 # CHECK: encoding: [0x4c,0x00,0x0e,0x80] 478 tnputd r1 479 480 # CHECK: tnaputd 481 # BINARY: 010011 00000 00000 00001 1 1011 000000 482 # CHECK: encoding: [0x4c,0x00,0x0e,0xc0] 483 tnaputd r1 484 485 # CHECK: tncputd 486 # BINARY: 010011 00000 00000 00001 1 1110 000000 487 # CHECK: encoding: [0x4c,0x00,0x0f,0x80] 488 tncputd r1 489 490 # CHECK: tncaputd 491 # BINARY: 010011 00000 00000 00001 1 1111 000000 492 # CHECK: encoding: [0x4c,0x00,0x0f,0xc0] 493 tncaputd r1 494 495 # CHECK: get 496 # BINARY: 011011 00000 000000 00000 000000 0001 497 # CHECK: encoding: [0x6c,0x00,0x00,0x01] 498 get r0, rfsl1 499 500 # CHECK: get 501 # BINARY: 011011 00000 000000 00000 000000 0010 502 # CHECK: encoding: [0x6c,0x00,0x00,0x02] 503 get r0, rfsl2 504 505 # CHECK: get 506 # BINARY: 011011 00000 000000 00000 000000 0011 507 # CHECK: encoding: [0x6c,0x00,0x00,0x03] 508 get r0, rfsl3 509 510 # CHECK: get 511 # BINARY: 011011 00000 000000 00000 000000 0100 512 # CHECK: encoding: [0x6c,0x00,0x00,0x04] 513 get r0, rfsl4 514 515 # CHECK: get 516 # BINARY: 011011 00000 000000 00000 000000 0101 517 # CHECK: encoding: [0x6c,0x00,0x00,0x05] 518 get r0, rfsl5 519 520 # CHECK: get 521 # BINARY: 011011 00000 000000 00000 000000 0110 522 # CHECK: encoding: [0x6c,0x00,0x00,0x06] 523 get r0, rfsl6 524 525 # CHECK: get 526 # BINARY: 011011 00000 000000 00000 000000 0111 527 # CHECK: encoding: [0x6c,0x00,0x00,0x07] 528 get r0, rfsl7 529 530 # CHECK: get 531 # BINARY: 011011 00000 000000 00000 000000 1000 532 # CHECK: encoding: [0x6c,0x00,0x00,0x08] 533 get r0, rfsl8 534 535 # CHECK: get 536 # BINARY: 011011 00000 000000 00000 000000 1001 537 # CHECK: encoding: [0x6c,0x00,0x00,0x09] 538 get r0, rfsl9 539 540 # CHECK: get 541 # BINARY: 011011 00000 000000 00000 000000 1010 542 # CHECK: encoding: [0x6c,0x00,0x00,0x0a] 543 get r0, rfsl10 544 545 # CHECK: get 546 # BINARY: 011011 00000 000000 00000 000000 1011 547 # CHECK: encoding: [0x6c,0x00,0x00,0x0b] 548 get r0, rfsl11 549 550 # CHECK: get 551 # BINARY: 011011 00000 000000 00000 000000 1100 552 # CHECK: encoding: [0x6c,0x00,0x00,0x0c] 553 get r0, rfsl12 554 555 # CHECK: get 556 # BINARY: 011011 00000 000000 00000 000000 1101 557 # CHECK: encoding: [0x6c,0x00,0x00,0x0d] 558 get r0, rfsl13 559 560 # CHECK: get 561 # BINARY: 011011 00000 000000 00000 000000 1110 562 # CHECK: encoding: [0x6c,0x00,0x00,0x0e] 563 get r0, rfsl14 564 565 # CHECK: get 566 # BINARY: 011011 00000 000000 00000 000000 1111 567 # CHECK: encoding: [0x6c,0x00,0x00,0x0f] 568 get r0, rfsl15 569