1# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
2
3# Test to make sure that all of the TYPE-B instructions supported by
4# the Microblaze can be parsed by the assembly parser.
5
6# TYPE B:   OPCODE RD    RA    IMMEDIATE
7#           000000 00000 00000 0000000000000000
8
9# CHECK:    addi
10# BINARY:   001000 00001 00010 0000000000001111
11# CHECK:    encoding: [0x20,0x22,0x00,0x0f]
12            addi    r1, r2, 0x000F
13
14# CHECK:    addic
15# BINARY:   001010 00001 00010 0000000000001111
16# CHECK:    encoding: [0x28,0x22,0x00,0x0f]
17            addic   r1, r2, 0x000F
18
19# CHECK:    addik
20# BINARY:   001100 00001 00010 0000000000001111
21# CHECK:    encoding: [0x30,0x22,0x00,0x0f]
22            addik   r1, r2, 0x000F
23
24# CHECK:    addikc
25# BINARY:   001110 00001 00010 0000000000001111
26# CHECK:    encoding: [0x38,0x22,0x00,0x0f]
27            addikc  r1, r2, 0x000F
28
29# CHECK:    andi
30# BINARY:   101001 00001 00010 0000000000001111
31# CHECK:    encoding: [0xa4,0x22,0x00,0x0f]
32            andi    r1, r2, 0x000F
33
34# CHECK:    andni
35# BINARY:   101011 00001 00010 0000000000001111
36# CHECK:    encoding: [0xac,0x22,0x00,0x0f]
37            andni   r1, r2, 0x000F
38
39# CHECK:    muli
40# BINARY:   011000 00001 00010 0000000000001111
41# CHECK:    encoding: [0x60,0x22,0x00,0x0f]
42            muli    r1, r2, 0x000F
43
44# CHECK:    ori
45# BINARY:   101000 00001 00010 0000000000001111
46# CHECK:    encoding: [0xa0,0x22,0x00,0x0f]
47            ori     r1, r2, 0x000F
48
49# CHECK:    rsubi
50# BINARY:   001001 00001 00010 0000000000001111
51# CHECK:    encoding: [0x24,0x22,0x00,0x0f]
52            rsubi   r1, r2, 0x000F
53
54# CHECK:    rsubic
55# BINARY:   001011 00001 00010 0000000000001111
56# CHECK:    encoding: [0x2c,0x22,0x00,0x0f]
57            rsubic  r1, r2, 0x000F
58
59# CHECK:    rsubik
60# BINARY:   001101 00001 00010 0000000000001111
61# CHECK:    encoding: [0x34,0x22,0x00,0x0f]
62            rsubik  r1, r2, 0x000F
63
64# CHECK:    rsubikc
65# BINARY:   001111 00001 00010 0000000000001111
66# CHECK:    encoding: [0x3c,0x22,0x00,0x0f]
67            rsubikc r1, r2, 0x000F
68
69# CHECK:    rtbd
70# BINARY:   101101 10010 01111 0000000000001111
71# CHECK:    encoding: [0xb6,0x4f,0x00,0x0f]
72            rtbd r15, 0x000F
73
74# CHECK:    rted
75# BINARY:   101101 10001 01111 0000000000001111
76# CHECK:    encoding: [0xb6,0x8f,0x00,0x0f]
77            rted r15, 0x000F
78
79# CHECK:    rtid
80# BINARY:   101101 10001 01111 0000000000001111
81# CHECK:    encoding: [0xb6,0x2f,0x00,0x0f]
82            rtid r15, 0x000F
83
84# CHECK:    rtsd
85# BINARY:   101101 10000 01111 0000000000001111
86# CHECK:    encoding: [0xb6,0x0f,0x00,0x0f]
87            rtsd r15, 0x000F
88
89# CHECK:    xori
90# BINARY:   101010 00001 00010 0000000000001111
91# CHECK:    encoding: [0xa8,0x22,0x00,0x0f]
92            xori r1, r2, 0x000F
93