| @ RUN: llvm-mc -disassemble -triple thumb -mcpu=cyclone %s | FileCheck %s | 
 |  | 
 | [0xe0,0xf3,0x20,0x82] | 
 | [0xe1,0xf3,0x20,0x83] | 
 | [0xe2,0xf3,0x20,0x85] | 
 | [0xe3,0xf3,0x20,0x87] | 
 | [0xe4,0xf3,0x20,0x8b] | 
 | [0xe5,0xf3,0x20,0x81] | 
 | [0xe6,0xf3,0x20,0x82] | 
 | @ CHECK:         mrs     r2, r8_usr | 
 | @ CHECK:         mrs     r3, r9_usr | 
 | @ CHECK:         mrs     r5, r10_usr | 
 | @ CHECK:         mrs     r7, r11_usr | 
 | @ CHECK:         mrs     r11, r12_usr | 
 | @ CHECK:         mrs     r1, sp_usr | 
 | @ CHECK:         mrs     r2, lr_usr | 
 |  | 
 | [0xe8,0xf3,0x20,0x82] | 
 | [0xe9,0xf3,0x20,0x83] | 
 | [0xea,0xf3,0x20,0x85] | 
 | [0xeb,0xf3,0x20,0x87] | 
 | [0xec,0xf3,0x20,0x8b] | 
 | [0xed,0xf3,0x20,0x81] | 
 | [0xee,0xf3,0x20,0x82] | 
 | [0xfe,0xf3,0x20,0x83] | 
 | @ CHECK:         mrs     r2, r8_fiq | 
 | @ CHECK:         mrs     r3, r9_fiq | 
 | @ CHECK:         mrs     r5, r10_fiq | 
 | @ CHECK:         mrs     r7, r11_fiq | 
 | @ CHECK:         mrs     r11, r12_fiq | 
 | @ CHECK:         mrs     r1, sp_fiq | 
 | @ CHECK:         mrs     r2, lr_fiq | 
 | @ CHECK:         mrs     r3, SPSR_fiq | 
 |  | 
 | [0xe0,0xf3,0x30,0x84] | 
 | [0xe1,0xf3,0x30,0x89] | 
 | [0xf0,0xf3,0x30,0x81] | 
 | @ CHECK:         mrs     r4, lr_irq | 
 | @ CHECK:         mrs     r9, sp_irq | 
 | @ CHECK:         mrs     r1, SPSR_irq | 
 |  | 
 | [0xe2,0xf3,0x30,0x81] | 
 | [0xe3,0xf3,0x30,0x83] | 
 | [0xf2,0xf3,0x30,0x85] | 
 | @ CHECK:         mrs     r1, lr_svc | 
 | @ CHECK:         mrs     r3, sp_svc | 
 | @ CHECK:         mrs     r5, SPSR_svc | 
 |  | 
 | [0xe4,0xf3,0x30,0x85] | 
 | [0xe5,0xf3,0x30,0x87] | 
 | [0xf4,0xf3,0x30,0x89] | 
 | @ CHECK:         mrs     r5, lr_abt | 
 | @ CHECK:         mrs     r7, sp_abt | 
 | @ CHECK:         mrs     r9, SPSR_abt | 
 |  | 
 | [0xe6,0xf3,0x30,0x89] | 
 | [0xe7,0xf3,0x30,0x8b] | 
 | [0xf6,0xf3,0x30,0x8c] | 
 | @ CHECK:         mrs     r9, lr_und | 
 | @ CHECK:         mrs     r11, sp_und | 
 | @ CHECK:         mrs     r12, SPSR_und | 
 |  | 
 |  | 
 | [0xec,0xf3,0x30,0x82] | 
 | [0xed,0xf3,0x30,0x84] | 
 | [0xfc,0xf3,0x30,0x86] | 
 | @ CHECK:         mrs     r2, lr_mon | 
 | @ CHECK:         mrs     r4, sp_mon | 
 | @ CHECK:         mrs     r6, SPSR_mon | 
 |  | 
 |  | 
 | [0xee,0xf3,0x30,0x86] | 
 | [0xef,0xf3,0x30,0x88] | 
 | [0xfe,0xf3,0x30,0x8a] | 
 | @ CHECK:         mrs     r6, elr_hyp | 
 | @ CHECK:         mrs     r8, sp_hyp | 
 | @ CHECK:         mrs     r10, SPSR_hyp | 
 |  | 
 |  | 
 | [0x82,0xf3,0x20,0x80] | 
 | [0x83,0xf3,0x20,0x81] | 
 | [0x85,0xf3,0x20,0x82] | 
 | [0x87,0xf3,0x20,0x83] | 
 | [0x8b,0xf3,0x20,0x84] | 
 | [0x81,0xf3,0x20,0x85] | 
 | [0x82,0xf3,0x20,0x86] | 
 | @ CHECK:         msr     r8_usr, r2 | 
 | @ CHECK:         msr     r9_usr, r3 | 
 | @ CHECK:         msr     r10_usr, r5 | 
 | @ CHECK:         msr     r11_usr, r7 | 
 | @ CHECK:         msr     r12_usr, r11 | 
 | @ CHECK:         msr     sp_usr, r1 | 
 | @ CHECK:         msr     lr_usr, r2 | 
 |  | 
 | [0x82,0xf3,0x20,0x88] | 
 | [0x83,0xf3,0x20,0x89] | 
 | [0x85,0xf3,0x20,0x8a] | 
 | [0x87,0xf3,0x20,0x8b] | 
 | [0x8b,0xf3,0x20,0x8c] | 
 | [0x81,0xf3,0x20,0x8d] | 
 | [0x82,0xf3,0x20,0x8e] | 
 | [0x93,0xf3,0x20,0x8e] | 
 | @ CHECK:         msr     r8_fiq, r2 | 
 | @ CHECK:         msr     r9_fiq, r3 | 
 | @ CHECK:         msr     r10_fiq, r5 | 
 | @ CHECK:         msr     r11_fiq, r7 | 
 | @ CHECK:         msr     r12_fiq, r11 | 
 | @ CHECK:         msr     sp_fiq, r1 | 
 | @ CHECK:         msr     lr_fiq, r2 | 
 | @ CHECK:        msr     SPSR_fiq, r3 | 
 |  | 
 | [0x84,0xf3,0x30,0x80] | 
 | [0x89,0xf3,0x30,0x81] | 
 | [0x9b,0xf3,0x30,0x80] | 
 | @ CHECK:         msr     lr_irq, r4 | 
 | @ CHECK:         msr     sp_irq, r9 | 
 | @ CHECK:         msr     SPSR_irq, r11 | 
 |  | 
 | [0x81,0xf3,0x30,0x82] | 
 | [0x83,0xf3,0x30,0x83] | 
 | [0x95,0xf3,0x30,0x82] | 
 | @ CHECK:         msr     lr_svc, r1 | 
 | @ CHECK:         msr     sp_svc, r3 | 
 | @ CHECK:         msr     SPSR_svc, r5 | 
 |  | 
 | [0x85,0xf3,0x30,0x84] | 
 | [0x87,0xf3,0x30,0x85] | 
 | [0x99,0xf3,0x30,0x84] | 
 | @ CHECK:         msr     lr_abt, r5 | 
 | @ CHECK:         msr     sp_abt, r7 | 
 | @ CHECK:         msr     SPSR_abt, r9 | 
 |  | 
 | [0x89,0xf3,0x30,0x86] | 
 | [0x8b,0xf3,0x30,0x87] | 
 | [0x9c,0xf3,0x30,0x86] | 
 | @ CHECK:         msr     lr_und, r9 | 
 | @ CHECK:         msr     sp_und, r11 | 
 | @ CHECK:         msr     SPSR_und, r12 | 
 |  | 
 |  | 
 | [0x82,0xf3,0x30,0x8c] | 
 | [0x84,0xf3,0x30,0x8d] | 
 | [0x96,0xf3,0x30,0x8c] | 
 | @ CHECK:         msr     lr_mon, r2 | 
 | @ CHECK:         msr     sp_mon, r4 | 
 | @ CHECK:         msr     SPSR_mon, r6 | 
 |  | 
 | [0x86,0xf3,0x30,0x8e] | 
 | [0x88,0xf3,0x30,0x8f] | 
 | [0x9a,0xf3,0x30,0x8e] | 
 | @ CHECK:         msr     elr_hyp, r6 | 
 | @ CHECK:         msr     sp_hyp, r8 | 
 | @ CHECK:         msr     SPSR_hyp, r10 |