; RUN: llvm-mc -triple avr -show-encoding < %s | FileCheck %s foo: ; BREQ breq .-18 breq .-12 brbs 1, .-18 brbs 1, baz ; CHECK: breq .Ltmp0-18 ; encoding: [0bAAAAA001,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp0-18, kind: fixup_7_pcrel ; CHECK: breq .Ltmp1-12 ; encoding: [0bAAAAA001,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp1-12, kind: fixup_7_pcrel ; CHECK: brbs 1, .Ltmp2-18 ; encoding: [0bAAAAA001,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp2-18, kind: fixup_7_pcrel ; CHECK: brbs 1, baz ; encoding: [0bAAAAA001,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: baz, kind: fixup_7_pcrel ; BRNE brne .+10 brne .+2 brbc 1, .+10 brbc 1, bar ; CHECK: brne .Ltmp3+10 ; encoding: [0bAAAAA001,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp3+10, kind: fixup_7_pcrel ; CHECK: brne .Ltmp4+2 ; encoding: [0bAAAAA001,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp4+2, kind: fixup_7_pcrel ; CHECK: brbc 1, .Ltmp5+10 ; encoding: [0bAAAAA001,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp5+10, kind: fixup_7_pcrel ; CHECK: brbc 1, bar ; encoding: [0bAAAAA001,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: bar, kind: fixup_7_pcrel bar: ; BRCS brcs .+8 brcs .+4 brbs 0, .+8 brbs 0, end ; CHECK: brcs .Ltmp6+8 ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp6+8, kind: fixup_7_pcrel ; CHECK: brcs .Ltmp7+4 ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp7+4, kind: fixup_7_pcrel ; CHECK: brcs .Ltmp8+8 ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp8+8, kind: fixup_7_pcrel ; CHECK: brcs end ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRCC brcc .+66 brcc .-22 brbc 0, .+66 brbc 0, baz ; CHECK: brcc .Ltmp9+66 ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp9+66, kind: fixup_7_pcrel ; CHECK: brcc .Ltmp10-22 ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp10-22, kind: fixup_7_pcrel ; CHECK: brcc .Ltmp11+66 ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp11+66, kind: fixup_7_pcrel ; CHECK: brcc baz ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: baz, kind: fixup_7_pcrel ; BRSH brsh .+32 brsh .+70 brsh car ; CHECK: brsh .Ltmp12+32 ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp12+32, kind: fixup_7_pcrel ; CHECK: brsh .Ltmp13+70 ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp13+70, kind: fixup_7_pcrel ; CHECK: brsh car ; encoding: [0bAAAAA000,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: car, kind: fixup_7_pcrel baz: ; BRLO brlo .+12 brlo .+28 brlo car ; CHECK: brlo .Ltmp14+12 ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp14+12, kind: fixup_7_pcrel ; CHECK: brlo .Ltmp15+28 ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp15+28, kind: fixup_7_pcrel ; CHECK: brlo car ; encoding: [0bAAAAA000,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: car, kind: fixup_7_pcrel ; BRMI brmi .+66 brmi .+58 brmi car ; CHECK: brmi .Ltmp16+66 ; encoding: [0bAAAAA010,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp16+66, kind: fixup_7_pcrel ; CHECK: brmi .Ltmp17+58 ; encoding: [0bAAAAA010,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp17+58, kind: fixup_7_pcrel ; CHECK: brmi car ; encoding: [0bAAAAA010,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: car, kind: fixup_7_pcrel ; BRPL brpl .-12 brpl .+18 brpl car ; CHECK: brpl .Ltmp18-12 ; encoding: [0bAAAAA010,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp18-12, kind: fixup_7_pcrel ; CHECK: brpl .Ltmp19+18 ; encoding: [0bAAAAA010,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp19+18, kind: fixup_7_pcrel ; CHECK: brpl car ; encoding: [0bAAAAA010,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: car, kind: fixup_7_pcrel ; BRGE brge .+50 brge .+42 brge car ; CHECK: brge .Ltmp20+50 ; encoding: [0bAAAAA100,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp20+50, kind: fixup_7_pcrel ; CHECK: brge .Ltmp21+42 ; encoding: [0bAAAAA100,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp21+42, kind: fixup_7_pcrel ; CHECK: brge car ; encoding: [0bAAAAA100,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: car, kind: fixup_7_pcrel car: ; BRLT brlt .+16 brlt .+2 brlt end ; CHECK: brlt .Ltmp22+16 ; encoding: [0bAAAAA100,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp22+16, kind: fixup_7_pcrel ; CHECK: brlt .Ltmp23+2 ; encoding: [0bAAAAA100,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp23+2, kind: fixup_7_pcrel ; CHECK: brlt end ; encoding: [0bAAAAA100,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRHS brhs .-66 brhs .+14 brhs just_another_label ; CHECK: brhs .Ltmp24-66 ; encoding: [0bAAAAA101,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp24-66, kind: fixup_7_pcrel ; CHECK: brhs .Ltmp25+14 ; encoding: [0bAAAAA101,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp25+14, kind: fixup_7_pcrel ; CHECK: brhs just_another_label ; encoding: [0bAAAAA101,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: just_another_label, kind: fixup_7_pcrel ; BRHC brhc .+12 brhc .+14 brhc just_another_label ; CHECK: brhc .Ltmp26+12 ; encoding: [0bAAAAA101,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp26+12, kind: fixup_7_pcrel ; CHECK: brhc .Ltmp27+14 ; encoding: [0bAAAAA101,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp27+14, kind: fixup_7_pcrel ; CHECK: brhc just_another_label ; encoding: [0bAAAAA101,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: just_another_label, kind: fixup_7_pcrel ; BRTS brts .+18 brts .+22 brts just_another_label ; CHECK: brts .Ltmp28+18 ; encoding: [0bAAAAA110,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp28+18, kind: fixup_7_pcrel ; CHECK: brts .Ltmp29+22 ; encoding: [0bAAAAA110,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp29+22, kind: fixup_7_pcrel ; CHECK: brts just_another_label ; encoding: [0bAAAAA110,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: just_another_label, kind: fixup_7_pcrel just_another_label: ; BRTC brtc .+52 brtc .+50 brtc end ; CHECK: brtc .Ltmp30+52 ; encoding: [0bAAAAA110,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp30+52, kind: fixup_7_pcrel ; CHECK: brtc .Ltmp31+50 ; encoding: [0bAAAAA110,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp31+50, kind: fixup_7_pcrel ; CHECK: brtc end ; encoding: [0bAAAAA110,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRVS brvs .+18 brvs .+32 brvs end ; CHECK: brvs .Ltmp32+18 ; encoding: [0bAAAAA011,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp32+18, kind: fixup_7_pcrel ; CHECK: brvs .Ltmp33+32 ; encoding: [0bAAAAA011,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp33+32, kind: fixup_7_pcrel ; CHECK: brvs end ; encoding: [0bAAAAA011,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRVC brvc .-28 brvc .-62 brvc end ; CHECK: brvc .Ltmp34-28 ; encoding: [0bAAAAA011,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp34-28, kind: fixup_7_pcrel ; CHECK: brvc .Ltmp35-62 ; encoding: [0bAAAAA011,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp35-62, kind: fixup_7_pcrel ; CHECK: brvc end ; encoding: [0bAAAAA011,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRIE brie .+20 brie .+40 brie end ; CHECK: brie .Ltmp36+20 ; encoding: [0bAAAAA111,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp36+20, kind: fixup_7_pcrel ; CHECK: brie .Ltmp37+40 ; encoding: [0bAAAAA111,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp37+40, kind: fixup_7_pcrel ; CHECK: brie end ; encoding: [0bAAAAA111,0b111100AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel ; BRID brid .+42 brid .+62 brid end ; CHECK: brid .Ltmp38+42 ; encoding: [0bAAAAA111,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp38+42, kind: fixup_7_pcrel ; CHECK: brid .Ltmp39+62 ; encoding: [0bAAAAA111,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: .Ltmp39+62, kind: fixup_7_pcrel ; CHECK: brid end ; encoding: [0bAAAAA111,0b111101AA] ; CHECK: ; fixup A - offset: 0, value: end, kind: fixup_7_pcrel end: