Fix x86 XCHG macro-op to use locked micro-ops for all memory accesses

This commit is contained in:
Tushar Krishna 2010-07-21 09:55:57 -07:00
parent 262b2e2b94
commit 11bb678a80

View file

@ -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
}; };