xref: /llvm-project/llvm/test/CodeGen/NVPTX/isspacep.ll (revision b279f6b098d3849f7f1c1f539b108307d5f8ae2d)
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_20 | FileCheck %s
2; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 | %ptxas-verify %}
3
4declare i1 @llvm.nvvm.isspacep.const(ptr) readnone noinline
5declare i1 @llvm.nvvm.isspacep.global(ptr) readnone noinline
6declare i1 @llvm.nvvm.isspacep.local(ptr) readnone noinline
7declare i1 @llvm.nvvm.isspacep.shared(ptr) readnone noinline
8
9; CHECK: is_const
10define i1 @is_const(ptr %addr) {
11; CHECK: isspacep.const
12  %v = tail call i1 @llvm.nvvm.isspacep.const(ptr %addr)
13  ret i1 %v
14}
15
16; CHECK: is_global
17define i1 @is_global(ptr %addr) {
18; CHECK: isspacep.global
19  %v = tail call i1 @llvm.nvvm.isspacep.global(ptr %addr)
20  ret i1 %v
21}
22
23; CHECK: is_local
24define i1 @is_local(ptr %addr) {
25; CHECK: isspacep.local
26  %v = tail call i1 @llvm.nvvm.isspacep.local(ptr %addr)
27  ret i1 %v
28}
29
30; CHECK: is_shared
31define i1 @is_shared(ptr %addr) {
32; CHECK: isspacep.shared
33  %v = tail call i1 @llvm.nvvm.isspacep.shared(ptr %addr)
34  ret i1 %v
35}
36
37