1# RUN: llvm-mc --disassemble %s -triple=thumbv7em | FileCheck %s
2
3#------------------------------------------------------------------------------
4# MRS
5#------------------------------------------------------------------------------
6
7# CHECK: mrs r0, apsr
8# CHECK: mrs r0, iapsr
9# CHECK: mrs r0, eapsr
10# CHECK: mrs r0, xpsr
11# CHECK: mrs r0, ipsr
12# CHECK: mrs r0, epsr
13# CHECK: mrs r0, iepsr
14# CHECK: mrs r0, msp
15# CHECK: mrs r0, psp
16# CHECK: mrs r0, primask
17# CHECK: mrs r0, basepri
18# CHECK: mrs r0, basepri_max
19# CHECK: mrs r0, faultmask
20# CHECK: mrs r0, control
21
220xef 0xf3 0x00 0x80
230xef 0xf3 0x01 0x80
240xef 0xf3 0x02 0x80
250xef 0xf3 0x03 0x80
260xef 0xf3 0x05 0x80
270xef 0xf3 0x06 0x80
280xef 0xf3 0x07 0x80
290xef 0xf3 0x08 0x80
300xef 0xf3 0x09 0x80
310xef 0xf3 0x10 0x80
320xef 0xf3 0x11 0x80
330xef 0xf3 0x12 0x80
340xef 0xf3 0x13 0x80
350xef 0xf3 0x14 0x80
36
37
38#------------------------------------------------------------------------------
39# MSR
40#------------------------------------------------------------------------------
41
42# CHECK: msr apsr_nzcvq, r0
43# CHECK: msr apsr_g, r0
44# CHECK: msr apsr_nzcvqg, r0
45
460x80 0xf3 0x00 0x88
470x80 0xf3 0x00 0x84
480x80 0xf3 0x00 0x8c
49
50# CHECK: msr iapsr_nzcvq, r0
51# CHECK: msr iapsr_g, r0
52# CHECK: msr iapsr_nzcvqg, r0
53
540x80 0xf3 0x01 0x88
550x80 0xf3 0x01 0x84
560x80 0xf3 0x01 0x8c
57
58# CHECK: msr eapsr_nzcvq, r0
59# CHECK: msr eapsr_g, r0
60# CHECK: msr eapsr_nzcvqg, r0
61
620x80 0xf3 0x02 0x88
630x80 0xf3 0x02 0x84
640x80 0xf3 0x02 0x8c
65
66# CHECK: msr xpsr_nzcvq, r0
67# CHECK: msr xpsr_g, r0
68# CHECK: msr xpsr_nzcvqg, r0
69
700x80 0xf3 0x03 0x88
710x80 0xf3 0x03 0x84
720x80 0xf3 0x03 0x8c
73
74# CHECK: msr ipsr, r0
75# CHECK: msr epsr, r0
76# CHECK: msr iepsr, r0
77# CHECK: msr msp, r0
78# CHECK: msr psp, r0
79# CHECK: msr primask, r0
80# CHECK: msr basepri, r0
81# CHECK: msr basepri_max, r0
82# CHECK: msr faultmask, r0
83# CHECK: msr control, r0
84
850x80 0xf3 0x05 0x88
860x80 0xf3 0x06 0x88
870x80 0xf3 0x07 0x88
880x80 0xf3 0x08 0x88
890x80 0xf3 0x09 0x88
900x80 0xf3 0x10 0x88
910x80 0xf3 0x11 0x88
920x80 0xf3 0x12 0x88
930x80 0xf3 0x13 0x88
940x80 0xf3 0x14 0x88
95