summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/PowerPC/aix-reference-func-addr-const.ll32
1 files changed, 32 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/PowerPC/aix-reference-func-addr-const.ll b/llvm/test/CodeGen/PowerPC/aix-reference-func-addr-const.ll
new file mode 100644
index 00000000000..88d5f3d1427
--- /dev/null
+++ b/llvm/test/CodeGen/PowerPC/aix-reference-func-addr-const.ll
@@ -0,0 +1,32 @@
+; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s
+; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck --check-prefix=CHECK64 %s
+
+@foo_ptr = global void (...)* @foo
+declare void @foo(...)
+
+@bar_ptr1 = global void (...)* bitcast (void ()* @bar to void (...)*)
+define void @bar() {
+entry:
+ ret void
+}
+
+
+;CHECK: .csect .data[RW]
+;CHECK-NEXT: .globl foo_ptr
+;CHECK-NEXT: .align 2
+;CHECK-NEXT: foo_ptr:
+;CHECK-NEXT: .long foo[DS]
+;CHECK-NEXT: .globl bar_ptr1
+;CHECK-NEXT: .align 2
+;CHECK-NEXT: bar_ptr1:
+;CHECK-NEXT: .long bar[DS]
+
+;CHECK64: .csect .data[RW]
+;CHECK64-NEXT: .globl foo_ptr
+;CHECK64-NEXT: .align 3
+;CHECK64-NEXT: foo_ptr:
+;CHECK64-NEXT: .llong foo[DS]
+;CHECK64-NEXT: .globl bar_ptr1
+;CHECK64-NEXT: .align 3
+;CHECK64-NEXT: bar_ptr1:
+;CHECK64-NEXT: .llong bar[DS]
OpenPOWER on IntegriCloud