Skip to content
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

Check empty SIMD vector in inline asm #135295

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

eyraudh
Copy link

@eyraudh eyraudh commented Jan 9, 2025

fixes #134334

@rustbot
Copy link
Collaborator

rustbot commented Jan 9, 2025

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @oli-obk (or someone else) some time within the next two weeks.

Please see the contribution instructions for more information. Namely, in order to ensure the minimum review times lag, PR authors and assigned reviewers should ensure that the review label (S-waiting-on-review and S-waiting-on-author) stays updated, invoking these commands when appropriate:

  • @rustbot author: the review is finished, PR author should check the comments and take action accordingly
  • @rustbot review: the author is ready for a review, this PR will be queued again in the reviewer's queue

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 9, 2025
//~^ ERROR SIMD vector cannot be empty

fn main() {
std::arch::asm!("{}", in(xmm_reg) A());
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please suppress the unsafe error by wrapping this in unsafe { .. }. That has nothing to do with the ICE.

@rust-log-analyzer

This comment has been minimized.

@compiler-errors
Copy link
Member

You can also delete the file tests/crashes/134334.rs.

@workingjubilee
Copy link
Member

The generation of this type should simply be rejected, it is not a legal SIMD type.

@workingjubilee
Copy link
Member

...oh, this does that. My brain.

@compiler-errors
Copy link
Member

@Jubilee: Yeah, this is an instance of a common pattern in the compiler where we can't detect the invalidity of another item. We could perhaps just delay a bug rather than issuing another user error at the usage site, but I think this is a good first step.

@rust-log-analyzer

This comment has been minimized.

@eyraudh
Copy link
Author

eyraudh commented Jan 10, 2025

You can also delete the file tests/crashes/134334.rs.

Thank you for your review I added the requested changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ICE: intrinsicck: index out of bounds: the len is 0 but the index is 0
6 participants