Fix sub-group load/store extension disabling logic #1979
+11
−5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Code sections which use
sycl::sub_group::<load()|store()>
DPC++ extension are not entirely disabled. Non-template expressions are still checked by a compiler even if they are within a discardedif constexpr
branch.This makes the code non-compatible with compilers other than DPC++, and it results in a deprecation warning with the most recent DPC++ builds.
A mock-up example: https://godbolt.org/z/svhnY14r5
Even though the extension is deprecated, it still may make sense to keep the surrounding logic in case it can be reused with #1976 vector load/store or with
SYCL_EXT_ONEAPI_GROUP_LOAD_STORE
extension.