aboutsummaryrefslogtreecommitdiffstats
path: root/test/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-10-16 18:00:18 +0000
committerChris Lattner <sabre@nondot.org>2007-10-16 18:00:18 +0000
commit281a124bb1d183225f09c33a4278a0390a40cec7 (patch)
tree7f085bfc2e3c4d5a53c00503c3be73c26c1e9bca /test/CodeGen
parent7520ebba725803acc395964a79d94cfa1ddc7a63 (diff)
downloadexternal_llvm-281a124bb1d183225f09c33a4278a0390a40cec7.zip
external_llvm-281a124bb1d183225f09c33a4278a0390a40cec7.tar.gz
external_llvm-281a124bb1d183225f09c33a4278a0390a40cec7.tar.bz2
Fix a bug handling frame references in ppc inline asm when the frame offset
doesn't fit into 16 bits. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43032 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r--test/CodeGen/PowerPC/2007-10-16-InlineAsmFrameOffset.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/2007-10-16-InlineAsmFrameOffset.ll b/test/CodeGen/PowerPC/2007-10-16-InlineAsmFrameOffset.ll
new file mode 100644
index 0000000..e71a8fb
--- /dev/null
+++ b/test/CodeGen/PowerPC/2007-10-16-InlineAsmFrameOffset.ll
@@ -0,0 +1,14 @@
+; RUN: llvm-as < %s | llc -march=ppc32
+; rdar://5538377
+
+ %struct.disk_unsigned = type { i32 }
+ %struct._StorePageMax = type { %struct.disk_unsigned, %struct.disk_unsigned, [65536 x i8] }
+
+define i32 @test() {
+entry:
+ %data = alloca i32 ; <i32*> [#uses=1]
+ %compressedPage = alloca %struct._StorePageMax ; <%struct._StorePageMax*> [#uses=0]
+ %tmp107 = call i32 asm "lwbrx $0, $2, $1", "=r,r,bO,*m"( i8* null, i32 0, i32* %data ) ; <i32> [#uses=0]
+ unreachable
+}
+