blob: 0967995a6936fed75a38bbc55215aa90fb3e0fa6 [file]
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
; RUN: llc < %s -mtriple=avr -mcpu=avr2 | FileCheck %s --check-prefix=AVR2
; RUN: llc < %s -mtriple=avr -mcpu=avrtiny | FileCheck %s --check-prefix=TINY
@NVM = dso_local global i8 0, align 1
define void @foo() addrspace(1) {
; AVR2-LABEL: foo:
; AVR2: ; %bb.0: ; %entry
; AVR2-NEXT: sts NVM, r1
; AVR2-NEXT: ldi r24, 45
; AVR2-NEXT: ldi r25, 0
; AVR2-NEXT: ;APP
; AVR2-NEXT: sts NVM, r24
; AVR2-NEXT: lds r24, NVM
; AVR2-NEXT: ;NO_APP
; AVR2-NEXT: ret
;
; TINY-LABEL: foo:
; TINY: ; %bb.0: ; %entry
; TINY-NEXT: sts NVM, r17
; TINY-NEXT: ldi r24, 45
; TINY-NEXT: ldi r25, 0
; TINY-NEXT: ;APP
; TINY-NEXT: sts NVM, r24
; TINY-NEXT: lds r24, NVM
; TINY-NEXT: ;NO_APP
; TINY-NEXT: ret
entry:
store i8 0, ptr @NVM, align 1
%0 = tail call addrspace(0) i8 asm "sts\09$1, $2\0Alds\09$0, $1", "=r,*m,r"(ptr nonnull elementtype(i8) @NVM, i16 45)
ret void
}