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

Correct misbehavior on uninitialized values in IR #16396

Merged
merged 3 commits into from
Nov 19, 2022

Conversation

unknownbrackets
Copy link
Collaborator

Decided to clean this up more generally, but I think it was only an issue in VV2Op. Basically, it could be convinced to use Vec4 operations on size < 4, if stack happened to have consecutive values (perhaps from a previous Vec4 operation.)

See #10650.

-[Unknown]

It's unlikely, but possible, uninitialized data could cause
IsConsecutive4() to return true when n < 4.
None of these look at other lanes.
Just to prevent confusion/surprises, this is clearer.
@unknownbrackets unknownbrackets added the IRInterpreter Occurs with IR Interpreter but not with another CPU backend. label Nov 19, 2022
@unknownbrackets unknownbrackets added this to the v1.14.0 milestone Nov 19, 2022
@hrydgard
Copy link
Owner

Oh, nice catches!

1 similar comment
@hrydgard
Copy link
Owner

Oh, nice catches!

@hrydgard hrydgard merged commit 15e6608 into hrydgard:master Nov 19, 2022
@unknownbrackets unknownbrackets deleted the ir-vneg branch November 19, 2022 06:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IRInterpreter Occurs with IR Interpreter but not with another CPU backend.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants