elliottt opened PR #4254 from trevor/icmp-isle-port to main:
- Finish migrating icmp to ISLE
- Update test output
<!--
Please ensure that the following steps are all taken care of before submitting
the PR.
[ ] This has been discussed in issue #..., or if not, please tell us why
here.[ ] A short description of what this does, why it is needed; if the
description becomes long, the matter should probably be discussed in an issue
first.[ ] This PR contains test cases, if meaningful.
- [ ] A reviewer from the core maintainer team has been assigned for this PR.
If you don't know who could review this, please indicate so. The list of
suggested reviewers on the right can help you.Please ensure all communication adheres to the code of conduct.
-->
elliottt has marked PR #4254 as ready for review.
elliottt updated PR #4254 from trevor/icmp-isle-port to main.
elliottt created PR review comment:
Is the
setnzin the original necessary here; it seems likeandqwith an immediate$1should be enough?
elliottt submitted PR review.
elliottt edited PR review comment.
elliottt requested cfallin for a review on PR #4254.
cfallin submitted PR review.
cfallin created PR review comment:
Could we add a comment here describing what
without_eqmeans (probably just summarizing the doc comment forIntCC::without_equal()and/or pointing to it)?
cfallin created PR review comment:
I am wondering now if this
andis necessary: it's masking high bits off the result of theorforresabove, but in the end this is a combination ofsetccresults, which are all 0/1...
cfallin submitted PR review.
cfallin created PR review comment:
emit_cmpremains used because of the branch cases below, right?It's worth thinking a bit about how we're going to factor this apart so branches can use the
icmplogic as well (perhaps it becomes a helper that returns "result in rflags with this CC if possible, otherwise this 0/1 bool in register"), but that's not strictly necessary for this PR. If you're looking for a next thing to do, sketching out the conditional branch lowering (s390x already uses ISLE for this, as a reference point) would be good while this is in your cache :-)
cfallin created PR review comment:
Likewise here, a quick summary or pointer would be helpful.
cfallin created PR review comment:
Indeed, it seems redundant. I suspect it might have been an artifact of lowering this in separate "generate the flags" and "use in
trueif,brif, ..." halves, where theandgenerates flags (and also incidentally produces the 0/1 output directly).
elliottt created PR review comment:
Great point! I'll experiment with returning the result of the
orinstead :)
elliottt submitted PR review.
elliottt created PR review comment:
As we discussed in a DM, as the
setccinstructions only set the lowest byte and leave the upper 56 bits of the register preserved, the and will be necessary.
elliottt submitted PR review.
elliottt updated PR #4254 from trevor/icmp-isle-port to main.
elliottt updated PR #4254 from trevor/icmp-isle-port to main.
cfallin submitted PR review.
elliottt merged PR #4254.
Last updated: Dec 13 2025 at 19:03 UTC