The movsd instruction should zero out half the register, but
does not do it. This changeset adds the necessary microop to
the instruction to cause correct behavior.
Change-Id: I5278da3634c78a97ed0586f687a36c6dc5a34c60
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19068
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Reviewed-by: Michael LeBeane <Michael.Lebeane@amd.com>
Reviewed-by: Gabe Black <gabeblack@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
Tested-by: kokoro <noreply+kokoro@google.com>
};
def macroop MOVSD_XMM_M {
- # Zero xmmh
+ lfpimm xmmh, 0
ldfp xmml, seg, sib, disp, dataSize=8
};
def macroop MOVSD_XMM_P {
rdip t7
- # Zero xmmh
+ lfpimm xmmh, 0
ldfp xmml, seg, riprel, disp, dataSize=8
};