54 lines · plain
1; RUN: llc < %s -mtriple=xcore | FileCheck %s2; CHECK-LABEL: f1:3; CHECK: foo r04define i32 @f1() nounwind {5entry:6 %asmtmp = tail call i32 asm sideeffect "foo $0", "=r"() nounwind7 ret i32 %asmtmp8}9 10; CHECK-LABEL: f2:11; CHECK: foo 512define void @f2() nounwind {13entry:14 tail call void asm sideeffect "foo $0", "i"(i32 5) nounwind15 ret void16}17 18; CHECK-LABEL: f3:19; CHECK: foo 4220define void @f3() nounwind {21entry:22 tail call void asm sideeffect "foo ${0:c}", "i"(i32 42) nounwind23 ret void24}25 26; CHECK-LABEL: f4:27; CHECK: foo -9928define void @f4() nounwind {29entry:30 tail call void asm sideeffect "foo ${0:n}", "i"(i32 99) nounwind31 ret void32}33 34@x = external global i3235@y = external global i32, section ".cp.rodata"36 37; CHECK-LABEL: f5:38; CHECK: ldw r0, dp[x]39; CHECK: retsp 040define i32 @f5() nounwind {41entry:42 %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(ptr elementtype(i32) @x) nounwind43 ret i32 %asmtmp44}45 46; CHECK-LABEL: f6:47; CHECK: ldw r0, cp[y]48; CHECK: retsp 049define i32 @f6() nounwind {50entry:51 %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(ptr elementtype(i32) @y) nounwind52 ret i32 %asmtmp53}54