JIT: Suppress emitting same-reg zero extending move (dotnet/coreclr#22454)
authorAndy Ayers <andya@microsoft.com>
Fri, 8 Feb 2019 16:10:57 +0000 (08:10 -0800)
committerGitHub <noreply@github.com>
Fri, 8 Feb 2019 16:10:57 +0000 (08:10 -0800)
commit730c21836c38d857579c5df5c4bd1cafddfc8755
treeab598b41fb7787cd8cd7a5fffeb11ef2b1ddacaf
parentaa3cdeb568970a5118110b6f839ab0f790a6b1fa
JIT: Suppress emitting same-reg zero extending move (dotnet/coreclr#22454)

Add a peephole optimization to suppress emitting zero extending moves
if the previous instruction has already done a suitable zero extension.

Only implemented for x64 currently.

Closes dotnet/coreclr#21923

Commit migrated from https://github.com/dotnet/coreclr/commit/d5f638a1cd52fc2733e769e716d5a3a1d61fc804
src/coreclr/src/jit/codegenxarch.cpp
src/coreclr/src/jit/emitxarch.cpp
src/coreclr/src/jit/emitxarch.h