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