1@ RUN: llvm-mc -disassemble -triple thumb -mcpu=cyclone %s | FileCheck %s
2
3[0xe0,0xf3,0x20,0x82]
4[0xe1,0xf3,0x20,0x83]
5[0xe2,0xf3,0x20,0x85]
6[0xe3,0xf3,0x20,0x87]
7[0xe4,0xf3,0x20,0x8b]
8[0xe5,0xf3,0x20,0x81]
9[0xe6,0xf3,0x20,0x82]
10@ CHECK:         mrs     r2, r8_usr
11@ CHECK:         mrs     r3, r9_usr
12@ CHECK:         mrs     r5, r10_usr
13@ CHECK:         mrs     r7, r11_usr
14@ CHECK:         mrs     r11, r12_usr
15@ CHECK:         mrs     r1, sp_usr
16@ CHECK:         mrs     r2, lr_usr
17
18[0xe8,0xf3,0x20,0x82]
19[0xe9,0xf3,0x20,0x83]
20[0xea,0xf3,0x20,0x85]
21[0xeb,0xf3,0x20,0x87]
22[0xec,0xf3,0x20,0x8b]
23[0xed,0xf3,0x20,0x81]
24[0xee,0xf3,0x20,0x82]
25[0xfe,0xf3,0x20,0x83]
26@ CHECK:         mrs     r2, r8_fiq
27@ CHECK:         mrs     r3, r9_fiq
28@ CHECK:         mrs     r5, r10_fiq
29@ CHECK:         mrs     r7, r11_fiq
30@ CHECK:         mrs     r11, r12_fiq
31@ CHECK:         mrs     r1, sp_fiq
32@ CHECK:         mrs     r2, lr_fiq
33@ CHECK:         mrs     r3, SPSR_fiq
34
35[0xe0,0xf3,0x30,0x84]
36[0xe1,0xf3,0x30,0x89]
37[0xf0,0xf3,0x30,0x81]
38@ CHECK:         mrs     r4, lr_irq
39@ CHECK:         mrs     r9, sp_irq
40@ CHECK:         mrs     r1, SPSR_irq
41
42[0xe2,0xf3,0x30,0x81]
43[0xe3,0xf3,0x30,0x83]
44[0xf2,0xf3,0x30,0x85]
45@ CHECK:         mrs     r1, lr_svc
46@ CHECK:         mrs     r3, sp_svc
47@ CHECK:         mrs     r5, SPSR_svc
48
49[0xe4,0xf3,0x30,0x85]
50[0xe5,0xf3,0x30,0x87]
51[0xf4,0xf3,0x30,0x89]
52@ CHECK:         mrs     r5, lr_abt
53@ CHECK:         mrs     r7, sp_abt
54@ CHECK:         mrs     r9, SPSR_abt
55
56[0xe6,0xf3,0x30,0x89]
57[0xe7,0xf3,0x30,0x8b]
58[0xf6,0xf3,0x30,0x8c]
59@ CHECK:         mrs     r9, lr_und
60@ CHECK:         mrs     r11, sp_und
61@ CHECK:         mrs     r12, SPSR_und
62
63
64[0xec,0xf3,0x30,0x82]
65[0xed,0xf3,0x30,0x84]
66[0xfc,0xf3,0x30,0x86]
67@ CHECK:         mrs     r2, lr_mon
68@ CHECK:         mrs     r4, sp_mon
69@ CHECK:         mrs     r6, SPSR_mon
70
71
72[0xee,0xf3,0x30,0x86]
73[0xef,0xf3,0x30,0x88]
74[0xfe,0xf3,0x30,0x8a]
75@ CHECK:         mrs     r6, elr_hyp
76@ CHECK:         mrs     r8, sp_hyp
77@ CHECK:         mrs     r10, SPSR_hyp
78
79
80[0x82,0xf3,0x20,0x80]
81[0x83,0xf3,0x20,0x81]
82[0x85,0xf3,0x20,0x82]
83[0x87,0xf3,0x20,0x83]
84[0x8b,0xf3,0x20,0x84]
85[0x81,0xf3,0x20,0x85]
86[0x82,0xf3,0x20,0x86]
87@ CHECK:         msr     r8_usr, r2
88@ CHECK:         msr     r9_usr, r3
89@ CHECK:         msr     r10_usr, r5
90@ CHECK:         msr     r11_usr, r7
91@ CHECK:         msr     r12_usr, r11
92@ CHECK:         msr     sp_usr, r1
93@ CHECK:         msr     lr_usr, r2
94
95[0x82,0xf3,0x20,0x88]
96[0x83,0xf3,0x20,0x89]
97[0x85,0xf3,0x20,0x8a]
98[0x87,0xf3,0x20,0x8b]
99[0x8b,0xf3,0x20,0x8c]
100[0x81,0xf3,0x20,0x8d]
101[0x82,0xf3,0x20,0x8e]
102[0x93,0xf3,0x20,0x8e]
103@ CHECK:         msr     r8_fiq, r2
104@ CHECK:         msr     r9_fiq, r3
105@ CHECK:         msr     r10_fiq, r5
106@ CHECK:         msr     r11_fiq, r7
107@ CHECK:         msr     r12_fiq, r11
108@ CHECK:         msr     sp_fiq, r1
109@ CHECK:         msr     lr_fiq, r2
110@ CHECK:        msr     SPSR_fiq, r3
111
112[0x84,0xf3,0x30,0x80]
113[0x89,0xf3,0x30,0x81]
114[0x9b,0xf3,0x30,0x80]
115@ CHECK:         msr     lr_irq, r4
116@ CHECK:         msr     sp_irq, r9
117@ CHECK:         msr     SPSR_irq, r11
118
119[0x81,0xf3,0x30,0x82]
120[0x83,0xf3,0x30,0x83]
121[0x95,0xf3,0x30,0x82]
122@ CHECK:         msr     lr_svc, r1
123@ CHECK:         msr     sp_svc, r3
124@ CHECK:         msr     SPSR_svc, r5
125
126[0x85,0xf3,0x30,0x84]
127[0x87,0xf3,0x30,0x85]
128[0x99,0xf3,0x30,0x84]
129@ CHECK:         msr     lr_abt, r5
130@ CHECK:         msr     sp_abt, r7
131@ CHECK:         msr     SPSR_abt, r9
132
133[0x89,0xf3,0x30,0x86]
134[0x8b,0xf3,0x30,0x87]
135[0x9c,0xf3,0x30,0x86]
136@ CHECK:         msr     lr_und, r9
137@ CHECK:         msr     sp_und, r11
138@ CHECK:         msr     SPSR_und, r12
139
140
141[0x82,0xf3,0x30,0x8c]
142[0x84,0xf3,0x30,0x8d]
143[0x96,0xf3,0x30,0x8c]
144@ CHECK:         msr     lr_mon, r2
145@ CHECK:         msr     sp_mon, r4
146@ CHECK:         msr     SPSR_mon, r6
147
148[0x86,0xf3,0x30,0x8e]
149[0x88,0xf3,0x30,0x8f]
150[0x9a,0xf3,0x30,0x8e]
151@ CHECK:         msr     elr_hyp, r6
152@ CHECK:         msr     sp_hyp, r8
153@ CHECK:         msr     SPSR_hyp, r10
154