elliottt opened PR #4714 from trevor/cmpps-produces-const
to main
:
On
main
, thecmpps
andcmppd
instructions will be treated as producing
constants if their arguments are the same and their immediate operand is0
,
which corresponds to ordered equality. The runtime behavior of this instruction
is not constant however, as it will output a lane of0
s if the corresponding
component is aNaN
.This PR removes the special handling of
cmpps
andcmppd
from
produces_const
, as it's not correctly identifying constants. An alternative
approach here would be to say that unordered equality will produce constants,
looking instead for the immediate value8
. We don't currently have any way of
emitting unordered equality for this instruction, so that would be an
optimization that would be worth making if we add that capability in the future.<!--
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 #4714 as ready for review.
elliottt edited PR #4714 from trevor/cmpps-produces-const
to main
:
On
main
, thecmpps
andcmppd
instructions will be treated as producing constants if their arguments are the same and their immediate operand is0
, which corresponds to ordered equality. The runtime behavior of this instruction is not constant however, as it will output a lane of0
s if either of the corresponding components areNaN
.This PR removes the special handling of
cmpps
andcmppd
fromproduces_const
, as it's not correctly identifying constants. An alternative approach here would be to say that unordered equality will produce constants, looking instead for the immediate value8
. We don't currently have any way of emitting unordered equality for this instruction, so that would be an optimization that would be worth making if we add that capability in the future.<!--
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 edited PR #4714 from trevor/cmpps-produces-const
to main
:
On
main
, thecmpps
andcmppd
instructions will be treated as producing constants if their arguments are the same and their immediate operand is0
, which corresponds to ordered equality. The runtime behavior of this instruction is not constant however, as it will output a lane of0
s if either of the corresponding components areNaN
.This PR removes the special handling of
cmpps
andcmppd
fromproduces_const
, as it's not correctly identifying constants. An alternative approach here would be to say that unordered equality will produce constants, looking instead for the immediate value8
. We don't currently have any way of emitting unordered equality tests, so that would be an optimization that would be worth making if we add that capability in the future.<!--
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 enabled auto merge for PR #4714.
elliottt requested cfallin for a review on PR #4714.
cfallin submitted PR review.
elliottt merged PR #4714.
Last updated: Dec 23 2024 at 12:05 UTC