Mrmaxmeier opened PR #3748 from lower-umax-x64
to main
:
Hey,
I noticed thatumax
and friends fail during lowering fori64
and smaller types (wasm doesn't seem to have non-wide integer max operators).
x86 doesn't have this functionality as an instruction, so i'm falling back tocmov
-- similar to clang's codegen.I'm new to this stuff / ISLE though.. In particular, my ISLE rules generate a spurious
movl %edi, %edi
, but I can't figure out why this happens :upside_down_face:
I've included codegen tests for reference, and will drop those if you decide to merge.<!--
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.
-->
Mrmaxmeier edited PR #3748 from lower-umax-x64
to main
:
Hey,
I noticed thatumax
and friends fail during lowering fori64
and smaller types (wasm doesn't seem to have non-wide integer max operators).
x86 doesn't have this functionality as an instruction, so i'm falling back tocmov
-- similar to clang's codegen.I'm new to this stuff / ISLE though.. In particular, my ISLE rules generate a spurious
movl %edi, %edi
, but I can't figure out why this happens :upside_down_face:
I've included codegen tests for reference, and will drop those if you decide to merge.It might make sense to rebase/redo this on #3682, though
select
seems to do/handle a lot more than my this test-and-cmove implementation.<!--
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.
-->
abrown submitted PR review.
abrown created PR review comment:
@Mrmaxmeier, thanks for the PR! I just wanted to point out here that this is another instance of #3744 (no action needed, just wanted to capture instances of that problem).
fitzgen submitted PR review.
fitzgen submitted PR review.
fitzgen created PR review comment:
Just for consistency with the rest of the file, could you use
;; SSE.
instead of "wide" and use
;;
instead of;
comments? Thanks!
Mrmaxmeier updated PR #3748 from lower-umax-x64
to main
.
Mrmaxmeier updated PR #3748 from lower-umax-x64
to main
.
Mrmaxmeier has marked PR #3748 as ready for review.
cfallin submitted PR review.
cfallin merged PR #3748.
Last updated: Nov 22 2024 at 16:03 UTC