This PR resolves a TODO in `generateGroupInst()` (`lib/Target/SPIRV/SPIRVBuiltins.cpp`) and Issues https://github.com/llvm/llvm-project/issues/97311 and https://github.com/llvm/llvm-project/issues/97312 by implementing support for non-const arguments in a Group builtin that requires a boolean argument.
This PR adds builtin functions to insert instructions from 'Group and Subgroup' section of the SPIR-V Specification. Corresponding tests are updated, `spirv-val` run is added where it was missed.
Differential Revision: https://reviews.llvm.org/D132817