Fix x86 XCHG macro-op to use locked micro-ops for all memory accesses
This commit is contained in:
parent
262b2e2b94
commit
11bb678a80
|
@ -50,31 +50,31 @@ def macroop XCHG_R_R
|
||||||
|
|
||||||
def macroop XCHG_R_M
|
def macroop XCHG_R_M
|
||||||
{
|
{
|
||||||
ldst t1, seg, sib, disp
|
ldstl t1, seg, sib, disp
|
||||||
st reg, seg, sib, disp
|
stul reg, seg, sib, disp
|
||||||
mov reg, reg, t1
|
mov reg, reg, t1
|
||||||
};
|
};
|
||||||
|
|
||||||
def macroop XCHG_R_P
|
def macroop XCHG_R_P
|
||||||
{
|
{
|
||||||
rdip t7
|
rdip t7
|
||||||
ldst t1, seg, riprel, disp
|
ldstl t1, seg, riprel, disp
|
||||||
st reg, seg, riprel, disp
|
stul reg, seg, riprel, disp
|
||||||
mov reg, reg, t1
|
mov reg, reg, t1
|
||||||
};
|
};
|
||||||
|
|
||||||
def macroop XCHG_M_R
|
def macroop XCHG_M_R
|
||||||
{
|
{
|
||||||
ldst t1, seg, sib, disp
|
ldstl t1, seg, sib, disp
|
||||||
st reg, seg, sib, disp
|
stul reg, seg, sib, disp
|
||||||
mov reg, reg, t1
|
mov reg, reg, t1
|
||||||
};
|
};
|
||||||
|
|
||||||
def macroop XCHG_P_R
|
def macroop XCHG_P_R
|
||||||
{
|
{
|
||||||
rdip t7
|
rdip t7
|
||||||
ldst t1, seg, riprel, disp
|
ldstl t1, seg, riprel, disp
|
||||||
st reg, seg, riprel, disp
|
stul reg, seg, riprel, disp
|
||||||
mov reg, reg, t1
|
mov reg, reg, t1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue