22 lines · plain
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-DAG: %[[#bool:]] = OpTypeBool5; CHECK-DAG: %[[#uint:]] = OpTypeInt 32 06; CHECK-DAG: %[[#scope:]] = OpConstant %[[#uint]] 37; CHECK-DAG: OpCapability GroupNonUniformVote8 9; CHECK-LABEL: Begin function test_wave_all10define i1 @test_wave_all(i1 %p1) #0 {11entry:12; CHECK: %[[#param:]] = OpFunctionParameter %[[#bool]]13; CHECK: %{{.+}} = OpGroupNonUniformAll %[[#bool]] %[[#scope]] %[[#param]]14 %0 = call token @llvm.experimental.convergence.entry()15 %ret = call i1 @llvm.spv.wave.all(i1 %p1) [ "convergencectrl"(token %0) ]16 ret i1 %ret17}18 19declare i1 @llvm.spv.wave.all(i1) #020 21attributes #0 = { convergent }22