Add tests for handling of globals and tls on the XCore. These currently fail
authorRichard Osborne <richard@xmos.com>
Fri, 24 Jul 2009 00:38:20 +0000 (00:38 +0000)
committerRichard Osborne <richard@xmos.com>
Fri, 24 Jul 2009 00:38:20 +0000 (00:38 +0000)
but pass when run against r76652.

llvm-svn: 76923

llvm/test/CodeGen/XCore/globals.ll [new file with mode: 0644]
llvm/test/CodeGen/XCore/tls.ll [new file with mode: 0644]

diff --git a/llvm/test/CodeGen/XCore/globals.ll b/llvm/test/CodeGen/XCore/globals.ll
new file mode 100644 (file)
index 0000000..07d56a1
--- /dev/null
@@ -0,0 +1,37 @@
+; RUN: llvm-as < %s | llc -march=xcore -mcpu=xs1b-generic | FileCheck %s
+; XFAIL: *
+
+define i32 *@addr_G1() {
+entry:
+; CHECK: addr_G1:
+; CHECK: ldaw r0, dp[G1]
+       ret i32* @G1
+}
+
+define i32 *@addr_G2() {
+entry:
+; CHECK: addr_G2:
+; CHECK: ldaw r0, dp[G2]
+       ret i32* @G2
+}
+
+define i32 *@addr_G3() {
+entry:
+; CHECK: addr_G3:
+; CHECK: ldaw r11, cp[G3]
+; CHECK: mov r0, r11
+       ret i32* @G3
+}
+
+@G1 = global i32 4712
+; CHECK: .section .dp.data,"awd",@progbits
+; CHECK: G1:
+
+@G2 = global i32 0
+; CHECK: .section .dp.bss,"awd",@nobits
+; CHECK: G2:
+
+@G3 = constant i32 9401
+; CHECK: .section .cp.rodata,"ac",@progbits
+; CHECK: G3:
+
diff --git a/llvm/test/CodeGen/XCore/tls.ll b/llvm/test/CodeGen/XCore/tls.ll
new file mode 100644 (file)
index 0000000..d645608
--- /dev/null
@@ -0,0 +1,21 @@
+; RUN: llvm-as < %s | llc -march=xcore -mcpu=xs1b-generic | FileCheck %s
+; XFAIL: *
+
+define i32 *@addr_G() {
+entry:
+; CHECK: addr_G:
+; CHECK: get r11, id
+       ret i32* @G
+}
+
+@G = thread_local global i32 15
+; CHECK: .section .dp.data,"awd",@progbits
+; CHECK: G:
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15
+; CHECK: .long 15