Teach the MBlaze asm parser how to parse special purpose register names.
[oota-llvm.git] / test / MC / MBlaze / mblaze_special.s
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