cfallin opened PR #3906 from uextend-sextend-fix
to main
:
In #3849, I moved uextend over to ISLE in the x64 backend. Unfortunately, the lowering patterns had a bug in the i32-to-i64 special case (when we know the generating instruction zeroes the upper 32 bits): it wasn't actually special casing for an i32 source! This meant that e.g. zero extends of the results of i8 adds did not work properly.
This PR fixes the bug and updates the runtest for extends significantly to cover the narrow-value cases.
No security impact to Wasm as Wasm does not use narrow integer types.
Thanks @bjorn3 for reporting!
cfallin requested fitzgen for a review on PR #3906.
bjorn3 submitted PR review.
fitzgen submitted PR review.
cfallin merged PR #3906.
Last updated: Dec 23 2024 at 12:05 UTC