43 lines · plain
1; RUN: llc -O0 < %s -mtriple=avr | FileCheck %s2 3; CHECK-LABEL: read_sp:4; CHECK: in r24, 615; CHECK: in r25, 626define i16 @read_sp() {7entry:8 %sp = call i16 @llvm.read_register.i16(metadata !0)9 ret i16 %sp10}11 12; CHECK-LABEL: read_r0:13; CHECK: mov r24, r014define i8 @read_r0() {15entry:16 %r0 = call i8 @llvm.read_register.i8(metadata !1)17 ret i8 %r018}19 20; CHECK-LABEL: read_r1:21; CHECK: mov r24, r122define i8 @read_r1() {23entry:24 %r1 = call i8 @llvm.read_register.i8(metadata !2)25 ret i8 %r126}27 28; CHECK-LABEL: read_r1r0:29; CHECK: mov r24, r030; CHECK: mov r25, r131define i16 @read_r1r0() {32entry:33 %r1r0 = call i16 @llvm.read_register.i16(metadata !1)34 ret i16 %r1r035}36 37declare i16 @llvm.read_register.i16(metadata)38declare i8 @llvm.read_register.i8(metadata)39 40!0 = !{!"sp"}41!1 = !{!"r0"}42!2 = !{!"r1"}43