alexcrichton opened PR #3537 from isle-fconst
to main
:
This moves the
f32const
andf64const
instructions fromlower.rs
to
ISLE. I was originally going to add something else but due to the
isle.rs
's manual use ofconstructor_imm(..)
it necessitated filling
out theimm
cases for f32/f64 constants, so I figured I'd go ahead and
move these instructions as well.The special case for 0 constants which use
xorp{s,d}
is preserved from
lower.rs
today, but a special case isn't added for the all-ones
constant. The comment says to usecmpeqp{s,d}
but as discovered on
other recent PRs that's not quite sufficient because comparing a
register against itself which happens to be NaN wouldn't work, so
something else will be required (perhapspcmpeq
or similar? I figured
I'd defer to later)<!--
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.
-->
alexcrichton updated PR #3537 from isle-fconst
to main
.
fitzgen submitted PR review.
fitzgen submitted PR review.
fitzgen created PR review comment:
;; `f64` immediates.
fitzgen created PR review comment:
;; Special case for `f32` zero immediates to use `xorps`.
fitzgen created PR review comment:
;; Special case for `f64` zero immediates to use `xorpd`.
fitzgen created PR review comment:
;; `f32` immediates.
fitzgen created PR review comment:
;; Integer immediates.
alexcrichton updated PR #3537 from isle-fconst
to main
.
alexcrichton merged PR #3537.
Last updated: Dec 23 2024 at 12:05 UTC