# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s # Test to ensure that all FSL immediate operands and FSL instructions # can be parsed by the assembly parser correctly. # TYPE F: OPCODE RD NCTAE FSL # BINARY: 011011 00000 000000 00000 000000 0000 # TYPE FD: OPCODE RD RB NCTAE # BINARY: 011011 00000 00000 00000 0 00000 00000 # TYPE FP: OPCODE RA NCTA FSL # 000000 00000 00000 1 0000 0000000 0000 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0000 # CHECK: encoding: [0x6c,0x00,0x00,0x00] get r0, rfsl0 # CHECK: nget # BINARY: 011011 00000 000000 10000 000000 0000 # CHECK: encoding: [0x6c,0x00,0x40,0x00] nget r0, rfsl0 # CHECK: cget # BINARY: 011011 00000 000000 01000 000000 0000 # CHECK: encoding: [0x6c,0x00,0x20,0x00] cget r0, rfsl0 # CHECK: ncget # BINARY: 011011 00000 000000 11000 000000 0000 # CHECK: encoding: [0x6c,0x00,0x60,0x00] ncget r0, rfsl0 # CHECK: tget # BINARY: 011011 00000 000000 00100 000000 0000 # CHECK: encoding: [0x6c,0x00,0x10,0x00] tget r0, rfsl0 # CHECK: tnget # BINARY: 011011 00000 000000 10100 000000 0000 # CHECK: encoding: [0x6c,0x00,0x50,0x00] tnget r0, rfsl0 # CHECK: tcget # BINARY: 011011 00000 000000 01100 000000 0000 # CHECK: encoding: [0x6c,0x00,0x30,0x00] tcget r0, rfsl0 # CHECK: tncget # BINARY: 011011 00000 000000 11100 000000 0000 # CHECK: encoding: [0x6c,0x00,0x70,0x00] tncget r0, rfsl0 # CHECK: aget # BINARY: 011011 00000 000000 00010 000000 0000 # CHECK: encoding: [0x6c,0x00,0x08,0x00] aget r0, rfsl0 # CHECK: naget # BINARY: 011011 00000 000000 10010 000000 0000 # CHECK: encoding: [0x6c,0x00,0x48,0x00] naget r0, rfsl0 # CHECK: caget # BINARY: 011011 00000 000000 01010 000000 0000 # CHECK: encoding: [0x6c,0x00,0x28,0x00] caget r0, rfsl0 # CHECK: ncaget # BINARY: 011011 00000 000000 11010 000000 0000 # CHECK: encoding: [0x6c,0x00,0x68,0x00] ncaget r0, rfsl0 # CHECK: taget # BINARY: 011011 00000 000000 00110 000000 0000 # CHECK: encoding: [0x6c,0x00,0x18,0x00] taget r0, rfsl0 # CHECK: tnaget # BINARY: 011011 00000 000000 10110 000000 0000 # CHECK: encoding: [0x6c,0x00,0x58,0x00] tnaget r0, rfsl0 # CHECK: tcaget # BINARY: 011011 00000 000000 01110 000000 0000 # CHECK: encoding: [0x6c,0x00,0x38,0x00] tcaget r0, rfsl0 # CHECK: tncaget # BINARY: 011011 00000 000000 11110 000000 0000 # CHECK: encoding: [0x6c,0x00,0x78,0x00] tncaget r0, rfsl0 # CHECK: eget # BINARY: 011011 00000 000000 00001 000000 0000 # CHECK: encoding: [0x6c,0x00,0x04,0x00] eget r0, rfsl0 # CHECK: neget # BINARY: 011011 00000 000000 10001 000000 0000 # CHECK: encoding: [0x6c,0x00,0x44,0x00] neget r0, rfsl0 # CHECK: ecget # BINARY: 011011 00000 000000 01001 000000 0000 # CHECK: encoding: [0x6c,0x00,0x24,0x00] ecget r0, rfsl0 # CHECK: necget # BINARY: 011011 00000 000000 11001 000000 0000 # CHECK: encoding: [0x6c,0x00,0x64,0x00] necget r0, rfsl0 # CHECK: teget # BINARY: 011011 00000 000000 00101 000000 0000 # CHECK: encoding: [0x6c,0x00,0x14,0x00] teget r0, rfsl0 # CHECK: tneget # BINARY: 011011 00000 000000 10101 000000 0000 # CHECK: encoding: [0x6c,0x00,0x54,0x00] tneget r0, rfsl0 # CHECK: tecget # BINARY: 011011 00000 000000 01101 000000 0000 # CHECK: encoding: [0x6c,0x00,0x34,0x00] tecget r0, rfsl0 # CHECK: tnecget # BINARY: 011011 00000 000000 11101 000000 0000 # CHECK: encoding: [0x6c,0x00,0x74,0x00] tnecget r0, rfsl0 # CHECK: eaget # BINARY: 011011 00000 000000 00011 000000 0000 # CHECK: encoding: [0x6c,0x00,0x0c,0x00] eaget r0, rfsl0 # CHECK: neaget # BINARY: 011011 00000 000000 10011 000000 0000 # CHECK: encoding: [0x6c,0x00,0x4c,0x00] neaget r0, rfsl0 # CHECK: ecaget # BINARY: 011011 00000 000000 01011 000000 0000 # CHECK: encoding: [0x6c,0x00,0x2c,0x00] ecaget r0, rfsl0 # CHECK: necaget # BINARY: 011011 00000 000000 11011 000000 0000 # CHECK: encoding: [0x6c,0x00,0x6c,0x00] necaget r0, rfsl0 # CHECK: teaget # BINARY: 011011 00000 000000 00111 000000 0000 # CHECK: encoding: [0x6c,0x00,0x1c,0x00] teaget r0, rfsl0 # CHECK: tneaget # BINARY: 011011 00000 000000 10111 000000 0000 # CHECK: encoding: [0x6c,0x00,0x5c,0x00] tneaget r0, rfsl0 # CHECK: tecaget # BINARY: 011011 00000 000000 01111 000000 0000 # CHECK: encoding: [0x6c,0x00,0x3c,0x00] tecaget r0, rfsl0 # CHECK: tnecaget # BINARY: 011011 00000 000000 11111 000000 0000 # CHECK: encoding: [0x6c,0x00,0x7c,0x00] tnecaget r0, rfsl0 # CHECK: getd # BINARY: 010011 00000 00000 00001 0 00000 00000 # CHECK: encoding: [0x4c,0x00,0x08,0x00] getd r0, r1 # CHECK: ngetd # BINARY: 010011 00000 00000 00001 0 10000 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0x00] ngetd r0, r1 # CHECK: cgetd # BINARY: 010011 00000 00000 00001 0 01000 00000 # CHECK: encoding: [0x4c,0x00,0x09,0x00] cgetd r0, r1 # CHECK: ncgetd # BINARY: 010011 00000 00000 00001 0 11000 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0x00] ncgetd r0, r1 # CHECK: tgetd # BINARY: 010011 00000 00000 00001 0 00100 00000 # CHECK: encoding: [0x4c,0x00,0x08,0x80] tgetd r0, r1 # CHECK: tngetd # BINARY: 010011 00000 00000 00001 0 10100 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0x80] tngetd r0, r1 # CHECK: tcgetd # BINARY: 010011 00000 00000 00001 0 01100 00000 # CHECK: encoding: [0x4c,0x00,0x09,0x80] tcgetd r0, r1 # CHECK: tncgetd # BINARY: 010011 00000 00000 00001 0 11100 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0x80] tncgetd r0, r1 # CHECK: agetd # BINARY: 010011 00000 00000 00001 0 00010 00000 # CHECK: encoding: [0x4c,0x00,0x08,0x40] agetd r0, r1 # CHECK: nagetd # BINARY: 010011 00000 00000 00001 0 10010 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0x40] nagetd r0, r1 # CHECK: cagetd # BINARY: 010011 00000 00000 00001 0 01010 00000 # CHECK: encoding: [0x4c,0x00,0x09,0x40] cagetd r0, r1 # CHECK: ncagetd # BINARY: 010011 00000 00000 00001 0 11010 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0x40] ncagetd r0, r1 # CHECK: tagetd # BINARY: 010011 00000 00000 00001 0 00110 00000 # CHECK: encoding: [0x4c,0x00,0x08,0xc0] tagetd r0, r1 # CHECK: tnagetd # BINARY: 010011 00000 00000 00001 0 10110 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0xc0] tnagetd r0, r1 # CHECK: tcagetd # BINARY: 010011 00000 00000 00001 0 01110 00000 # CHECK: encoding: [0x4c,0x00,0x09,0xc0] tcagetd r0, r1 # CHECK: tncagetd # BINARY: 010011 00000 00000 00001 0 11110 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0xc0] tncagetd r0, r1 # CHECK: egetd # BINARY: 010011 00000 00000 00001 0 00001 00000 # CHECK: encoding: [0x4c,0x00,0x08,0x20] egetd r0, r1 # CHECK: negetd # BINARY: 010011 00000 00000 00001 0 10001 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0x20] negetd r0, r1 # CHECK: ecgetd # BINARY: 010011 00000 00000 00001 0 01001 00000 # CHECK: encoding: [0x4c,0x00,0x09,0x20] ecgetd r0, r1 # CHECK: necgetd # BINARY: 010011 00000 00000 00001 0 11001 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0x20] necgetd r0, r1 # CHECK: tegetd # BINARY: 010011 00000 00000 00001 0 00101 00000 # CHECK: encoding: [0x4c,0x00,0x08,0xa0] tegetd r0, r1 # CHECK: tnegetd # BINARY: 010011 00000 00000 00001 0 10101 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0xa0] tnegetd r0, r1 # CHECK: tecgetd # BINARY: 010011 00000 00000 00001 0 01101 00000 # CHECK: encoding: [0x4c,0x00,0x09,0xa0] tecgetd r0, r1 # CHECK: tnecgetd # BINARY: 010011 00000 00000 00001 0 11101 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0xa0] tnecgetd r0, r1 # CHECK: eagetd # BINARY: 010011 00000 00000 00001 0 00011 00000 # CHECK: encoding: [0x4c,0x00,0x08,0x60] eagetd r0, r1 # CHECK: neagetd # BINARY: 010011 00000 00000 00001 0 10011 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0x60] neagetd r0, r1 # CHECK: ecagetd # BINARY: 010011 00000 00000 00001 0 01011 00000 # CHECK: encoding: [0x4c,0x00,0x09,0x60] ecagetd r0, r1 # CHECK: necagetd # BINARY: 010011 00000 00000 00001 0 11011 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0x60] necagetd r0, r1 # CHECK: teagetd # BINARY: 010011 00000 00000 00001 0 00111 00000 # CHECK: encoding: [0x4c,0x00,0x08,0xe0] teagetd r0, r1 # CHECK: tneagetd # BINARY: 010011 00000 00000 00001 0 10111 00000 # CHECK: encoding: [0x4c,0x00,0x0a,0xe0] tneagetd r0, r1 # CHECK: tecagetd # BINARY: 010011 00000 00000 00001 0 01111 00000 # CHECK: encoding: [0x4c,0x00,0x09,0xe0] tecagetd r0, r1 # CHECK: tnecagetd # BINARY: 010011 00000 00000 00001 0 11111 00000 # CHECK: encoding: [0x4c,0x00,0x0b,0xe0] tnecagetd r0, r1 # CHECK: put # BINARY: 011011 00000 00000 1 0000 0000000 0000 # CHECK: encoding: [0x6c,0x00,0x80,0x00] put r0, rfsl0 # CHECK: aput # BINARY: 011011 00000 00000 1 0001 0000000 0000 # CHECK: encoding: [0x6c,0x00,0x88,0x00] aput r0, rfsl0 # CHECK: cput # BINARY: 011011 00000 00000 1 0100 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xa0,0x00] cput r0, rfsl0 # CHECK: caput # BINARY: 011011 00000 00000 1 0101 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xa8,0x00] caput r0, rfsl0 # CHECK: nput # BINARY: 011011 00000 00000 1 1000 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xc0,0x00] nput r0, rfsl0 # CHECK: naput # BINARY: 011011 00000 00000 1 1001 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xc8,0x00] naput r0, rfsl0 # CHECK: ncput # BINARY: 011011 00000 00000 1 1100 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xe0,0x00] ncput r0, rfsl0 # CHECK: ncaput # BINARY: 011011 00000 00000 1 1101 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xe8,0x00] ncaput r0, rfsl0 # CHECK: tput # BINARY: 011011 00000 00000 1 0010 0000000 0000 # CHECK: encoding: [0x6c,0x00,0x90,0x00] tput rfsl0 # CHECK: taput # BINARY: 011011 00000 00000 1 0011 0000000 0000 # CHECK: encoding: [0x6c,0x00,0x98,0x00] taput rfsl0 # CHECK: tcput # BINARY: 011011 00000 00000 1 0110 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xb0,0x00] tcput rfsl0 # CHECK: tcaput # BINARY: 011011 00000 00000 1 0111 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xb8,0x00] tcaput rfsl0 # CHECK: tnput # BINARY: 011011 00000 00000 1 1010 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xd0,0x00] tnput rfsl0 # CHECK: tnaput # BINARY: 011011 00000 00000 1 1011 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xd8,0x00] tnaput rfsl0 # CHECK: tncput # BINARY: 011011 00000 00000 1 1110 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xf0,0x00] tncput rfsl0 # CHECK: tncaput # BINARY: 011011 00000 00000 1 1111 0000000 0000 # CHECK: encoding: [0x6c,0x00,0xf8,0x00] tncaput rfsl0 # CHECK: putd # BINARY: 010011 00000 00000 00001 1 0000 000000 # CHECK: encoding: [0x4c,0x00,0x0c,0x00] putd r0, r1 # CHECK: aputd # BINARY: 010011 00000 00000 00001 1 0001 000000 # CHECK: encoding: [0x4c,0x00,0x0c,0x40] aputd r0, r1 # CHECK: cputd # BINARY: 010011 00000 00000 00001 1 0100 000000 # CHECK: encoding: [0x4c,0x00,0x0d,0x00] cputd r0, r1 # CHECK: caputd # BINARY: 010011 00000 00000 00001 1 0101 000000 # CHECK: encoding: [0x4c,0x00,0x0d,0x40] caputd r0, r1 # CHECK: nputd # BINARY: 010011 00000 00000 00001 1 1000 000000 # CHECK: encoding: [0x4c,0x00,0x0e,0x00] nputd r0, r1 # CHECK: naputd # BINARY: 010011 00000 00000 00001 1 1001 000000 # CHECK: encoding: [0x4c,0x00,0x0e,0x40] naputd r0, r1 # CHECK: ncputd # BINARY: 010011 00000 00000 00001 1 1100 000000 # CHECK: encoding: [0x4c,0x00,0x0f,0x00] ncputd r0, r1 # CHECK: ncaputd # BINARY: 010011 00000 00000 00001 1 1101 000000 # CHECK: encoding: [0x4c,0x00,0x0f,0x40] ncaputd r0, r1 # CHECK: tputd # BINARY: 010011 00000 00000 00001 1 0010 000000 # CHECK: encoding: [0x4c,0x00,0x0c,0x80] tputd r1 # CHECK: taputd # BINARY: 010011 00000 00000 00001 1 0011 000000 # CHECK: encoding: [0x4c,0x00,0x0c,0xc0] taputd r1 # CHECK: tcputd # BINARY: 010011 00000 00000 00001 1 0110 000000 # CHECK: encoding: [0x4c,0x00,0x0d,0x80] tcputd r1 # CHECK: tcaputd # BINARY: 010011 00000 00000 00001 1 0111 000000 # CHECK: encoding: [0x4c,0x00,0x0d,0xc0] tcaputd r1 # CHECK: tnputd # BINARY: 010011 00000 00000 00001 1 1010 000000 # CHECK: encoding: [0x4c,0x00,0x0e,0x80] tnputd r1 # CHECK: tnaputd # BINARY: 010011 00000 00000 00001 1 1011 000000 # CHECK: encoding: [0x4c,0x00,0x0e,0xc0] tnaputd r1 # CHECK: tncputd # BINARY: 010011 00000 00000 00001 1 1110 000000 # CHECK: encoding: [0x4c,0x00,0x0f,0x80] tncputd r1 # CHECK: tncaputd # BINARY: 010011 00000 00000 00001 1 1111 000000 # CHECK: encoding: [0x4c,0x00,0x0f,0xc0] tncaputd r1 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0001 # CHECK: encoding: [0x6c,0x00,0x00,0x01] get r0, rfsl1 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0010 # CHECK: encoding: [0x6c,0x00,0x00,0x02] get r0, rfsl2 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0011 # CHECK: encoding: [0x6c,0x00,0x00,0x03] get r0, rfsl3 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0100 # CHECK: encoding: [0x6c,0x00,0x00,0x04] get r0, rfsl4 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0101 # CHECK: encoding: [0x6c,0x00,0x00,0x05] get r0, rfsl5 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0110 # CHECK: encoding: [0x6c,0x00,0x00,0x06] get r0, rfsl6 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 0111 # CHECK: encoding: [0x6c,0x00,0x00,0x07] get r0, rfsl7 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1000 # CHECK: encoding: [0x6c,0x00,0x00,0x08] get r0, rfsl8 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1001 # CHECK: encoding: [0x6c,0x00,0x00,0x09] get r0, rfsl9 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1010 # CHECK: encoding: [0x6c,0x00,0x00,0x0a] get r0, rfsl10 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1011 # CHECK: encoding: [0x6c,0x00,0x00,0x0b] get r0, rfsl11 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1100 # CHECK: encoding: [0x6c,0x00,0x00,0x0c] get r0, rfsl12 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1101 # CHECK: encoding: [0x6c,0x00,0x00,0x0d] get r0, rfsl13 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1110 # CHECK: encoding: [0x6c,0x00,0x00,0x0e] get r0, rfsl14 # CHECK: get # BINARY: 011011 00000 000000 00000 000000 1111 # CHECK: encoding: [0x6c,0x00,0x00,0x0f] get r0, rfsl15