; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6 ; RUN: llc -verify-machineinstrs < %s -relocation-model=pic -code-model=large | FileCheck %s ; ensure that emitted relocations are valid ; RUN: llc -verify-machineinstrs < %s -relocation-model=pic -code-model=large -filetype=obj target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-linux-gnu" @g = external dso_local constant i8, code_model "small" define ptr @f(i64 %0) { ; CHECK-LABEL: f: ; CHECK: # %bb.0: ; CHECK-NEXT: .L0$pb: ; CHECK-NEXT: leaq .L0$pb(%rip), %rax ; CHECK-NEXT: movabsq $_GLOBAL_OFFSET_TABLE_-.L0$pb, %rcx ; CHECK-NEXT: addq %rax, %rcx ; CHECK-NEXT: movabsq $g@GOTOFF, %rax ; CHECK-NEXT: cmpq $1, %rdi ; CHECK-NEXT: adcq %rcx, %rax ; CHECK-NEXT: retq %2 = icmp eq i64 %0, 0 %3 = zext i1 %2 to i64 %4 = getelementptr i8, ptr @g, i64 %3 ret ptr %4 }