theotherjimmy opened PR #13171 from theotherjimmy:s390x-remove-type-and to bytecodealliance:main:
As a follow up to #13164, this changes the isa-extension checks in the s390x backend to match the style of the isa checks in the x64 backend.
The prior style of ISA extension check dates back from prior to if-let as part of isle.
<!--
Please make sure you include the following information:
If this work has been discussed elsewhere, please include a link to that
conversation. If it was discussed in an issue, just mention "issue #...".Explain why this change is needed. If the details are in an issue already,
this can be brief.Our development process is documented in the Wasmtime book:
https://docs.wasmtime.dev/contributing-development-process.htmlPlease ensure all communication follows the code of conduct:
https://github.com/bytecodealliance/wasmtime/blob/main/CODE_OF_CONDUCT.md
-->
theotherjimmy requested wasmtime-compiler-s390x-reviewers for a review on PR #13171.
github-actions[bot] added the label isle on PR #13171.
github-actions[bot] commented on PR #13171:
Subscribe to Label Action
cc @cfallin, @fitzgen
<details>
This issue or pull request has been labeled: "cranelift", "isle"Thus the following users have been cc'd because of the following labels:
- cfallin: isle
- fitzgen: isle
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
github-actions[bot] added the label cranelift on PR #13171.
alexcrichton requested uweigand for a review on PR #13171.
uweigand commented on PR #13171:
Hi @theotherjimmy , this is another nice improvement. However, I'm wondering: this still preserves the enabled / disabled pairs, which we needed in the past as there's no easy way to express negation in ISLE otherwise. However, with the if-let approach, this should no longer be necessary.
Instead of e.g.
mie2_enabled/mie2_disabledused as(if-let true (mie2_enabled)) (if-let true (mie2_disabled))could we rather create a single
has_mie2used as(if-let true (has_mie2)) (if-let false (has_mie2))
theotherjimmy commented on PR #13171:
Hi @uweigand ,
You make a good point, preserving the *_enabled and _disabled variants is no longer needed, and has_ matching with true/false would better match the other backends.
I'll get to this today, and do it step by step (remove mie2_disabled, then mie3_disabled, etc.) so that it's easier to validate that I have the correct implementation; I'm converting this using a 'compiler guided refactor' technique, so that I can more easily show correctness.
theotherjimmy edited a comment on PR #13171:
Hi @uweigand ,
You make a good point, preserving the
*_enabledand*_disabledvariants is no longer needed, andhas_*matching with true/false would better match the other backends.I'll get to this today, and do it step by step (remove mie2_disabled, then mie3_disabled, etc.) so that it's easier to validate that I have the correct implementation; I'm converting this using a 'compiler guided refactor' technique, so that I can more easily show correctness.
theotherjimmy updated PR #13171.
theotherjimmy commented on PR #13171:
Right, so that should do it.
uweigand submitted PR review:
LGTM, thanks!
uweigand added PR #13171 s390x: replace type-based isa checks with if-let to the merge queue.
uweigand merged PR #13171.
uweigand removed PR #13171 s390x: replace type-based isa checks with if-let from the merge queue.
Last updated: May 03 2026 at 22:13 UTC