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