aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-08 07:04:58 +0000
committerChris Lattner <sabre@nondot.org>2007-12-08 07:04:58 +0000
commitd96428597b9a4bcf3c0702bbb497796b922c2e91 (patch)
treef1a1798418a3653d79be07231d09b8a63f4078bd /test
parent3fc027df4fca0355717515abb4d6e3753e6dee2a (diff)
downloadexternal_llvm-d96428597b9a4bcf3c0702bbb497796b922c2e91.zip
external_llvm-d96428597b9a4bcf3c0702bbb497796b922c2e91.tar.gz
external_llvm-d96428597b9a4bcf3c0702bbb497796b922c2e91.tar.bz2
Fix a significant code quality regression I introduced on PPC64 quite
a while ago. We now produce: _foo: mflr r0 std r0, 16(r1) ld r2, 16(r1) std r2, 0(r3) ld r0, 16(r1) mtlr r0 blr instead of: _foo: mflr r0 std r0, 16(r1) lis r0, 0 ori r0, r0, 16 ldx r2, r1, r0 std r2, 0(r3) ld r0, 16(r1) mtlr r0 blr for: void foo(void **X) { *X = __builtin_return_address(0); } on ppc64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44701 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/CodeGen/PowerPC/retaddr.ll1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/retaddr.ll b/test/CodeGen/PowerPC/retaddr.ll
index 6b9a5e3..f4cad34 100644
--- a/test/CodeGen/PowerPC/retaddr.ll
+++ b/test/CodeGen/PowerPC/retaddr.ll
@@ -1,5 +1,6 @@
; RUN: llvm-as < %s | llc -march=ppc32 | grep mflr
; RUN: llvm-as < %s | llc -march=ppc32 | grep lwz
+; RUN: llvm-as < %s | llc -march=ppc64 | grep {ld r., 16(r1)}
target triple = "powerpc-apple-darwin8"