xref: /llvm-project/llvm/test/CodeGen/PowerPC/aix-relativeref.ll (revision 427fb35192f1f7bb694a5910b05abc5925a798b2)
12cfd4276SJinsong Ji; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff  < %s | \
22cfd4276SJinsong Ji; RUN:   FileCheck --check-prefix=ASM %s
32cfd4276SJinsong Ji
42cfd4276SJinsong Ji@__profc_main = private global [1 x i64] zeroinitializer, section "__llvm_prf_cnts", align 8
5*427fb351SKai Nacke@__profd_main = private global { i64, i64, i64, ptr, ptr, i32, [4 x i16] } { i64 -2624081020897602054, i64 742261418966908927, i64 sub (i64 ptrtoint (ptr @__profc_main to i64), i64 ptrtoint (ptr @__profd_main to i64)), ptr @main, ptr null, i32 1, [4 x i16] zeroinitializer }, section "__llvm_prf_data", align 8
62cfd4276SJinsong Ji
72cfd4276SJinsong Ji; Test fallback of using sub expr for lowerRelativeReference
82cfd4276SJinsong Jidefine signext i32 @main() {
92cfd4276SJinsong Ji; ASM-LABEL: main:
102cfd4276SJinsong Ji; ASM:  L..__profd_main:
112cfd4276SJinsong Ji; ASM:        .vbyte  8, L..__profc_main-L..__profd_main
122cfd4276SJinsong Jientry:
13*427fb351SKai Nacke  %pgocount = load i64, ptr @__profc_main, align 8
142cfd4276SJinsong Ji  %0 = add i64 %pgocount, 1
15*427fb351SKai Nacke  store i64 %0, ptr @__profc_main, align 8
162cfd4276SJinsong Ji  %retval = alloca i32, align 4
17*427fb351SKai Nacke  store i32 0, ptr %retval, align 4
182cfd4276SJinsong Ji  ret i32 0
192cfd4276SJinsong Ji}
202cfd4276SJinsong Ji
21