X86: Implement a locking version of AND.
This commit is contained in:
parent
e742cad6f4
commit
789b3191b9
|
@ -239,6 +239,23 @@ def macroop AND_P_I
|
||||||
st t2, seg, riprel, disp
|
st t2, seg, riprel, disp
|
||||||
};
|
};
|
||||||
|
|
||||||
|
def macroop AND_LOCKED_M_I
|
||||||
|
{
|
||||||
|
ldstl t2, seg, sib, disp
|
||||||
|
limm t1, imm
|
||||||
|
and t2, t2, t1, flags=(OF,SF,ZF,PF,CF)
|
||||||
|
stul t2, seg, sib, disp
|
||||||
|
};
|
||||||
|
|
||||||
|
def macroop AND_LOCKED_P_I
|
||||||
|
{
|
||||||
|
rdip t7
|
||||||
|
ldstl t2, seg, riprel, disp
|
||||||
|
limm t1, imm
|
||||||
|
and t2, t2, t1, flags=(OF,SF,ZF,PF,CF)
|
||||||
|
stul t2, seg, riprel, disp
|
||||||
|
};
|
||||||
|
|
||||||
def macroop AND_M_R
|
def macroop AND_M_R
|
||||||
{
|
{
|
||||||
ldst t1, seg, sib, disp
|
ldst t1, seg, sib, disp
|
||||||
|
@ -254,6 +271,21 @@ def macroop AND_P_R
|
||||||
st t1, seg, riprel, disp
|
st t1, seg, riprel, disp
|
||||||
};
|
};
|
||||||
|
|
||||||
|
def macroop AND_LOCKED_M_R
|
||||||
|
{
|
||||||
|
ldstl t1, seg, sib, disp
|
||||||
|
and t1, t1, reg, flags=(OF,SF,ZF,PF,CF)
|
||||||
|
stul t1, seg, sib, disp
|
||||||
|
};
|
||||||
|
|
||||||
|
def macroop AND_LOCKED_P_R
|
||||||
|
{
|
||||||
|
rdip t7
|
||||||
|
ldstl t1, seg, riprel, disp
|
||||||
|
and t1, t1, reg, flags=(OF,SF,ZF,PF,CF)
|
||||||
|
stul t1, seg, riprel, disp
|
||||||
|
};
|
||||||
|
|
||||||
def macroop NOT_R
|
def macroop NOT_R
|
||||||
{
|
{
|
||||||
limm t1, -1
|
limm t1, -1
|
||||||
|
|
Loading…
Reference in a new issue