Venkatraman Govindaraju | 104643d | 2014-02-07 04:24:35 +0000 | [diff] [blame^] | 1 | ; RUN: llc < %s -march=sparcv9 -filetype=obj --relocation-model=static | llvm-readobj -r | FileCheck %s --check-prefix=CHECK-ABS |
| 2 | ; RUN: llc < %s -march=sparcv9 -filetype=obj --relocation-model=pic | llvm-readobj -r | FileCheck %s --check-prefix=CHECK-PIC |
| 3 | |
| 4 | ;CHECK-ABS: Relocations [ |
| 5 | ;CHECK-ABS: 0x{{[0-9,A-F]+}} R_SPARC_H44 AGlobalVar 0x0 |
| 6 | ;CHECK-ABS: 0x{{[0-9,A-F]+}} R_SPARC_M44 AGlobalVar 0x0 |
| 7 | ;CHECK-ABS: 0x{{[0-9,A-F]+}} R_SPARC_L44 AGlobalVar 0x0 |
| 8 | ;CHECK-ABS: 0x{{[0-9,A-F]+}} R_SPARC_WDISP30 bar 0x0 |
| 9 | ;CHECK-ABS:] |
| 10 | |
| 11 | ; CHECK-PIC: Relocations [ |
| 12 | ; CHECK-PIC: 0x{{[0-9,A-F]+}} R_SPARC_PC22 _GLOBAL_OFFSET_TABLE_ 0x4 |
| 13 | ; CHECK-PIC: 0x{{[0-9,A-F]+}} R_SPARC_PC10 _GLOBAL_OFFSET_TABLE_ 0x8 |
| 14 | ; CHECK-PIC: 0x{{[0-9,A-F]+}} R_SPARC_GOT22 AGlobalVar 0x0 |
| 15 | ; CHECK-PIC: 0x{{[0-9,A-F]+}} R_SPARC_GOT10 AGlobalVar 0x0 |
| 16 | ; CHECK-PIC: 0x{{[0-9,A-F]+}} R_SPARC_WPLT30 bar 0x0 |
| 17 | ; CHECK-PIC: ] |
| 18 | |
| 19 | |
| 20 | @AGlobalVar = global i64 0, align 8 |
| 21 | |
| 22 | ; CHECK-ASM: sethi %h44(AGlobalVar), [[R:%[goli][0-7]]] |
| 23 | ; CHECK-ASM: add [[R]], %m44(AGlobalVar), [[R]] |
| 24 | define i64 @foo(i64 %a) { |
| 25 | entry: |
| 26 | %0 = load i64* @AGlobalVar, align 4 |
| 27 | %1 = add i64 %a, %0 |
| 28 | %2 = call i64 @bar(i64 %1) |
| 29 | ret i64 %2 |
| 30 | } |
| 31 | |
| 32 | |
| 33 | declare i64 @bar(i64) |