1# RUN: llvm-mc -triple mblaze-unknown-unknown -show-encoding %s | FileCheck %s
2
3# Test to ensure that all special instructions and special registers can be
4# parsed by the assembly parser correctly.
5
6# TYPE A:   OPCODE RD    RA    RB    FLAGS
7# BINARY:   011011 00000 00000 00000 00000000000
8
9# CHECK:    mfs
10# BINARY:   100101 00000 00000 10000 00000000000
11# CHECK:    encoding: [0x94,0x00,0x80,0x00]
12            mfs         r0, rpc
13
14# CHECK:    msrclr
15# BINARY:   100101 00000 100010 000000000000000
16# CHECK:    encoding: [0x94,0x11,0x00,0x00]
17            msrclr      r0, 0x0
18
19# CHECK:    msrset
20# BINARY:   100101 00000 100000 000000000000000
21# CHECK:    encoding: [0x94,0x10,0x00,0x00]
22            msrset      r0, 0x0
23
24# CHECK:    mts
25# BINARY:   100101 00000 00000 11 00000000000000
26# CHECK:    encoding: [0x94,0x00,0xc0,0x00]
27            mts         rpc, r0
28
29# CHECK:    wdc
30# BINARY:   100100 00000 00000 00001 00001100100
31# CHECK:    encoding: [0x90,0x00,0x08,0x64]
32            wdc         r0, r1
33
34# CHECK:    wdc.clear
35# BINARY:   100100 00000 00000 00001 00001100110
36# CHECK:    encoding: [0x90,0x00,0x08,0x66]
37            wdc.clear   r0, r1
38
39# CHECK:    wdc.flush
40# BINARY:   100100 00000 00000 00001 00001110100
41# CHECK:    encoding: [0x90,0x00,0x08,0x74]
42            wdc.flush   r0, r1
43
44# CHECK:    wic
45# BINARY:   100100 00000 00000 00001 00001101000
46# CHECK:    encoding: [0x90,0x00,0x08,0x68]
47            wic         r0, r1
48
49# CHECK:    mfs
50# BINARY:   100101 00001 00000 10000 00000000000
51# CHECK:    encoding: [0x94,0x20,0x80,0x00]
52            mfs         r1, rpc
53
54# CHECK:    mfs
55# BINARY:   100101 00001 00000 10000 00000000001
56# CHECK:    encoding: [0x94,0x20,0x80,0x01]
57            mfs         r1, rmsr
58
59# CHECK:    mfs
60# BINARY:   100101 00001 00000 10000 00000000011
61# CHECK:    encoding: [0x94,0x20,0x80,0x03]
62            mfs         r1, rear
63
64# CHECK:    mfs
65# BINARY:   100101 00001 00000 10000 00000000101
66# CHECK:    encoding: [0x94,0x20,0x80,0x05]
67            mfs         r1, resr
68
69# CHECK:    mfs
70# BINARY:   100101 00001 00000 10000 00000000111
71# CHECK:    encoding: [0x94,0x20,0x80,0x07]
72            mfs         r1, rfsr
73
74# CHECK:    mfs
75# BINARY:   100101 00001 00000 10000 00000001011
76# CHECK:    encoding: [0x94,0x20,0x80,0x0b]
77            mfs         r1, rbtr
78
79# CHECK:    mfs
80# BINARY:   100101 00001 00000 10000 00000001101
81# CHECK:    encoding: [0x94,0x20,0x80,0x0d]
82            mfs         r1, redr
83
84# CHECK:    mfs
85# BINARY:   100101 00001 00000 10010 00000000000
86# CHECK:    encoding: [0x94,0x20,0x90,0x00]
87            mfs         r1, rpid
88
89# CHECK:    mfs
90# BINARY:   100101 00001 00000 10010 00000000001
91# CHECK:    encoding: [0x94,0x20,0x90,0x01]
92            mfs         r1, rzpr
93
94# CHECK:    mfs
95# BINARY:   100101 00001 00000 10010 00000000010
96# CHECK:    encoding: [0x94,0x20,0x90,0x02]
97            mfs         r1, rtlbx
98
99# CHECK:    mfs
100# BINARY:   100101 00001 00000 10010 00000000100
101# CHECK:    encoding: [0x94,0x20,0x90,0x04]
102            mfs         r1, rtlbhi
103
104# CHECK:    mfs
105# BINARY:   100101 00001 00000 10010 00000000011
106# CHECK:    encoding: [0x94,0x20,0x90,0x03]
107            mfs         r1, rtlblo
108
109# CHECK:    mfs
110# BINARY:   100101 00001 00000 10100 00000000000
111# CHECK:    encoding: [0x94,0x20,0xa0,0x00]
112            mfs         r1, rpvr0
113
114# CHECK:    mfs
115# BINARY:   100101 00001 00000 10100 00000000001
116# CHECK:    encoding: [0x94,0x20,0xa0,0x01]
117            mfs         r1, rpvr1
118
119# CHECK:    mfs
120# BINARY:   100101 00001 00000 10100 00000000010
121# CHECK:    encoding: [0x94,0x20,0xa0,0x02]
122            mfs         r1, rpvr2
123
124# CHECK:    mfs
125# BINARY:   100101 00001 00000 10100 00000000011
126# CHECK:    encoding: [0x94,0x20,0xa0,0x03]
127            mfs         r1, rpvr3
128
129# CHECK:    mfs
130# BINARY:   100101 00001 00000 10100 00000000100
131# CHECK:    encoding: [0x94,0x20,0xa0,0x04]
132            mfs         r1, rpvr4
133
134# CHECK:    mfs
135# BINARY:   100101 00001 00000 10100 00000000101
136# CHECK:    encoding: [0x94,0x20,0xa0,0x05]
137            mfs         r1, rpvr5
138
139# CHECK:    mfs
140# BINARY:   100101 00001 00000 10100 00000000110
141# CHECK:    encoding: [0x94,0x20,0xa0,0x06]
142            mfs         r1, rpvr6
143
144# CHECK:    mfs
145# BINARY:   100101 00001 00000 10100 00000000111
146# CHECK:    encoding: [0x94,0x20,0xa0,0x07]
147            mfs         r1, rpvr7
148
149# CHECK:    mfs
150# BINARY:   100101 00001 00000 10100 00000001000
151# CHECK:    encoding: [0x94,0x20,0xa0,0x08]
152            mfs         r1, rpvr8
153
154# CHECK:    mfs
155# BINARY:   100101 00001 00000 10100 00000001001
156# CHECK:    encoding: [0x94,0x20,0xa0,0x09]
157            mfs         r1, rpvr9
158
159# CHECK:    mfs
160# BINARY:   100101 00001 00000 10100 00000001010
161# CHECK:    encoding: [0x94,0x20,0xa0,0x0a]
162            mfs         r1, rpvr10
163
164# CHECK:    mfs
165# BINARY:   100101 00001 00000 10100 00000001011
166# CHECK:    encoding: [0x94,0x20,0xa0,0x0b]
167            mfs         r1, rpvr11
168