Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s | FileCheck %s
      2 ; RUN: llc -relocation-model=pic < %s | FileCheck %s
      3 
      4 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
      5 target triple = "x86_64-unknown-linux-gnu"
      6 
      7 @cmp8 = external hidden global i8, !absolute_symbol !0
      8 @cmp32 = external hidden global i8, !absolute_symbol !1
      9 
     10 declare void @f()
     11 
     12 define void @foo8(i64 %val) {
     13   ; CHECK: cmpq $cmp8@ABS8, %rdi
     14   %cmp = icmp ule i64 %val, ptrtoint (i8* @cmp8 to i64)
     15   br i1 %cmp, label %t, label %f
     16 
     17 t:
     18   call void @f()
     19   ret void
     20 
     21 f:
     22   ret void
     23 }
     24 
     25 define void @foo32(i64 %val) {
     26   ; CHECK: cmpq $cmp32, %rdi
     27   %cmp = icmp ule i64 %val, ptrtoint (i8* @cmp32 to i64)
     28   br i1 %cmp, label %t, label %f
     29 
     30 t:
     31   call void @f()
     32   ret void
     33 
     34 f:
     35   ret void
     36 }
     37 
     38 !0 = !{i64 0, i64 128}
     39 !1 = !{i64 0, i64 2147483648}
     40