x86_cmpxchg_membase_reg basereg disp reg =
emit8 0x0f >> emit8 0xb1 >> x86_membase_emit reg basereg disp
x86_cmpxchg_membase_reg basereg disp reg =
emit8 0x0f >> emit8 0xb1 >> x86_membase_emit reg basereg disp
x86_xadd size = do emit8 0x0f ; if size == 1 then emit8 0xc0 else emit8 0xc1
x86_xadd_reg_reg dreg reg size = x86_xadd size >> x86_reg_emit reg dreg
x86_xadd_mem_reg mem reg size = x86_xadd size >> x86_mem_emit reg mem
x86_xadd size = do emit8 0x0f ; if size == 1 then emit8 0xc0 else emit8 0xc1
x86_xadd_reg_reg dreg reg size = x86_xadd size >> x86_reg_emit reg dreg
x86_xadd_mem_reg mem reg size = x86_xadd size >> x86_mem_emit reg mem
x86_mov_memindex_reg basereg disp indexreg shft reg size =
do x86_mov1 size ; x86_memindex_emit reg basereg disp indexreg shft
x86_mov_memindex_reg basereg disp indexreg shft reg size =
do x86_mov1 size ; x86_memindex_emit reg basereg disp indexreg shft
x86_mov_reg_memindex _ _ _ 4 _ _ =
failCodeGen $ PP.text "x86_mov_reg_memindex: cannot use (E)SP as index register"
x86_mov_reg_memindex reg basereg disp indexreg shft size =
x86_mov_reg_memindex _ _ _ 4 _ _ =
failCodeGen $ PP.text "x86_mov_reg_memindex: cannot use (E)SP as index register"
x86_mov_reg_memindex reg basereg disp indexreg shft size =