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