[Reland][Runtimes] Merge 'compile_commands.json' files from runtimes build (#116303)
[llvm-project.git] / llvm / test / CodeGen / XCore / inline-asm.ll
blob76adcadf271d0293d37b5de63de73f7ec22cb312
1 ; RUN: llc < %s -march=xcore | FileCheck %s
2 ; CHECK-LABEL: f1:
3 ; CHECK: foo r0
4 define i32 @f1() nounwind {
5 entry:
6   %asmtmp = tail call i32 asm sideeffect "foo $0", "=r"() nounwind
7   ret i32 %asmtmp
10 ; CHECK-LABEL: f2:
11 ; CHECK: foo 5
12 define void @f2() nounwind {
13 entry:
14   tail call void asm sideeffect "foo $0", "i"(i32 5) nounwind
15   ret void
18 ; CHECK-LABEL: f3:
19 ; CHECK: foo 42
20 define void @f3() nounwind {
21 entry:
22   tail call void asm sideeffect "foo ${0:c}", "i"(i32 42) nounwind
23   ret void
26 ; CHECK-LABEL: f4:
27 ; CHECK: foo -99
28 define void @f4() nounwind {
29 entry:
30   tail call void asm sideeffect "foo ${0:n}", "i"(i32 99) nounwind
31   ret void
34 @x = external global i32
35 @y = external global i32, section ".cp.rodata"
37 ; CHECK-LABEL: f5:
38 ; CHECK: ldw r0, dp[x]
39 ; CHECK: retsp 0
40 define i32 @f5() nounwind {
41 entry:
42   %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(ptr elementtype(i32) @x) nounwind
43   ret i32 %asmtmp
46 ; CHECK-LABEL: f6:
47 ; CHECK: ldw r0, cp[y]
48 ; CHECK: retsp 0
49 define i32 @f6() nounwind {
50 entry:
51   %asmtmp = call i32 asm "ldw $0, $1", "=r,*m"(ptr elementtype(i32) @y) nounwind
52   ret i32 %asmtmp