Fix to issue- .Net 4.6 RC x64 is twice as slow as Legacy Jit64 and x86.
authorVenkata Sivaramakrishna Ramadugu <sivarv@microsoft.com>
Tue, 14 Jul 2015 21:46:01 +0000 (14:46 -0700)
committerVenkata Sivaramakrishna Ramadugu <sivarv@microsoft.com>
Tue, 14 Jul 2015 21:46:01 +0000 (14:46 -0700)
commitf9a81bc872421e54e32d79fd17541e5fa23d5689
tree8fa829795ed083d9cdd79906526e789bf18f610b
parent9462028e54e3e4cc9cbf1976c85a8ed2ac8d95c2
Fix to issue- .Net 4.6 RC x64 is twice as slow as Legacy Jit64 and x86.

Perf regression is due to a stall caused by "cvtsi2sd xmm1, rax" that partially writes lower 8-bytes of xmm1 but keeps other bytes unmodified. Since there are further uses of xmm1, it will introduce a false dependency and cause stalls.

Fix is to emit "xorps targetReg, targetReg" before a cvtsi2ss/sd instruction.

Fix #993

[tfs-changeset: 1501252]
src/jit/codegenxarch.cpp