From b215776fa1ee3f1fc389eadc843688c5a0c79a2d Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sun, 12 Apr 2009 23:00:38 +0000 Subject: In X86DAGToDAGISel::MatchWrapper, if base or index are set, avoid matching only if symbolic addresses are RIP relatives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68924 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/2009-04-12-picrel.ll | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 test/CodeGen/X86/2009-04-12-picrel.ll (limited to 'test/CodeGen/X86/2009-04-12-picrel.ll') diff --git a/test/CodeGen/X86/2009-04-12-picrel.ll b/test/CodeGen/X86/2009-04-12-picrel.ll new file mode 100644 index 0000000..73062ab --- /dev/null +++ b/test/CodeGen/X86/2009-04-12-picrel.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | llc -mtriple=x86_64-unknown-linux-gnu -march=x86-64 -relocation-model=static -code-model=small > %t +; RUN: grep leaq %t | count 1 + +@dst = external global [131072 x i32] +@ptr = external global i32* + +define void @off01(i64 %i) nounwind { +entry: + %.sum = add i64 %i, 16 + %0 = getelementptr [131072 x i32]* @dst, i64 0, i64 %.sum + store i32* %0, i32** @ptr, align 8 + ret void +} -- cgit v1.1