CodeGen peephole: fold redundant phys reg copies
[oota-llvm.git] / test / CodeGen / X86 / rip-rel-address.ll
index 576ebe1bd4d5523534142cf2df98b1ec9eb2bcb9..b49d597d9f0589ade91590e4f76d29c8f905c712 100644 (file)
@@ -1,11 +1,14 @@
-; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=pic | FileCheck %s -check-prefix=PIC64
-; RUN: llvm-as < %s | llc -mtriple=x86_64-unknown-linux-gnu -relocation-model=static | FileCheck %s -check-prefix=STATIC64
+; RUN: llc < %s -march=x86-64 -relocation-model=pic -mtriple=x86_64-apple-darwin10 | FileCheck %s -check-prefix=PIC64
+; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -relocation-model=static | FileCheck %s -check-prefix=STATIC64
+
+; Use %rip-relative addressing even in static mode on x86-64, because
+; it has a smaller encoding.
 
 @a = internal global double 3.4
 define double @foo() nounwind {
-  %a = load double* @a
+  %a = load double, double* @a
   ret double %a
   
 ; PIC64:    movsd      _a(%rip), %xmm0
-; STATIC64: movsd      a, %xmm0
+; STATIC64: movsd      a(%rip), %xmm0
 }