blob: 7f729a0e4022d381497d846a89c13f9b284a2062 [file] [edit]
; RUN: llc < %s -mtriple=nvptx -mcpu=sm_20 | FileCheck %s --check-prefix=PTX32
; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_20 | FileCheck %s --check-prefix=PTX64
; RUN: %if ptxas-ptr32 %{ llc < %s -mtriple=nvptx -mcpu=sm_20 | %ptxas-verify %}
; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 | %ptxas-verify %}
; Pointer globals use the same unsigned integer type in declarations and
; definitions, with or without an initializer.
; PTX32-DAG: .extern .global .align 4 .u32 ptr_decl;
; PTX64-DAG: .extern .global .align 8 .u64 ptr_decl;
@ptr_decl = external addrspace(1) global ptr
; PTX32-DAG: .visible .global .align 4 .u32 ptr_null;
; PTX64-DAG: .visible .global .align 8 .u64 ptr_null;
@ptr_null = addrspace(1) global ptr null
; PTX32-DAG: .visible .global .align 4 .u32 value;
; PTX64-DAG: .visible .global .align 4 .u32 value;
@value = addrspace(1) global i32 0
; PTX32-DAG: .visible .global .align 4 .u32 ptr_init = value;
; PTX64-DAG: .visible .global .align 8 .u64 ptr_init = value;
@ptr_init = addrspace(1) global ptr addrspace(1) @value