1 ; RUN
: llvm-mc
-triple msp430
-show-encoding
%s \
2 ; RUN
: | FileCheck
-check-prefixes
=CHECK
,CHECK-INST
%s
4 ; RUN
: llvm-mc
-triple msp430
-filetype
=obj
%s \
5 ; RUN
: | llvm-objdump
-d
- | FileCheck
--check-prefix
=CHECK-INST
%s
8 mov.
b r7, r8 ; CHECK-INST
: mov.
b r7, r8
9 ; CHECK
: encoding
: [0x48,0x47]
10 add.b r7, r8 ; CHECK-INST
: add.b r7, r8
11 ; CHECK
: encoding
: [0x48,0x57]
12 addc.b r7, r8 ; CHECK-INST
: addc.b r7, r8
13 ; CHECK
: encoding
: [0x48,0x67]
14 subc.b r7, r8 ; CHECK-INST
: subc.b r7, r8
15 ; CHECK
: encoding
: [0x48,0x77]
16 sub.b r7, r8 ; CHECK-INST
: sub.b r7, r8
17 ; CHECK
: encoding
: [0x48,0x87]
18 cmp.
b r7, r8 ; CHECK-INST
: cmp.
b r7, r8
19 ; CHECK
: encoding
: [0x48,0x97]
20 dadd.
b r7, r8 ; CHECK-INST
: dadd.
b r7, r8
21 ; CHECK
: encoding
: [0x48,0xa7]
22 bit.
b r7, r8 ; CHECK-INST
: bit.
b r7, r8
23 ; CHECK
: encoding
: [0x48,0xb7]
24 bic.
b r7, r8 ; CHECK-INST
: bic.
b r7, r8
25 ; CHECK
: encoding
: [0x48,0xc7]
26 bis.
b r7, r8 ; CHECK-INST
: bis.
b r7, r8
27 ; CHECK
: encoding
: [0x48,0xd7]
28 xor.b r7, r8 ; CHECK-INST
: xor.b r7, r8
29 ; CHECK
: encoding
: [0x48,0xe7]
30 and.b r7, r8 ; CHECK-INST
: and.b r7, r8
31 ; CHECK
: encoding
: [0x48,0xf7]
33 ;; IForm16 instructions
34 mov
r7, r8 ; CHECK-INST
: mov
r7, r8
35 ; CHECK
: encoding
: [0x08,0x47]
36 add r7, r8 ; CHECK-INST
: add r7, r8
37 ; CHECK
: encoding
: [0x08,0x57]
38 addc r7, r8 ; CHECK-INST
: addc r7, r8
39 ; CHECK
: encoding
: [0x08,0x67]
40 subc r7, r8 ; CHECK-INST
: subc r7, r8
41 ; CHECK
: encoding
: [0x08,0x77]
42 sub r7, r8 ; CHECK-INST
: sub r7, r8
43 ; CHECK
: encoding
: [0x08,0x87]
44 cmp r7, r8 ; CHECK-INST
: cmp r7, r8
45 ; CHECK
: encoding
: [0x08,0x97]
46 dadd
r7, r8 ; CHECK-INST
: dadd
r7, r8
47 ; CHECK
: encoding
: [0x08,0xa7]
48 bit
r7, r8 ; CHECK-INST
: bit
r7, r8
49 ; CHECK
: encoding
: [0x08,0xb7]
50 bic
r7, r8 ; CHECK-INST
: bic
r7, r8
51 ; CHECK
: encoding
: [0x08,0xc7]
52 bis
r7, r8 ; CHECK-INST
: bis
r7, r8
53 ; CHECK
: encoding
: [0x08,0xd7]
54 xor r7, r8 ; CHECK-INST
: xor r7, r8
55 ; CHECK
: encoding
: [0x08,0xe7]
56 and r7, r8 ; CHECK-INST
: and r7, r8
57 ; CHECK
: encoding
: [0x08,0xf7]
59 ;; IIForm8 instructions
60 rrc.
b r7 ; CHECK-INST
: rrc.
b r7
61 ; CHECK
: encoding
: [0x47,0x10]
62 rra.
b r7 ; CHECK-INST
: rra.
b r7
63 ; CHECK
: encoding
: [0x47,0x11]
64 push.
b r7 ; CHECK-INST
: push.
b r7
65 ; CHECK
: encoding
: [0x47,0x12]
67 ;; IIForm16 instructions
68 rrc
r7 ; CHECK-INST
: rrc
r7
69 ; CHECK
: encoding
: [0x07,0x10]
70 swpb
r7 ; CHECK-INST
: swpb
r7
71 ; CHECK
: encoding
: [0x87,0x10]
72 rra
r7 ; CHECK-INST
: rra
r7
73 ; CHECK
: encoding
: [0x07,0x11]
74 sxt
r7 ; CHECK-INST
: sxt
r7
75 ; CHECK
: encoding
: [0x87,0x11]
76 push
r7 ; CHECK-INST
: push
r7
77 ; CHECK
: encoding
: [0x07,0x12]
78 call
r7 ; CHECK-INST
: call
r7
79 ; CHECK
: encoding
: [0x87,0x12]
80 reti ; CHECK-INST
: reti
81 ; CHECK
: encoding
: [0x00,0x13]
83 ;; CJForm instructions
84 jnz
-2 ; CHECK-INST
: jne $
-2
85 ; CHECK
: encoding
: [0xfe,0x23]
86 jne
-2 ; CHECK-INST
: jne $
-2
87 ; CHECK
: encoding
: [0xfe,0x23]
88 jeq
-2 ; CHECK-INST
: jeq $
-2
89 ; CHECK
: encoding
: [0xfe,0x27]
90 jz
-2 ; CHECK-INST
: jeq $
-2
91 ; CHECK
: encoding
: [0xfe,0x27]
92 jnc
-2 ; CHECK-INST
: jlo $
-2
93 ; CHECK
: encoding
: [0xfe,0x2b]
94 jlo
-2 ; CHECK-INST
: jlo $
-2
95 ; CHECK
: encoding
: [0xfe,0x2b]
96 jc
-2 ; CHECK-INST
: jhs $
-2
97 ; CHECK
: encoding
: [0xfe,0x2f]
98 jhs
-2 ; CHECK-INST
: jhs $
-2
99 ; CHECK
: encoding
: [0xfe,0x2f]
100 jn
-2 ; CHECK-INST
: jn $
-2
101 ; CHECK
: encoding
: [0xfe,0x33]
102 jge
-2 ; CHECK-INST
: jge $
-2
103 ; CHECK
: encoding
: [0xfe,0x37]
104 jl
-2 ; CHECK-INST
: jl $
-2
105 ; CHECK
: encoding
: [0xfe,0x3b]
106 jmp $
-2 ; CHECK-INST
: jmp $
-2
107 ; CHECK
: encoding
: [0xfe,0x3f]
109 ;; Emulated arithmetic instructions
110 adc
r7 ; CHECK-INST
: adc
r7
111 ; CHECK
: encoding
: [0x07,0x63]
112 dadc
r7 ; CHECK-INST
: dadc
r7
113 ; CHECK
: encoding
: [0x07,0xa3]
114 dec r7 ; CHECK-INST
: dec r7
115 ; CHECK
: encoding
: [0x17,0x83]
116 decd
r7 ; CHECK-INST
: decd
r7
117 ; CHECK
: encoding
: [0x27,0x83]
118 inc
r7 ; CHECK-INST
: inc
r7
119 ; CHECK
: encoding
: [0x17,0x53]
120 incd
r7 ; CHECK-INST
: incd
r7
121 ; CHECK
: encoding
: [0x27,0x53]
122 sbc
r7 ; CHECK-INST
: sbc
r7
123 ; CHECK
: encoding
: [0x07,0x73]
125 ;; Emulated logical instructions
126 inv
r7 ; CHECK-INST
: inv
r7
127 ; CHECK
: encoding
: [0x37,0xe3]
128 rla
r7 ; CHECK-INST
: add r7, r7
129 ; CHECK
: encoding
: [0x07,0x57]
130 rlc
r7 ; CHECK-INST
: addc r7, r7
131 ; CHECK
: encoding
: [0x07,0x67]
133 ;; Emulated program flow control instructions
134 br r7 ; CHECK-INST
: br r7
135 ; CHECK
: encoding
: [0x00,0x47]
136 dint ; CHECK-INST
: dint
137 ; CHECK
: encoding
: [0x32,0xc2]
138 eint ; CHECK-INST
: eint
139 ; CHECK
: encoding
: [0x32,0xd2]
140 nop ; CHECK-INST
: nop
141 ; CHECK
: encoding
: [0x03,0x43]
142 ret ; CHECK-INST
: ret
143 ; CHECK
: encoding
: [0x30,0x41]
145 ;; Emulated data instruction
146 clr
r7 ; CHECK-INST
: clr
r7
147 ; CHECK
: encoding
: [0x07,0x43]
148 clrc ; CHECK-INST
: clrc
149 ; CHECK
: encoding
: [0x12,0xc3]
150 clrn ; CHECK-INST
: clrn
151 ; CHECK
: encoding
: [0x22,0xc2]
152 clrz ; CHECK-INST
: clrz
153 ; CHECK
: encoding
: [0x22,0xc3]
154 pop
r7 ; CHECK-INST
: pop
r7
155 ; CHECK
: encoding
: [0x37,0x41]
156 setc ; CHECK-INST
: setc
157 ; CHECK
: encoding
: [0x12,0xd3]
158 setn ; CHECK-INST
: setn
159 ; CHECK
: encoding
: [0x22,0xd2]
160 setz ; CHECK-INST
: setz
161 ; CHECK
: encoding
: [0x22,0xd3]
162 tst
r7 ; CHECK-INST
: tst
r7
163 ; CHECK
: encoding
: [0x07,0x93]