xref: /llvm-project/llvm/test/CodeGen/NVPTX/common-linkage.ll (revision b279f6b098d3849f7f1c1f539b108307d5f8ae2d)
1; RUN: llc < %s -mtriple=nvptx -mcpu=sm_20 -mattr=+ptx43 | FileCheck %s --check-prefixes CHECK,PTX43
2; RUN: llc < %s -mtriple=nvptx -mcpu=sm_20 -mattr=+ptx50 | FileCheck %s --check-prefixes CHECK,PTX50
3; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 -mattr=+ptx43 | %ptxas-verify %}
4; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 -mattr=+ptx50 | %ptxas-verify %}
5
6; PTX43: .weak .global .align 4 .u32 g
7; PTX50: .common .global .align 4 .u32 g
8@g = common addrspace(1) global i32 0, align 4
9
10; CHECK: .weak .const .align 4 .u32 c
11@c = common addrspace(4) global i32 0, align 4
12
13; CHECK: .weak .shared .align 4 .u32 s
14@s = common addrspace(3) global i32 0, align 4
15
16define i32 @f1() {
17  %1 = load i32, ptr addrspace(1) @g
18  ret i32 %1
19}
20
21define i32 @f4() {
22  %1 = load i32, ptr addrspace(4) @c
23  ret i32 %1
24}
25
26define i32 @f3() {
27  %1 = load i32, ptr addrspace(3) @s
28  ret i32 %1
29}
30