Stream: cranelift

Topic: About follow-up errors after fixing the >64 bits op (#12790)


view this post on Zulip Hyunbin Kim (Mar 17 2026 at 09:01):

Hi!

This message is about issue #12790.

I think I have a fix for the original regression, but while validating it with the attached testcase, I ran into a couple of follow-up errors and wanted to check whether I am interpreting them correctly.

Original crash came from a rewrite introducing iconst_s ty -1 for a type that could be wider than 64 bits.(5th of #12743) I changed the rewrite so that 64-bit and 128-bit integer cases are handled separately, and the original unimplemented for > 64 bits error no longer occurs.


After that, running the attached testcase produced a different error:

I then added:

After that, I hit another error:

Then I added:

and after that I no longer saw additional errors from this testcase.


Would it be reasonable to send a PR with just the original fix for the first issue, and treat the later ABI / multi-return issues as unrelated follow-up constraints of the testcase?

If not, I would appreciate guidance on what scope would be expected here.

Thanks!

view this post on Zulip Alex Crichton (Mar 17 2026 at 15:12):

Yeah that's reasonable, I think that the original test case had those directives already and I deleted them originally to try to clean up the test case a bit (you can see I didn't go too too far...), so it's fine to re-add those to any test case. That's a known constraint of i128 support in Cranelift so those errors/settings are otherwise expected. Thanks for looking into this!


Last updated: Mar 23 2026 at 16:19 UTC