1# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
2
3# Test to make sure that all of the TYPE-A instructions supported by
4# the Microblaze can be parsed by the assembly parser.
5
6# TYPE A:   OPCODE RD    RA    RB    FLAGS
7# BINARY:   000000 00000 00000 00000 00000000000
8
9# CHECK:    beq
10# BINARY:   100111 00000 00010 00011 00000000000
11# CHECK:    encoding: [0x9c,0x02,0x18,0x00]
12            beq     r2, r3
13
14# CHECK:    bge
15# BINARY:   100111 00101 00010 00011 00000000000
16# CHECK:    encoding: [0x9c,0xa2,0x18,0x00]
17            bge     r2, r3
18
19# CHECK:    bgt
20# BINARY:   100111 00100 00010 00011 00000000000
21# CHECK:    encoding: [0x9c,0x82,0x18,0x00]
22            bgt     r2, r3
23
24# CHECK:    ble
25# BINARY:   100111 00011 00010 00011 00000000000
26# CHECK:    encoding: [0x9c,0x62,0x18,0x00]
27            ble     r2, r3
28
29# CHECK:    blt
30# BINARY:   100111 00010 00010 00011 00000000000
31# CHECK:    encoding: [0x9c,0x42,0x18,0x00]
32            blt     r2, r3
33
34# CHECK:    bne
35# BINARY:   100111 00001 00010 00011 00000000000
36# CHECK:    encoding: [0x9c,0x22,0x18,0x00]
37            bne     r2, r3
38
39# CHECK:    beqd
40# BINARY:   100111 10000 00010 00011 00000000000
41# CHECK:    encoding: [0x9e,0x02,0x18,0x00]
42            beqd    r2, r3
43
44# CHECK:    bged
45# BINARY:   100111 10101 00010 00011 00000000000
46# CHECK:    encoding: [0x9e,0xa2,0x18,0x00]
47            bged    r2, r3
48
49# CHECK:    bgtd
50# BINARY:   100111 10100 00010 00011 00000000000
51# CHECK:    encoding: [0x9e,0x82,0x18,0x00]
52            bgtd    r2, r3
53
54# CHECK:    bled
55# BINARY:   100111 10011 00010 00011 00000000000
56# CHECK:    encoding: [0x9e,0x62,0x18,0x00]
57            bled    r2, r3
58
59# CHECK:    bltd
60# BINARY:   100111 10010 00010 00011 00000000000
61# CHECK:    encoding: [0x9e,0x42,0x18,0x00]
62            bltd    r2, r3
63
64# CHECK:    bned
65# BINARY:   100111 10001 00010 00011 00000000000
66# CHECK:    encoding: [0x9e,0x22,0x18,0x00]
67            bned    r2, r3
68
69# CHECK:    br
70# BINARY:   100110 00000 00000 00011 00000000000
71# CHECK:    encoding: [0x98,0x00,0x18,0x00]
72            br      r3
73
74# CHECK:    bra
75# BINARY:   100110 00000 01000 00011 00000000000
76# CHECK:    encoding: [0x98,0x08,0x18,0x00]
77            bra     r3
78
79# CHECK:    brd
80# BINARY:   100110 00000 10000 00011 00000000000
81# CHECK:    encoding: [0x98,0x10,0x18,0x00]
82            brd     r3
83
84# CHECK:    brad
85# BINARY:   100110 00000 11000 00011 00000000000
86# CHECK:    encoding: [0x98,0x18,0x18,0x00]
87            brad    r3
88
89# CHECK:    brld
90# BINARY:   100110 01111 10100 00011 00000000000
91# CHECK:    encoding: [0x99,0xf4,0x18,0x00]
92            brld    r15, r3
93
94# CHECK:    brald
95# BINARY:   100110 01111 11100 00011 00000000000
96# CHECK:    encoding: [0x99,0xfc,0x18,0x00]
97            brald   r15, r3
98
99# CHECK:    brk
100# BINARY:   100110 01111 01100 00011 00000000000
101# CHECK:    encoding: [0x99,0xec,0x18,0x00]
102            brk     r15, r3
103
104# CHECK:    beqi
105# BINARY:   101111 00000 00010 0000000000000000
106# CHECK:    encoding: [0xbc,0x02,0x00,0x00]
107            beqi    r2, 0
108
109# CHECK:    bgei
110# BINARY:   101111 00101 00010 0000000000000000
111# CHECK:    encoding: [0xbc,0xa2,0x00,0x00]
112            bgei    r2, 0
113
114# CHECK:    bgti
115# BINARY:   101111 00100 00010 0000000000000000
116# CHECK:    encoding: [0xbc,0x82,0x00,0x00]
117            bgti    r2, 0
118
119# CHECK:    blei
120# BINARY:   101111 00011 00010 0000000000000000
121# CHECK:    encoding: [0xbc,0x62,0x00,0x00]
122            blei    r2, 0
123
124# CHECK:    blti
125# BINARY:   101111 00010 00010 0000000000000000
126# CHECK:    encoding: [0xbc,0x42,0x00,0x00]
127            blti    r2, 0
128
129# CHECK:    bnei
130# BINARY:   101111 00001 00010 0000000000000000
131# CHECK:    encoding: [0xbc,0x22,0x00,0x00]
132            bnei    r2, 0
133
134# CHECK:    beqid
135# BINARY:   101111 10000 00010 0000000000000000
136# CHECK:    encoding: [0xbe,0x02,0x00,0x00]
137            beqid   r2, 0
138
139# CHECK:    bgeid
140# BINARY:   101111 10101 00010 0000000000000000
141# CHECK:    encoding: [0xbe,0xa2,0x00,0x00]
142            bgeid   r2, 0
143
144# CHECK:    bgtid
145# BINARY:   101111 10100 00010 0000000000000000
146# CHECK:    encoding: [0xbe,0x82,0x00,0x00]
147            bgtid   r2, 0
148
149# CHECK:    bleid
150# BINARY:   101111 10011 00010 0000000000000000
151# CHECK:    encoding: [0xbe,0x62,0x00,0x00]
152            bleid   r2, 0
153
154# CHECK:    bltid
155# BINARY:   101111 10010 00010 0000000000000000
156# CHECK:    encoding: [0xbe,0x42,0x00,0x00]
157            bltid   r2, 0
158
159# CHECK:    bneid
160# BINARY:   101111 10001 00010 0000000000000000
161# CHECK:    encoding: [0xbe,0x22,0x00,0x00]
162            bneid   r2, 0
163
164# CHECK:    bri
165# BINARY:   101110 00000 00000 0000000000000000
166# CHECK:    encoding: [0xb8,0x00,0x00,0x00]
167            bri     0
168
169# CHECK:    brai
170# BINARY:   101110 00000 01000 0000000000000000
171# CHECK:    encoding: [0xb8,0x08,0x00,0x00]
172            brai    0
173
174# CHECK:    brid
175# BINARY:   101110 00000 10000 0000000000000000
176# CHECK:    encoding: [0xb8,0x10,0x00,0x00]
177            brid    0
178
179# CHECK:    braid
180# BINARY:   101110 00000 11000 0000000000000000
181# CHECK:    encoding: [0xb8,0x18,0x00,0x00]
182            braid   0
183
184# CHECK:    brlid
185# BINARY:   101110 01111 10100 0000000000000000
186# CHECK:    encoding: [0xb9,0xf4,0x00,0x00]
187            brlid   r15, 0
188
189# CHECK:    bralid
190# BINARY:   101110 01111 11100 0000000000000000
191# CHECK:    encoding: [0xb9,0xfc,0x00,0x00]
192            bralid  r15, 0
193
194# CHECK:    brki
195# BINARY:   101110 01111 01100 0000000000000000
196# CHECK:    encoding: [0xb9,0xec,0x00,0x00]
197            brki    r15, 0
198