x86: fix movsd bug on %xmm register
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>
This commit is contained in:
committed by
Brandon Potter
parent
ea088f5150
commit
87674842a6
@@ -256,13 +256,13 @@ def macroop MOVSS_P_XMM {
|
||||
};
|
||||
|
||||
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
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user