X86: Fix bugs in movd implementation.
authorVince Weaver <vince@csl.cornell.edu>
Tue, 10 Nov 2009 16:29:30 +0000 (11:29 -0500)
committerVince Weaver <vince@csl.cornell.edu>
Tue, 10 Nov 2009 16:29:30 +0000 (11:29 -0500)
commit53e27c0277a41ab1cae45d82fb4409f65cf660c3
tree5d16a18e97d04cea8ef6b362f5fc0ce4b1c96d4f
parente81cc233a6fa82d2aec45bd9160db15df112f584
X86: Fix bugs in movd implementation.

Unfortunately my implementation of the movd instruction had two bugs.

In one case, when moving a 32-bit value into an xmm register, the
lower half of the xmm register was not zero extended.

The other case is that xmm was used instead of xmmlm as the source
for a register move.  My test case didn't notice this at first
as it moved xmm0 to eax, which both have the same register
number.
src/arch/x86/isa/insts/general_purpose/data_transfer/move.py