aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/Hexagon/thread-pointer.ll
blob: cebb9ff3e202d92420dc0de403c878937f0d3d7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=hexagon < %s | FileCheck %s
;
; This test verifies the thread pointer intrinsic implementation for Hexagon.
; The thread pointer (UGP register) is used to access thread-local storage.

declare ptr @llvm.thread.pointer() nounwind readnone

define ptr @thread_pointer() nounwind {
; CHECK-LABEL: thread_pointer:
; CHECK: // %bb.0:
; CHECK:         r0 = ugp
; CHECK-NEXT:    jumpr r31
  %1 = tail call ptr @llvm.thread.pointer()
  ret ptr %1
}