| ; 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 | |
| } |