[NVPTX] Add support for isspacep instruction
[oota-llvm.git] / test / CodeGen / NVPTX / isspacep.ll
1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
2
3 declare i1 @llvm.nvvm.isspacep.const(i8*) readnone noinline
4 declare i1 @llvm.nvvm.isspacep.global(i8*) readnone noinline
5 declare i1 @llvm.nvvm.isspacep.local(i8*) readnone noinline
6 declare i1 @llvm.nvvm.isspacep.shared(i8*) readnone noinline
7
8 ; CHECK: is_const
9 define i1 @is_const(i8* %addr) {
10 ; CHECK: isspacep.const
11   %v = tail call i1 @llvm.nvvm.isspacep.const(i8* %addr)
12   ret i1 %v
13 }
14
15 ; CHECK: is_global
16 define i1 @is_global(i8* %addr) {
17 ; CHECK: isspacep.global
18   %v = tail call i1 @llvm.nvvm.isspacep.global(i8* %addr)
19   ret i1 %v
20 }
21
22 ; CHECK: is_local
23 define i1 @is_local(i8* %addr) {
24 ; CHECK: isspacep.local
25   %v = tail call i1 @llvm.nvvm.isspacep.local(i8* %addr)
26   ret i1 %v
27 }
28
29 ; CHECK: is_shared
30 define i1 @is_shared(i8* %addr) {
31 ; CHECK: isspacep.shared
32   %v = tail call i1 @llvm.nvvm.isspacep.shared(i8* %addr)
33   ret i1 %v
34 }
35