OpenCL 2.0 has no support for a "ballot" style sub-group function. A ballot returns bitmask containing the conditional flag for each "lane" in the sub-group. As long as the sub-group (SIMD) size is 32 or less then this fits in a cl_uint.
Presumably sub-group any() and all() are implemented on Broadwell IGP by returning an ARF flag register?
It would be great if Broadwell IGP unofficially implemented sub_group_any() by returning the actual flag bitmask so that developers could apply popcount() and other operations to the mask.