xref: /llvm-project/llvm/test/CodeGen/WebAssembly/thread_pointer.ll (revision ea58410d0fd75c9dc6d395bba15e939ed7c35cb1)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=wasm32-unknown-unknown | FileCheck %s --check-prefix=WASM32
3; RUN: llc < %s -mtriple=wasm64-unknown-unknown | FileCheck %s --check-prefix=WASM64
4
5declare ptr @llvm.thread.pointer()
6
7define ptr @thread_pointer() nounwind {
8; WASM32-LABEL: thread_pointer:
9; WASM32:         .functype thread_pointer () -> (i32)
10; WASM32-NEXT:  # %bb.0:
11; WASM32-NEXT:    global.get __tls_base
12; WASM32-NEXT:    # fallthrough-return
13;
14; WASM64-LABEL: thread_pointer:
15; WASM64:         .functype thread_pointer () -> (i64)
16; WASM64-NEXT:  # %bb.0:
17; WASM64-NEXT:    global.get __tls_base
18; WASM64-NEXT:    # fallthrough-return
19  %1 = tail call ptr @llvm.thread.pointer()
20  ret ptr %1
21}
22