xref: /llvm-project/llvm/test/CodeGen/NVPTX/global-incomplete-init.ll (revision b279f6b098d3849f7f1c1f539b108307d5f8ae2d)
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_50 | FileCheck %s
2; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_50 | %ptxas-verify %}
3
4; Make sure the globals constants have trailing zeros properly trimmed
5
6; basic case
7; CHECK-DAG: .b8 A[8] = {3, 4, 0, 0, 5};
8@A = global [8 x i8] [i8 3, i8 4, i8 0, i8 0, i8 5, i8 0, i8 0, i8 0]
9
10; all-zeros
11; CHECK-DAG: .b8 B[2];
12@B = global [2 x i8] [i8 0, i8 0]
13
14; all-non-zeros
15; CHECK-DAG: .b8 C[4] = {1, 2, 3, 4};
16@C = global [4 x i8] [i8 1, i8 2, i8 3, i8 4]
17
18; initializer with a symbol, the last 0 could be default initialized
19; CHECK-DAG: .u8 e = 1;
20; CHECK-DAG: .u64 D[4] = {e, 0, e, 0};
21@e = addrspace(1) global i8 1
22@D = addrspace(1) global [4 x ptr addrspace(1)] [ptr addrspace(1) @e, ptr addrspace(1) null, ptr addrspace(1) @e, ptr addrspace(1) null]
23