Skip to content

Remove special-case for simd_shuffle intrinsics in promotion #69493

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

Closed
ecstatic-morse opened this issue Feb 26, 2020 · 2 comments · Fixed by #85110
Closed

Remove special-case for simd_shuffle intrinsics in promotion #69493

ecstatic-morse opened this issue Feb 26, 2020 · 2 comments · Fixed by #85110
Assignees
Labels
A-const-eval Area: Constant evaluation, covers all const contexts (static, const fn, ...) A-SIMD Area: SIMD (Single Instruction Multiple Data) C-cleanup Category: PRs that clean code up or issues documenting cleanup. S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@ecstatic-morse
Copy link
Contributor

ecstatic-morse commented Feb 26, 2020

#69280 tried to normalize promotion of arguments that must be const by requiring #[rustc_args_required_const] everywhere. Currently, intrinsics beginning with the string "simd_shuffle" automatically get their third argument promoted. However, this broke the latest release of the packed_simd crate, which does not define the intrinsics with the requisite attribute (see #69313).

Although this is allowed breakage (you can't define intrinsics without the nightly-only platform_intrinsics feature), I reverted #69280 for now, since it's just a small cleanup and isn't blocking anything. I opened rust-lang/packed_simd#278 to fix packed_simd. Once a version of that crate is released with the fix, we should reapply #69280.

@ecstatic-morse ecstatic-morse added C-cleanup Category: PRs that clean code up or issues documenting cleanup. S-blocked Status: Blocked on something else such as an RFC or other implementation work. labels Feb 26, 2020
@ecstatic-morse ecstatic-morse self-assigned this Feb 26, 2020
@jonas-schievink jonas-schievink added A-const-eval Area: Constant evaluation, covers all const contexts (static, const fn, ...) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Feb 26, 2020
@workingjubilee

This comment has been minimized.

@rustbot rustbot added the A-SIMD Area: SIMD (Single Instruction Multiple Data) label Sep 10, 2020
@mati865
Copy link
Contributor

mati865 commented Sep 10, 2020

Packed_simd seems unmantained these days, I think it had enough time adjust.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-const-eval Area: Constant evaluation, covers all const contexts (static, const fn, ...) A-SIMD Area: SIMD (Single Instruction Multiple Data) C-cleanup Category: PRs that clean code up or issues documenting cleanup. S-blocked Status: Blocked on something else such as an RFC or other implementation work. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants