; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr10 -ppc-asm-full-reg-names \
; RUN:   < %s | FileCheck %s --check-prefix=CHECK-S
; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names \
; RUN:   --filetype=obj < %s | llvm-objdump --no-show-raw-insn --mcpu=pwr10 -dr - \
; RUN:   | FileCheck %s --check-prefix=CHECK-O

; These test cases are to ensure that when using pc relative memory operations
; ABI correct code and relocations are produced for the Local Exec TLS Model.

@x = dso_local thread_local global i32 0, align 4
@y = dso_local thread_local global [5 x i32] [i32 0, i32 0, i32 0, i32 0, i32 0], align 4

define dso_local ptr @LocalExecAddressLoad() {
; CHECK-S-LABEL: LocalExecAddressLoad:
; CHECK-S:       # %bb.0: # %entry
; CHECK-S-NEXT:    paddi r3, r13, x@TPREL
; CHECK-S-NEXT:    blr
; CHECK-O-LABEL: <LocalExecAddressLoad>:
; CHECK-O:         0: paddi 3, 13, 0
; CHECK-O-NEXT:    0000000000000000:  R_PPC64_TPREL34 x
; CHECK-O-NEXT:    8: blr
entry:
  ret ptr @x
}

define dso_local i32 @LocalExecValueLoad() {
; CHECK-S-LABEL: LocalExecValueLoad:
; CHECK-S:       # %bb.0: # %entry
; CHECK-S-NEXT:    paddi r3, r13, x@TPREL
; CHECK-S-NEXT:    lwz r3, 0(r3)
; CHECK-S-NEXT:    blr
; CHECK-O-LABEL: <LocalExecValueLoad>:
; CHECK-O:         20: paddi 3, 13, 0
; CHECK-O-NEXT:    0000000000000020:  R_PPC64_TPREL34 x
; CHECK-O-NEXT:    28: lwz 3, 0(3)
; CHECK-O-NEXT:    2c: blr
entry:
  %0 = load i32, ptr @x, align 4
  ret i32 %0
}

define dso_local void @LocalExecValueStore(i32 %in) {
; CHECK-S-LABEL: LocalExecValueStore:
; CHECK-S:       # %bb.0: # %entry
; CHECK-S-NEXT:    paddi r4, r13, x@TPREL
; CHECK-S-NEXT:    stw r3, 0(r4)
; CHECK-S-NEXT:    blr
; CHECK-O-LABEL: <LocalExecValueStore>:
; CHECK-O:         40: paddi 4, 13, 0
; CHECK-O-NEXT:    0000000000000040:  R_PPC64_TPREL34 x
; CHECK-O-NEXT:    48: stw 3, 0(4)
; CHECK-O-NEXT:    4c: blr
entry:
  store i32 %in, ptr @x, align 4
  ret void
}

define dso_local i32 @LocalExecValueLoadOffset() {
; CHECK-S-LABEL: LocalExecValueLoadOffset:
; CHECK-S:       # %bb.0: # %entry
; CHECK-S-NEXT:    paddi r3, r13, y@TPREL
; CHECK-S-NEXT:    lwz r3, 12(r3)
; CHECK-S-NEXT:    blr
; CHECK-O-LABEL: <LocalExecValueLoadOffset>:
; CHECK-O:         60: paddi 3, 13, 0
; CHECK-O-NEXT:    0000000000000060:  R_PPC64_TPREL34 y
; CHECK-O-NEXT:    68: lwz 3, 12(3)
; CHECK-O-NEXT:    6c: blr
entry:
  %0 = load i32, ptr getelementptr inbounds ([5 x i32], ptr @y, i64 0, i64 3), align 4
  ret i32 %0
}


define dso_local ptr @LocalExecValueLoadOffsetNoLoad() {
; CHECK-S-LABEL: LocalExecValueLoadOffsetNoLoad:
; CHECK-S:       # %bb.0: # %entry
; CHECK-S-NEXT:    paddi r3, r13, y@TPREL
; CHECK-S-NEXT:    addi r3, r3, 12
; CHECK-S-NEXT:    blr
; CHECK-O-LABEL: <LocalExecValueLoadOffsetNoLoad>:
; CHECK-O:         80: paddi 3, 13, 0
; CHECK-O-NEXT:    0000000000000080:  R_PPC64_TPREL34 y
; CHECK-O-NEXT:    88: addi 3, 3, 12
; CHECK-O-NEXT:    8c: blr
entry:
  ret ptr getelementptr inbounds ([5 x i32], ptr @y, i64 0, i64 3)
}
