Skip to content

[SYCL] Fix 1-element vec ambiguities #17722

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 2, 2025

Conversation

aelovikov-intel
Copy link
Contributor

@aelovikov-intel aelovikov-intel commented Mar 28, 2025

Implements KhronosGroup/SYCL-Docs#670.

Technically, we also implement part of KhronosGroup/SYCL-Docs#674
(std::byte as element type) here, but there is no reasonable way
to make them completely independent.

This is built on top of #17712 and #17713.

These will be updated as I upload PRs to implement recent specification
changes.
Implements KhronosGroup/SYCL-Docs#668.

Note that the "test" added here is less of a documentation of "intent"
but rather the documentation of the effect of the change.

Also, the idea behind specification changes was to keep all "reasonable"
code in the wild compiling and several changes are needed together to
make that happen. Until all of them land, keep the new code out of
`-fpreview-breaking-changes` mode.
KhronosGroup/SYCL-Docs#670

Technically, we also implement part of
KhronosGroup/SYCL-Docs#674 (`std::byte` as
element type) here, but there is no reasonable way to make them
completely independent.

This is built on top of
intel#17712 and
intel#17713.

With these three pieces in place we can keep building CTS successfully,
so enable this new implementation (via `__SYCL_USE_PREVIEW_VEC_IMPL`)
automatically under `-fpreview-breaking-changes` mode.
@aelovikov-intel
Copy link
Contributor Author

I decided not to enable this by default in preview mode just yet. @cperkinsintel , do you mind taking one more look?

@aelovikov-intel aelovikov-intel merged commit 436191a into intel:sycl Apr 2, 2025
34 of 35 checks passed
@aelovikov-intel aelovikov-intel deleted the one-elem-vec branch April 2, 2025 20:29
ggojska pushed a commit to ggojska/llvm that referenced this pull request Apr 7, 2025
Implements KhronosGroup/SYCL-Docs#670.

Technically, we also implement part of
KhronosGroup/SYCL-Docs#674
(`std::byte` as element type) here, but there is no reasonable way 
to make them completely independent.

This is built on top of intel#17712 and
intel#17713.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants