Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -mtriple=x86_64-apple-darwin -o %t1
      2 ; RUN: grep GOTPCREL %t1 | count 4
      3 ; RUN: grep %%rip      %t1 | count 6
      4 ; RUN: grep movq     %t1 | count 6
      5 ; RUN: grep leaq     %t1 | count 1
      6 ; RUN: llc < %s -mtriple=x86_64-pc-linux -relocation-model=static -o %t2
      7 ; RUN: grep movl %t2 | count 2
      8 ; RUN: grep movq %t2 | count 2
      9 
     10 @ptr = external global i32*		; <i32**> [#uses=1]
     11 @src = external global [0 x i32]		; <[0 x i32]*> [#uses=1]
     12 @dst = external global [0 x i32]		; <[0 x i32]*> [#uses=1]
     13 @lptr = internal global i32* null		; <i32**> [#uses=1]
     14 @ldst = internal global [500 x i32] zeroinitializer, align 32		; <[500 x i32]*> [#uses=1]
     15 @lsrc = internal global [500 x i32] zeroinitializer, align 32		; <[500 x i32]*> [#uses=0]
     16 @bsrc = internal global [500000 x i32] zeroinitializer, align 32		; <[500000 x i32]*> [#uses=0]
     17 @bdst = internal global [500000 x i32] zeroinitializer, align 32		; <[500000 x i32]*> [#uses=0]
     18 
     19 define void @test1() nounwind {
     20 	%tmp = load i32* getelementptr ([0 x i32]* @src, i32 0, i32 0)		; <i32> [#uses=1]
     21 	store i32 %tmp, i32* getelementptr ([0 x i32]* @dst, i32 0, i32 0)
     22 	ret void
     23 }
     24 
     25 define void @test2() nounwind {
     26 	store i32* getelementptr ([0 x i32]* @dst, i32 0, i32 0), i32** @ptr
     27 	ret void
     28 }
     29 
     30 define void @test3() nounwind {
     31 	store i32* getelementptr ([500 x i32]* @ldst, i32 0, i32 0), i32** @lptr
     32 	br label %return
     33 
     34 return:		; preds = %0
     35 	ret void
     36 }
     37