Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
      2 
      3 
      4 define float @foo(<2 x float> %a) {
      5 ; CHECK: .func (.param .b32 func_retval0) foo
      6 ; CHECK: .param .align 8 .b8 foo_param_0[8]
      7 ; CHECK: ld.param.v2.f32 {%f{{[0-9]+}}, %f{{[0-9]+}}}
      8   %t1 = fmul <2 x float> %a, %a
      9   %t2 = extractelement <2 x float> %t1, i32 0
     10   %t3 = extractelement <2 x float> %t1, i32 1
     11   %t4 = fadd float %t2, %t3
     12   ret float %t4
     13 }
     14 
     15 
     16 define float @bar(<4 x float> %a) {
     17 ; CHECK: .func (.param .b32 func_retval0) bar
     18 ; CHECK: .param .align 16 .b8 bar_param_0[16]
     19 ; CHECK: ld.param.v4.f32 {%f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}}
     20   %t1 = fmul <4 x float> %a, %a
     21   %t2 = extractelement <4 x float> %t1, i32 0
     22   %t3 = extractelement <4 x float> %t1, i32 1
     23   %t4 = fadd float %t2, %t3
     24   ret float %t4
     25 }
     26 
     27 
     28 define <4 x float> @baz(<4 x float> %a) {
     29 ; CHECK: .func  (.param .align 16 .b8 func_retval0[16]) baz
     30 ; CHECK: .param .align 16 .b8 baz_param_0[16]
     31 ; CHECK: ld.param.v4.f32 {%f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}}
     32 ; CHECK: st.param.v4.f32 [func_retval0+0], {%f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}}
     33   %t1 = fmul <4 x float> %a, %a
     34   ret <4 x float> %t1
     35 }
     36