Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s --check-prefix=PTX32
      2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s --check-prefix=PTX64
      3 
      4 ; Verify that the NVPTX target removes invalid symbol names prior to emitting
      5 ; PTX.
      6 
      7 ; PTX32-NOT: .str
      8 ; PTX64-NOT: .str
      9 
     10 ; PTX32-DAG: _$_str.1
     11 ; PTX32-DAG: _$_str
     12 
     13 ; PTX64-DAG: _$_str.1
     14 ; PTX64-DAG: _$_str
     15 
     16 target datalayout = "e-i64:64-v16:16-v32:32-n16:32:64"
     17 target triple = "nvptx64-unknown-unknown"
     18 
     19 
     20 @.str = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
     21 @_$_str = private unnamed_addr constant [13 x i8] c"%d %f %c %d\0A\00", align 1
     22 
     23 
     24 ; Function Attrs: nounwind
     25 define void @foo(i32 %a, float %b, i8 signext %c, i32 %e) {
     26 entry:
     27   %call = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str, i32 0, i32 0))
     28   ret void
     29 }
     30 
     31 declare i32 @printf(i8*, ...)
     32