st t1, seg, riprel, disp
 };
 
+def macroop XOR_LOCKED_M_I
+{
+    limm t2, imm
+    ldstl t1, seg, sib, disp
+    xor t1, t1, t2, flags=(OF,SF,ZF,PF,CF)
+    stul t1, seg, sib, disp
+};
+
+def macroop XOR_LOCKED_P_I
+{
+    limm t2, imm
+    rdip t7
+    ldstl t1, seg, riprel, disp
+    xor t1, t1, t2, flags=(OF,SF,ZF,PF,CF)
+    stul t1, seg, riprel, disp
+};
+
 def macroop XOR_M_R
 {
     ldst t1, seg, sib, disp
     st t1, seg, riprel, disp
 };
 
+def macroop XOR_LOCKED_M_R
+{
+    ldstl t1, seg, sib, disp
+    xor t1, t1, reg, flags=(OF,SF,ZF,PF,CF)
+    stul t1, seg, sib, disp
+};
+
+def macroop XOR_LOCKED_P_R
+{
+    rdip t7
+    ldstl t1, seg, riprel, disp
+    xor t1, t1, reg, flags=(OF,SF,ZF,PF,CF)
+    stul t1, seg, riprel, disp
+};
+
 def macroop XOR_R_M
 {
     ld t1, seg, sib, disp