| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 |
| ; RUN: llc -mtriple=x86_64-linux-gnu -code-model=medium -relocation-model=pic < %s | FileCheck %s |
| |
| @small_decl = external dso_local global i32, section ".data.foo" |
| @large_decl = external dso_local global i32, section ".ldata.foo" |
| |
| define i32 @test_small() { |
| ; CHECK-LABEL: test_small: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: movl small_decl(%rip), %eax |
| ; CHECK-NEXT: retq |
| %v = load i32, ptr @small_decl |
| ret i32 %v |
| } |
| |
| define i32 @test_large() { |
| ; CHECK-LABEL: test_large: |
| ; CHECK: # %bb.0: |
| ; CHECK-NEXT: leaq _GLOBAL_OFFSET_TABLE_(%rip), %rax |
| ; CHECK-NEXT: movabsq $large_decl@GOTOFF, %rcx |
| ; CHECK-NEXT: movl (%rax,%rcx), %eax |
| ; CHECK-NEXT: retq |
| %v = load i32, ptr @large_decl |
| ret i32 %v |
| } |