-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Lowering i32x4.splat + f64x2.convert_low_i32x4 results in panic #8084
Comments
Thanks for the bug report! |
Subscribe to Label Action
This issue or pull request has been labeled: "isle"
Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
This was "introduced" in #7859 which was backported to the 18.0.0 release in #7878. I say "introduced" here because this was sort of always a bug and that PR just happened to expose it, it's not directly caused by that PR per se. Fuzzing later found this bug which resulted in #7915 as a band-aid fix for the issue followed up with #7919 for a "real fix" for at least the unsigned case. We'd forgotten about the signed case though (oops!) so I can work on that. I'll note though that the band-aid of #7915 means that this issue doesn't reproduce as-is on |
This instruction was previously unimplemented in Cranelift as pointed out in bytecodealliance#8084. While a fallback for `fcvt_from_uint` was implemented in bytecodealliance#7919 I forgot to do the same for the signed version. This commit adds a fallback that decomposes the input into two scalars and converts each individually, then reassembling the result.
This instruction was previously unimplemented in Cranelift as pointed out in bytecodealliance#8084. While a fallback for `fcvt_from_uint` was implemented in bytecodealliance#7919 I forgot to do the same for the signed version. This commit adds a fallback that decomposes the input into two scalars and converts each individually, then reassembling the result.
I posted #8099 for the missing signed conversion, but AFAIK that's just "good to have" and isn't require for correct operation on The release-19.0.0 branch has all the various fixes there as well, so the only question remaining I think is effectively whether or not we want to backport #7915 to the 18.0.x branch. |
This instruction was previously unimplemented in Cranelift as pointed out in #8084. While a fallback for `fcvt_from_uint` was implemented in #7919 I forgot to do the same for the signed version. This commit adds a fallback that decomposes the input into two scalars and converts each individually, then reassembling the result.
I think we're more-or-less done with this now so I'm going to close this. |
Test Case
Steps to Reproduce
Expected Results
Terminate without any errors
Actual Results
Versions and Environment
Wasmtime version or commit: wasmtime-cli 18.0.2 (90db6e9 2024-02-28)
Operating system & Architecture:
Extra Info
It is not reproduced in
The text was updated successfully, but these errors were encountered: