1// RUN: mlir-opt -split-input-file -verify-diagnostics %s | FileCheck %s 2 3//===----------------------------------------------------------------------===// 4// spv.GroupNonUniformBallot 5//===----------------------------------------------------------------------===// 6 7func @subgroup_ballot(%predicate: i1) -> vector<4xi32> { 8 // CHECK: %{{.*}} = spv.GroupNonUniformBallot "Workgroup" %{{.*}}: vector<4xi32> 9 %0 = spv.GroupNonUniformBallot "Workgroup" %predicate : vector<4xi32> 10 return %0: vector<4xi32> 11} 12 13// ----- 14 15func @subgroup_ballot(%predicate: i1) -> vector<4xi32> { 16 // expected-error @+1 {{execution scope must be 'Workgroup' or 'Subgroup'}} 17 %0 = spv.GroupNonUniformBallot "Device" %predicate : vector<4xi32> 18 return %0: vector<4xi32> 19} 20