1; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s 2; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s 3; RUN: %if ptxas %{ llc < %s -march=nvptx -mcpu=sm_20 | %ptxas-verify %} 4; RUN: %if ptxas %{ llc < %s -march=nvptx64 -mcpu=sm_20 | %ptxas-verify %} 5 6@texture = internal addrspace(1) global i64 0, align 8 7; CHECK: .global .texref texture 8@surface = internal addrspace(1) global i64 0, align 8 9; CHECK: .global .surfref surface 10 11; CHECK: .entry kernel_func_maxntid 12define void @kernel_func_maxntid(float* %a) { 13; CHECK: .maxntid 10, 20, 30 14; CHECK: ret 15 ret void 16} 17 18; CHECK: .entry kernel_func_reqntid 19define void @kernel_func_reqntid(float* %a) { 20; CHECK: .reqntid 11, 22, 33 21; CHECK: ret 22 ret void 23} 24 25; CHECK: .entry kernel_func_minctasm 26define void @kernel_func_minctasm(float* %a) { 27; CHECK: .minnctapersm 42 28; CHECK: ret 29 ret void 30} 31 32; CHECK-LABEL: .entry kernel_func_maxnreg 33define void @kernel_func_maxnreg() { 34; CHECK: .maxnreg 1234 35; CHECK: ret 36 ret void 37} 38 39!nvvm.annotations = !{!1, !2, !3, !4, !5, !6, !7, !8, !9, !10} 40 41!1 = !{void (float*)* @kernel_func_maxntid, !"kernel", i32 1} 42!2 = !{void (float*)* @kernel_func_maxntid, !"maxntidx", i32 10, !"maxntidy", i32 20, !"maxntidz", i32 30} 43 44!3 = !{void (float*)* @kernel_func_reqntid, !"kernel", i32 1} 45!4 = !{void (float*)* @kernel_func_reqntid, !"reqntidx", i32 11, !"reqntidy", i32 22, !"reqntidz", i32 33} 46 47!5 = !{void (float*)* @kernel_func_minctasm, !"kernel", i32 1} 48!6 = !{void (float*)* @kernel_func_minctasm, !"minctasm", i32 42} 49 50!7 = !{void ()* @kernel_func_maxnreg, !"kernel", i32 1} 51!8 = !{void ()* @kernel_func_maxnreg, !"maxnreg", i32 1234} 52 53!9 = !{i64 addrspace(1)* @texture, !"texture", i32 1} 54!10 = !{i64 addrspace(1)* @surface, !"surface", i32 1} 55