Revert r240302 ("Bring r240130 back.").
[oota-llvm.git] / test / MC / Sparc / sparc-pic.s
1 ! RUN: llvm-mc %s -arch=sparcv9 --relocation-model=pic -filetype=obj | llvm-readobj -r | FileCheck %s
2
3
4 ! CHECK:      Relocations [
5 ! CHECK-NOT:    0x{{[0-9,A-F]+}} R_SPARC_WPLT30 .text 0xC
6 ! CHECK:        0x{{[0-9,A-F]+}} R_SPARC_PC22 _GLOBAL_OFFSET_TABLE_ 0x4
7 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_PC10 _GLOBAL_OFFSET_TABLE_ 0x8
8 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT22 AGlobalVar 0x0
9 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT10 AGlobalVar 0x0
10 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT22 .LC0 0x0
11 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_GOT10 .LC0 0x0
12 ! CHECK-NEXT:   0x{{[0-9,A-F]+}} R_SPARC_WPLT30 bar 0x0
13 ! CHECK:      ]
14
15         .section        ".rodata"
16         .align 8
17 .LC0:
18         .asciz   "string"
19         .section ".text"
20         .text
21         .globl  foo
22         .align  4
23         .type   foo,@function
24 foo:
25         .cfi_startproc
26         save %sp, -176, %sp
27         .cfi_def_cfa_register %fp
28         .cfi_window_save
29         .cfi_register 15, 31
30 .Ltmp4:
31         call .Ltmp5
32 .Ltmp6:
33         sethi %hi(_GLOBAL_OFFSET_TABLE_+(.Ltmp6-.Ltmp4)), %i1
34 .Ltmp5:
35         or %i1, %lo(_GLOBAL_OFFSET_TABLE_+(.Ltmp5-.Ltmp4)), %i1
36         add %i1, %o7, %i1
37         sethi %hi(AGlobalVar), %i2
38         add %i2, %lo(AGlobalVar), %i2
39         ldx [%i1+%i2], %i3
40         ldx [%i3], %i3
41         sethi %hi(.LC0), %i2
42         add %i2, %lo(.LC0), %i2
43         ldx [%i1+%i2], %i4
44         call bar
45         add %i0, %i1, %o0
46         ret
47         restore %g0, %o0, %o0
48 .Ltmp7:
49         .size   foo, .Ltmp7-foo
50         .cfi_endproc
51
52         .type   AGlobalVar,@object      ! @AGlobalVar
53         .section        .bss,#alloc,#write
54         .globl  AGlobalVar
55         .align  8
56 AGlobalVar:
57         .xword  0                       ! 0x0
58         .size   AGlobalVar, 8