| Evan Cheng | 8b2bda0 | 2011-07-07 03:55:05 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=static | FileCheck %s -check-prefix=DarwinStatic | 
|  | 2 | ; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=dynamic-no-pic | FileCheck %s -check-prefix=DarwinDynamic | 
|  | 3 | ; RUN: llc < %s -mtriple=armv6-apple-darwin -relocation-model=pic | FileCheck %s -check-prefix=DarwinPIC | 
|  | 4 | ; RUN: llc < %s -mtriple=armv6-linux-gnueabi -relocation-model=pic | FileCheck %s -check-prefix=LinuxPIC | 
| Evan Cheng | a5007fa | 2007-01-19 09:20:23 +0000 | [diff] [blame] | 5 |  | 
| Evan Cheng | 726e66f | 2007-05-04 00:29:34 +0000 | [diff] [blame] | 6 | @G = external global i32 | 
| Evan Cheng | a5007fa | 2007-01-19 09:20:23 +0000 | [diff] [blame] | 7 |  | 
| Evan Cheng | 726e66f | 2007-05-04 00:29:34 +0000 | [diff] [blame] | 8 | define i32 @test1() { | 
|  | 9 | %tmp = load i32* @G | 
|  | 10 | ret i32 %tmp | 
| Evan Cheng | a5007fa | 2007-01-19 09:20:23 +0000 | [diff] [blame] | 11 | } | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 12 |  | 
|  | 13 | ; DarwinStatic: _test1: | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 14 | ; DarwinStatic: 	ldr r0, LCPI0_0 | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 15 | ; DarwinStatic:	        ldr r0, [r0] | 
|  | 16 | ; DarwinStatic:	        bx lr | 
|  | 17 |  | 
|  | 18 | ; DarwinStatic: 	.align	2 | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 19 | ; DarwinStatic:	LCPI0_0: | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 20 | ; DarwinStatic: 	.long	{{_G$}} | 
|  | 21 |  | 
|  | 22 |  | 
|  | 23 | ; DarwinDynamic: _test1: | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 24 | ; DarwinDynamic: 	ldr r0, LCPI0_0 | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 25 | ; DarwinDynamic:        ldr r0, [r0] | 
|  | 26 | ; DarwinDynamic:        ldr r0, [r0] | 
|  | 27 | ; DarwinDynamic:        bx lr | 
|  | 28 |  | 
|  | 29 | ; DarwinDynamic: 	.align	2 | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 30 | ; DarwinDynamic:	LCPI0_0: | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 31 | ; DarwinDynamic: 	.long	L_G$non_lazy_ptr | 
|  | 32 |  | 
|  | 33 | ; DarwinDynamic: 	.section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers | 
|  | 34 | ; DarwinDynamic:	.align	2 | 
|  | 35 | ; DarwinDynamic: L_G$non_lazy_ptr: | 
|  | 36 | ; DarwinDynamic:	.indirect_symbol _G | 
|  | 37 | ; DarwinDynamic:	.long	0 | 
|  | 38 |  | 
|  | 39 |  | 
|  | 40 |  | 
|  | 41 | ; DarwinPIC: _test1: | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 42 | ; DarwinPIC: 	ldr r0, LCPI0_0 | 
|  | 43 | ; DarwinPIC: LPC0_0: | 
| Johnny Chen | 8f3004c | 2010-03-17 17:52:21 +0000 | [diff] [blame] | 44 | ; DarwinPIC:    ldr r0, [pc, r0] | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 45 | ; DarwinPIC:    ldr r0, [r0] | 
|  | 46 | ; DarwinPIC:    bx lr | 
|  | 47 |  | 
|  | 48 | ; DarwinPIC: 	.align	2 | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 49 | ; DarwinPIC: LCPI0_0: | 
|  | 50 | ; DarwinPIC: 	.long	L_G$non_lazy_ptr-(LPC0_0+8) | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 51 |  | 
|  | 52 | ; DarwinPIC: 	.section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers | 
|  | 53 | ; DarwinPIC:	.align	2 | 
|  | 54 | ; DarwinPIC: L_G$non_lazy_ptr: | 
|  | 55 | ; DarwinPIC:	.indirect_symbol _G | 
|  | 56 | ; DarwinPIC:	.long	0 | 
|  | 57 |  | 
|  | 58 |  | 
|  | 59 |  | 
|  | 60 | ; LinuxPIC: test1: | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 61 | ; LinuxPIC: 	ldr r0, .LCPI0_0 | 
|  | 62 | ; LinuxPIC: 	ldr r1, .LCPI0_1 | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 63 |  | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 64 | ; LinuxPIC: .LPC0_0: | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 65 | ; LinuxPIC: 	add r0, pc, r0 | 
| Johnny Chen | 8f3004c | 2010-03-17 17:52:21 +0000 | [diff] [blame] | 66 | ; LinuxPIC: 	ldr r0, [r1, r0] | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 67 | ; LinuxPIC: 	ldr r0, [r0] | 
|  | 68 | ; LinuxPIC: 	bx lr | 
|  | 69 |  | 
| Rafael Espindola | dcb03f0 | 2010-01-26 20:21:43 +0000 | [diff] [blame] | 70 | ; LinuxPIC: .align 2 | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 71 | ; LinuxPIC: .LCPI0_0: | 
|  | 72 | ; LinuxPIC:     .long _GLOBAL_OFFSET_TABLE_-(.LPC0_0+8) | 
| Dan Gohman | 4fee6f3 | 2010-04-17 16:29:15 +0000 | [diff] [blame] | 73 | ; LinuxPIC: .LCPI0_1: | 
| Chris Lattner | 0ed8895 | 2009-10-19 18:27:56 +0000 | [diff] [blame] | 74 | ; LinuxPIC:     .long	G(GOT) |