28 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s5; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}6 7; CHECK-DAG: %[[#LongTy:]] = OpTypeInt 64 08; CHECK-DAG: %[[#EventTy:]] = OpTypeEvent9; CHECK-DAG: %[[#LongNull:]] = OpConstantNull %[[#LongTy]]10; CHECK-DAG: %[[#EventNull:]] = OpConstantNull %[[#EventTy]]11; CHECK: OpFunction12; CHECK: OpINotEqual %[[#]] %[[#]] %[[#LongNull]]13; CHECK: OpGroupAsyncCopy %[[#EventTy]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#EventNull]]14 15@G_r1 = global i1 016@G_e1 = global target("spirv.Event") poison17 18define weak_odr dso_local spir_kernel void @foo(i64 %_arg_i, ptr addrspace(1) %_arg_ptr, ptr addrspace(3) %_arg_local) {19entry:20 %r1 = icmp ne i64 %_arg_i, 021 store i1 %r1, ptr @G_r122 %e1 = tail call spir_func target("spirv.Event") @__spirv_GroupAsyncCopy(i32 2, ptr addrspace(3) %_arg_local, ptr addrspace(1) %_arg_ptr, i64 1, i64 1, target("spirv.Event") zeroinitializer)23 store target("spirv.Event") %e1, ptr @G_e124 ret void25}26 27declare dso_local spir_func target("spirv.Event") @__spirv_GroupAsyncCopy(i32, ptr addrspace(3), ptr addrspace(1), i64, i64, target("spirv.Event"))28