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 
      5 ;; i8
      6 
      7 define void @st_global_i8(i8 addrspace(0)* %ptr, i8 %a) {
      8 ; PTX32: st.u8 [%r{{[0-9]+}}], %rs{{[0-9]+}}
      9 ; PTX32: ret
     10 ; PTX64: st.u8 [%rl{{[0-9]+}}], %rs{{[0-9]+}}
     11 ; PTX64: ret
     12   store i8 %a, i8 addrspace(0)* %ptr
     13   ret void
     14 }
     15 
     16 ;; i16
     17 
     18 define void @st_global_i16(i16 addrspace(0)* %ptr, i16 %a) {
     19 ; PTX32: st.u16 [%r{{[0-9]+}}], %rs{{[0-9]+}}
     20 ; PTX32: ret
     21 ; PTX64: st.u16 [%rl{{[0-9]+}}], %rs{{[0-9]+}}
     22 ; PTX64: ret
     23   store i16 %a, i16 addrspace(0)* %ptr
     24   ret void
     25 }
     26 
     27 ;; i32
     28 
     29 define void @st_global_i32(i32 addrspace(0)* %ptr, i32 %a) {
     30 ; PTX32: st.u32 [%r{{[0-9]+}}], %r{{[0-9]+}}
     31 ; PTX32: ret
     32 ; PTX64: st.u32 [%rl{{[0-9]+}}], %r{{[0-9]+}}
     33 ; PTX64: ret
     34   store i32 %a, i32 addrspace(0)* %ptr
     35   ret void
     36 }
     37 
     38 ;; i64
     39 
     40 define void @st_global_i64(i64 addrspace(0)* %ptr, i64 %a) {
     41 ; PTX32: st.u64 [%r{{[0-9]+}}], %rl{{[0-9]+}}
     42 ; PTX32: ret
     43 ; PTX64: st.u64 [%rl{{[0-9]+}}], %rl{{[0-9]+}}
     44 ; PTX64: ret
     45   store i64 %a, i64 addrspace(0)* %ptr
     46   ret void
     47 }
     48 
     49 ;; f32
     50 
     51 define void @st_global_f32(float addrspace(0)* %ptr, float %a) {
     52 ; PTX32: st.f32 [%r{{[0-9]+}}], %f{{[0-9]+}}
     53 ; PTX32: ret
     54 ; PTX64: st.f32 [%rl{{[0-9]+}}], %f{{[0-9]+}}
     55 ; PTX64: ret
     56   store float %a, float addrspace(0)* %ptr
     57   ret void
     58 }
     59 
     60 ;; f64
     61 
     62 define void @st_global_f64(double addrspace(0)* %ptr, double %a) {
     63 ; PTX32: st.f64 [%r{{[0-9]+}}], %fl{{[0-9]+}}
     64 ; PTX32: ret
     65 ; PTX64: st.f64 [%rl{{[0-9]+}}], %fl{{[0-9]+}}
     66 ; PTX64: ret
     67   store double %a, double addrspace(0)* %ptr
     68   ret void
     69 }
     70