Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Treat EDI as killed by MaskMove#17673

Merged
CarolEidt merged 1 commit intodotnet:masterfrom
CarolEidt:Fix17634
Apr 21, 2018
Merged

Treat EDI as killed by MaskMove#17673
CarolEidt merged 1 commit intodotnet:masterfrom
CarolEidt:Fix17634

Conversation

@CarolEidt
Copy link
Copy Markdown

It should really only be a fixed reference, not a kill, but if the reference is changed by LinearScan::resolveConflictingDefAndUse() it can fail to cause the value in EDI to be killed.

@CarolEidt
Copy link
Copy Markdown
Author

@dotnet/jit-contrib PTAL
cc @fiigii

@fiigii
Copy link
Copy Markdown

fiigii commented Apr 19, 2018

Thanks for the work!!

Copy link
Copy Markdown

@BruceForstall BruceForstall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Though it would be useful for there to be some comment in the code about why NI_SSE2_MaskMove needs this.

@fiigii
Copy link
Copy Markdown

fiigii commented Apr 20, 2018

Will this PR be merged in 2.1?

It should really only be a fixed reference, not a kill, but if the reference is changed by `LinearScan::resolveConflictingDefAndUse()` it can fail to cause the value in EDI to be killed.

Fix #17634
@CarolEidt
Copy link
Copy Markdown
Author

Will this PR be merged in 2.1?

No, I am not planning to submit this for consideration to be ported to 2.1. Here is my reasoning for this:

  • First, this is unlikely to occur in a non-stress mode of the register allocator, which is what caused a lclVar to be put in edi even though there was a FixedRef within its range.
  • Second, this is a bug limited to a single hardware intrinsic that is currently an experimental release.

@fiigii
Copy link
Copy Markdown

fiigii commented Apr 20, 2018

Got it, thanks for the detailed explanation.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants