1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
; RUN: llc < %s -mtriple=avr -mcpu=attiny85 -filetype=obj -o - | llvm-objdump --mcpu=attiny85 -dr --no-show-raw-insn --no-leading-addr - | FileCheck --check-prefix=ATTINY85 %s
; RUN: llc < %s -mtriple=avr -mcpu=avr25 -filetype=obj -o - | llvm-objdump --mcpu=avr25 -dr --no-show-raw-insn --no-leading-addr - | FileCheck --check-prefix=AVR25 %s
; RUN: llc < %s -mtriple=avr -mcpu=avr3 -filetype=obj -o - | llvm-objdump --mcpu=avr3 -dr --no-show-raw-insn --no-leading-addr - | FileCheck --check-prefix=AVR3 %s
; ATTINY85: <main>:
; ATTINY85-NEXT: andi r24, 0x1
; ATTINY85: cpi r24, 0x0
; ATTINY85-NEXT: breq .+2
; ATTINY85-NEXT: rjmp .+4086
; ATTINY85: ldi r24, 0x3
; ATTINY85-NEXT: ret
; AVR25: <main>:
; AVR25-NEXT: andi r24, 0x1
; AVR25: cpi r24, 0x0
; AVR25-NEXT: breq .+2
; AVR25-NEXT: rjmp .-2
; AVR25-NEXT: R_AVR_13_PCREL .text+0x2
; AVR25: ldi r24, 0x3
; AVR25-NEXT: ret
; AVR3: <main>:
; AVR3-NEXT: andi r24, 0x1
; AVR3: cpi r24, 0x0
; AVR3-NEXT: breq .+4
; AVR3-NEXT: jmp 0x0
; AVR3-NEXT: R_AVR_CALL .text+0x2
; AVR3: ldi r24, 0x3
; AVR3-NEXT: ret
define i8 @main(i1 %a) {
entry-block:
br label %hello
hello:
call void asm sideeffect ".space 4100", ""()
br i1 %a, label %hello, label %finished
finished:
ret i8 3
}
|