afonso360 opened PR #5046 from aarch64-fix-i128-iconst to main:
:wave: Hey,
This is the first of the bugs that the fuzzer found in the new egraph work. On AArch64
iconst.i128is not implemented. This PR implements it for values that fit in a u64, which is (I think) all the values that can be passed in by the frontend.We've had discussions in the past about removing
iconst.i128(I can't find the link), and I think I've previously disagreed with this, but maybe we can restricticonsttoi64and add a helper method to the frontend that does the right thing? so, for example for -1 we can lower it toiconst.i64 -1+sextend, oriconst+iconst+iconcatetc..What do you guys think about that?
cc: @cfallin
afonso360 edited PR #5046 from aarch64-fix-i128-iconst to main:
:wave: Hey,
This is the first of the bugs that the fuzzer found in the new egraph work. On AArch64
iconst.i128is not implemented. This PR implements it for values that fit in a u64, which is (I think) all the values that can be passed in by the frontend.We've had discussions in the past about removing
iconst.i128(I can't find the link), and I think I've previously disagreed with this, but maybe we can restricticonsttoi64and add a helper method to the frontend that does the right thing? so, for example for -1 we can lower it toiconst.i64 -1+sextend, oriconst+iconst+iconcatfor other values etc..What do you guys think about that?
cc: @cfallin
Last updated: Dec 06 2025 at 06:05 UTC