[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / CodeGen / SPIRV / event-zero-const.ll
blob523d2ad9825f3847bf4e941fa98102f9a0eb3b54
1 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
2 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
4 ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
5 ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
7 ; CHECK-DAG: %[[#LongTy:]] = OpTypeInt 64 0
8 ; CHECK-DAG: %[[#EventTy:]] = OpTypeEvent
9 ; CHECK-DAG: %[[#LongNull:]] = OpConstantNull %[[#LongTy]]
10 ; CHECK-DAG: %[[#EventNull:]] = OpConstantNull %[[#EventTy]]
11 ; CHECK: OpFunction
12 ; CHECK: OpINotEqual %[[#]] %[[#]] %[[#LongNull]]
13 ; CHECK: OpGroupAsyncCopy %[[#EventTy]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#]] %[[#EventNull]]
16 define weak_odr dso_local spir_kernel void @foo(i64 %_arg_i, ptr addrspace(1) %_arg_ptr, ptr addrspace(3) %_arg_local) {
17 entry:
18   %r1 = icmp ne i64 %_arg_i, 0
19   %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)
20   ret void
23 declare dso_local spir_func target("spirv.Event") @__spirv_GroupAsyncCopy(i32, ptr addrspace(3), ptr addrspace(1), i64, i64, target("spirv.Event"))