Extended subgroups extensions were added in https://reviews.llvm.org/D79781, however, in the unpublished spec there is no pragma mentioned anywhere and therefore adding it is incorrect. This should be fixed ideally before the spec is published to avoid a wide impact on the developers.
Considering that the extensions are implemented in headers and libraries there is no point to add it into the main Clang code. Therefore the macro definitions are now moved to the internal header. The macros should only be defined if the functionality is available. This makes the flow more consistent for developers as without the header the functions are not declared and therefore any kernel code calling them won't be compiled successfully.
More details about the effort on correcting the extension implementation can be found in: https://reviews.llvm.org/D91531
These are currently defined as "1": https://godbolt.org/z/MnoWeo
Is the change to blank intentional?
This should be tested.