; 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 }