1 ; RUN
: llvm-mc
-triple avr
-show-encoding
< %s | FileCheck
%s
2 ; RUN
: llvm-mc
-filetype
=obj
-triple avr
< %s \
3 ; RUN
: | llvm-objdump
-d
- | FileCheck
--check-prefix
=INST
%s
13 ; CHECK
: breq
.Ltmp0-18 ; encoding: [0bAAAAA001,0b111100AA]
14 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp0-18, kind: fixup_7_pcrel
15 ; CHECK
: breq
.Ltmp1-12 ; encoding: [0bAAAAA001,0b111100AA]
16 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp1-12, kind: fixup_7_pcrel
17 ; CHECK
: brbs
1, .Ltmp2-18 ; encoding: [0bAAAAA001,0b111100AA]
18 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp2-18, kind: fixup_7_pcrel
19 ; CHECK
: brbs
1, baz ; encoding
: [0bAAAAA001
,0b111100AA
]
20 ; CHECK
: ; fixup
A - offset
: 0, value
: baz
, kind
: fixup_7_pcrel
34 ; CHECK
: brne
.Ltmp3+10 ; encoding: [0bAAAAA001,0b111101AA]
35 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp3+10, kind: fixup_7_pcrel
36 ; CHECK
: brne
.Ltmp4+2 ; encoding: [0bAAAAA001,0b111101AA]
37 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp4+2, kind: fixup_7_pcrel
38 ; CHECK
: brbc
1, .Ltmp5+10 ; encoding: [0bAAAAA001,0b111101AA]
39 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp5+10, kind: fixup_7_pcrel
40 ; CHECK
: brbc
1, bar ; encoding
: [0bAAAAA001
,0b111101AA
]
41 ; CHECK
: ; fixup
A - offset
: 0, value
: bar
, kind
: fixup_7_pcrel
55 ; CHECK
: brcs
.Ltmp6+8 ; encoding: [0bAAAAA000,0b111100AA]
56 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp6+8, kind: fixup_7_pcrel
57 ; CHECK
: brcs
.Ltmp7+4 ; encoding: [0bAAAAA000,0b111100AA]
58 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp7+4, kind: fixup_7_pcrel
59 ; CHECK
: brcs
.Ltmp8+8 ; encoding: [0bAAAAA000,0b111100AA]
60 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp8+8, kind: fixup_7_pcrel
61 ; CHECK
: brcs end ; encoding
: [0bAAAAA000
,0b111100AA
]
62 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
76 ; CHECK
: brcc
.Ltmp9+66 ; encoding: [0bAAAAA000,0b111101AA]
77 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp9+66, kind: fixup_7_pcrel
78 ; CHECK
: brcc
.Ltmp10-22 ; encoding: [0bAAAAA000,0b111101AA]
79 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp10-22, kind: fixup_7_pcrel
80 ; CHECK
: brcc
.Ltmp11+66 ; encoding: [0bAAAAA000,0b111101AA]
81 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp11+66, kind: fixup_7_pcrel
82 ; CHECK
: brcc baz ; encoding
: [0bAAAAA000
,0b111101AA
]
83 ; CHECK
: ; fixup
A - offset
: 0, value
: baz
, kind
: fixup_7_pcrel
95 ; CHECK
: brsh
.Ltmp12+32 ; encoding: [0bAAAAA000,0b111101AA]
96 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp12+32, kind: fixup_7_pcrel
97 ; CHECK
: brsh
.Ltmp13+70 ; encoding: [0bAAAAA000,0b111101AA]
98 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp13+70, kind: fixup_7_pcrel
99 ; CHECK
: brsh car ; encoding
: [0bAAAAA000
,0b111101AA
]
100 ; CHECK
: ; fixup
A - offset
: 0, value
: car
, kind
: fixup_7_pcrel
113 ; CHECK
: brlo
.Ltmp14+12 ; encoding: [0bAAAAA000,0b111100AA]
114 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp14+12, kind: fixup_7_pcrel
115 ; CHECK
: brlo
.Ltmp15+28 ; encoding: [0bAAAAA000,0b111100AA]
116 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp15+28, kind: fixup_7_pcrel
117 ; CHECK
: brlo car ; encoding
: [0bAAAAA000
,0b111100AA
]
118 ; CHECK
: ; fixup
A - offset
: 0, value
: car
, kind
: fixup_7_pcrel
130 ; CHECK
: brmi
.Ltmp16+66 ; encoding: [0bAAAAA010,0b111100AA]
131 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp16+66, kind: fixup_7_pcrel
132 ; CHECK
: brmi
.Ltmp17+58 ; encoding: [0bAAAAA010,0b111100AA]
133 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp17+58, kind: fixup_7_pcrel
134 ; CHECK
: brmi car ; encoding
: [0bAAAAA010
,0b111100AA
]
135 ; CHECK
: ; fixup
A - offset
: 0, value
: car
, kind
: fixup_7_pcrel
146 ; CHECK
: brpl
.Ltmp18-12 ; encoding: [0bAAAAA010,0b111101AA]
147 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp18-12, kind: fixup_7_pcrel
148 ; CHECK
: brpl
.Ltmp19+18 ; encoding: [0bAAAAA010,0b111101AA]
149 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp19+18, kind: fixup_7_pcrel
150 ; CHECK
: brpl car ; encoding
: [0bAAAAA010
,0b111101AA
]
151 ; CHECK
: ; fixup
A - offset
: 0, value
: car
, kind
: fixup_7_pcrel
162 ; CHECK
: brge
.Ltmp20+50 ; encoding: [0bAAAAA100,0b111101AA]
163 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp20+50, kind: fixup_7_pcrel
164 ; CHECK
: brge
.Ltmp21+42 ; encoding: [0bAAAAA100,0b111101AA]
165 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp21+42, kind: fixup_7_pcrel
166 ; CHECK
: brge car ; encoding
: [0bAAAAA100
,0b111101AA
]
167 ; CHECK
: ; fixup
A - offset
: 0, value
: car
, kind
: fixup_7_pcrel
179 ; CHECK
: brlt
.Ltmp22+16 ; encoding: [0bAAAAA100,0b111100AA]
180 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp22+16, kind: fixup_7_pcrel
181 ; CHECK
: brlt
.Ltmp23+2 ; encoding: [0bAAAAA100,0b111100AA]
182 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp23+2, kind: fixup_7_pcrel
183 ; CHECK
: brlt end ; encoding
: [0bAAAAA100
,0b111100AA
]
184 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
194 brhs just_another_label
196 ; CHECK
: brhs
.Ltmp24-66 ; encoding: [0bAAAAA101,0b111100AA]
197 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp24-66, kind: fixup_7_pcrel
198 ; CHECK
: brhs
.Ltmp25+14 ; encoding: [0bAAAAA101,0b111100AA]
199 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp25+14, kind: fixup_7_pcrel
200 ; CHECK
: brhs just_another_label ; encoding
: [0bAAAAA101
,0b111100AA
]
201 ; CHECK
: ; fixup
A - offset
: 0, value
: just_another_label
, kind
: fixup_7_pcrel
210 brhc just_another_label
212 ; CHECK
: brhc
.Ltmp26+12 ; encoding: [0bAAAAA101,0b111101AA]
213 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp26+12, kind: fixup_7_pcrel
214 ; CHECK
: brhc
.Ltmp27+14 ; encoding: [0bAAAAA101,0b111101AA]
215 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp27+14, kind: fixup_7_pcrel
216 ; CHECK
: brhc just_another_label ; encoding
: [0bAAAAA101
,0b111101AA
]
217 ; CHECK
: ; fixup
A - offset
: 0, value
: just_another_label
, kind
: fixup_7_pcrel
226 brts just_another_label
228 ; CHECK
: brts
.Ltmp28+18 ; encoding: [0bAAAAA110,0b111100AA]
229 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp28+18, kind: fixup_7_pcrel
230 ; CHECK
: brts
.Ltmp29+22 ; encoding: [0bAAAAA110,0b111100AA]
231 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp29+22, kind: fixup_7_pcrel
232 ; CHECK
: brts just_another_label ; encoding
: [0bAAAAA110
,0b111100AA
]
233 ; CHECK
: ; fixup
A - offset
: 0, value
: just_another_label
, kind
: fixup_7_pcrel
245 ; CHECK
: brtc
.Ltmp30+52 ; encoding: [0bAAAAA110,0b111101AA]
246 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp30+52, kind: fixup_7_pcrel
247 ; CHECK
: brtc
.Ltmp31+50 ; encoding: [0bAAAAA110,0b111101AA]
248 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp31+50, kind: fixup_7_pcrel
249 ; CHECK
: brtc end ; encoding
: [0bAAAAA110
,0b111101AA
]
250 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
252 ; INST-LABEL
: <just_another_label
>:
262 ; CHECK
: brvs
.Ltmp32+18 ; encoding: [0bAAAAA011,0b111100AA]
263 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp32+18, kind: fixup_7_pcrel
264 ; CHECK
: brvs
.Ltmp33+32 ; encoding: [0bAAAAA011,0b111100AA]
265 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp33+32, kind: fixup_7_pcrel
266 ; CHECK
: brvs end ; encoding
: [0bAAAAA011
,0b111100AA
]
267 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
278 ; CHECK
: brvc
.Ltmp34-28 ; encoding: [0bAAAAA011,0b111101AA]
279 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp34-28, kind: fixup_7_pcrel
280 ; CHECK
: brvc
.Ltmp35-62 ; encoding: [0bAAAAA011,0b111101AA]
281 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp35-62, kind: fixup_7_pcrel
282 ; CHECK
: brvc end ; encoding
: [0bAAAAA011
,0b111101AA
]
283 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
294 ; CHECK
: brie
.Ltmp36+20 ; encoding: [0bAAAAA111,0b111100AA]
295 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp36+20, kind: fixup_7_pcrel
296 ; CHECK
: brie
.Ltmp37+40 ; encoding: [0bAAAAA111,0b111100AA]
297 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp37+40, kind: fixup_7_pcrel
298 ; CHECK
: brie end ; encoding
: [0bAAAAA111
,0b111100AA
]
299 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel
310 ; CHECK
: brid
.Ltmp38+42 ; encoding: [0bAAAAA111,0b111101AA]
311 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp38+42, kind: fixup_7_pcrel
312 ; CHECK
: brid
.Ltmp39+62 ; encoding: [0bAAAAA111,0b111101AA]
313 ; CHECK
: ; fixup
A - offset
: 0, value
: .Ltmp39+62, kind: fixup_7_pcrel
314 ; CHECK
: brid end ; encoding
: [0bAAAAA111
,0b111101AA
]
315 ; CHECK
: ; fixup
A - offset
: 0, value
: end
, kind
: fixup_7_pcrel