xref: /llvm-project/llvm/test/CodeGen/NVPTX/module-inline-asm.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
4target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
5
6; module asm must come after PTX version/target directives.
7; CHECK-NOT: .global .b32 val;
8
9; CHECK-DAG: .version
10; CHECK-DAG: .target
11
12; CHECK: .global .b32 val;
13module asm ".global .b32 val;"
14
15; module asm must happen before we emit other things.
16; CHECK-LABEL: .visible .func foo
17define void @foo() {
18  ret void
19}
20; Make sure it does not show up anywhere else in the output.
21; CHECK-NOT: .global .b32 val;
22