brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 27063f8 Raw
32 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_20 -verify-machineinstrs | FileCheck %s2; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 -verify-machineinstrs | %ptxas-verify %}3 4target triple = "nvptx-unknown-cuda"5 6declare void @bar(<4 x i32>)7 8; CHECK-LABEL: .func foo(9; CHECK-DAG: ld.param.v4.b32 {[[E0:%r[0-9]+]], [[E1:%r[0-9]+]], [[E2:%r[0-9]+]], [[E3:%r[0-9]+]]}, [foo_param_0];10; CHECK: .param .align 16 .b8 param0[16];11; CHECK-DAG: st.param.v4.b32  [param0],  {[[E0]], [[E1]], [[E2]], [[E3]]};12; CHECK:     call.uni13; CHECK:     ret;14define void @foo(<4 x i32> %a) {15  tail call void @bar(<4 x i32> %a)16  ret void17}18 19; CHECK-LABEL: .func foo3(20; CHECK-DAG: ld.param.v2.b32 {[[E0:%r[0-9]+]], [[E1:%r[0-9]+]]}, [foo3_param_0];21; CHECK-DAG: ld.param.b32 [[E2:%r[0-9]+]], [foo3_param_0+8];22; CHECK: .param .align 16 .b8 param0[16];23; CHECK-DAG: st.param.v2.b32  [param0],  {[[E0]], [[E1]]};24; CHECK-DAG: st.param.b32     [param0+8],  [[E2]];25; CHECK:     call.uni26; CHECK:     ret;27declare void @bar3(<3 x i32>)28define void @foo3(<3 x i32> %a) {29  tail call void @bar3(<3 x i32> %a)30  ret void31}32