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

Cleanup unrolled block op codegen#27146

Merged
sandreenko merged 6 commits into
dotnet:masterfrom
mikedn:codegen-cleanup
Oct 11, 2019
Merged

Cleanup unrolled block op codegen#27146
sandreenko merged 6 commits into
dotnet:masterfrom
mikedn:codegen-cleanup

Conversation

@mikedn
Copy link
Copy Markdown

@mikedn mikedn commented Oct 11, 2019

Extracted from #27035

@mikedn
Copy link
Copy Markdown
Author

mikedn commented Oct 11, 2019

cc @sandreenko

Copy link
Copy Markdown

@sandreenko sandreenko left a comment

Choose a reason for hiding this comment

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

LGTM

storeIns = INS_strh;
break;
default:
storeIns = INS_str;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Nit: could you please update this and the next switch with case 4: ... default: unreached() as discussed in https://github.com/dotnet/coreclr/pull/27035/files#r332302814?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Sorry, missed that comment. I also forgot to bring some PR feedback commits from there. One moment...

case 1:
loadIns = INS_ldrb;
storeIns = INS_strb;
#ifdef _TARGET_ARM64_
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

FWIW this is un unfortunate inconsistency between ARM32 and ARM64. The ARM64 emitter gets it wrong because the instruction/register size is really 4 or 8, never 1 or 2. I fixed something like a while ago for cast instructions but I didn't realize that load/store instructions suffer from the same issue.

@sandreenko sandreenko requested a review from a team October 11, 2019 18:47
Copy link
Copy Markdown

@CarolEidt CarolEidt left a comment

Choose a reason for hiding this comment

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

LGTM - thanks for your patience and flexibility in getting this in!

@sandreenko sandreenko merged commit 711a716 into dotnet:master Oct 11, 2019
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.

3 participants