diff --git a/test/asm/x86-64/X86_64AssemblerTestGen.v3 b/test/asm/x86-64/X86_64AssemblerTestGen.v3 index 24fef2664..9e80c035f 100644 --- a/test/asm/x86-64/X86_64AssemblerTestGen.v3 +++ b/test/asm/x86-64/X86_64AssemblerTestGen.v3 @@ -120,10 +120,11 @@ def main(a: Array) -> int { do_cmpxchng(); do_xchng(); - do_xadd(); + do_xaddn(); do_xorn(); do_orn(); do_andn(); + do_negn(); do_r_dq("xchg", do_r_r, asm.d.xchg_r_r, asm.q.xchg_r_r); do_m_dq("xchg", do_m_r, asm.d.xchg_m_r, asm.q.xchg_m_r); @@ -354,7 +355,7 @@ def do_xchng() { do_m_r("xchg qword", asm.xchgq_m_r); } -def do_xadd() { +def do_xaddn() { regSize = 8; do_m_r("xadd byte", asm.xaddb_m_r); regSize = 16; @@ -394,6 +395,17 @@ def do_andn() { do_m_r("and qword", asm.andq_m_r); } +def do_negn() { + regSize = 8; + do_m("and byte", asm.negb_m); + regSize = 16; + do_m("and word", asm.negw_m); + regSize = 32; + do_m("and dword", asm.negd_m); + regSize = 64; + do_m("and qword", asm.negq_m); +} + def do_set() { var buf = StringBuilder.new(); for (cond in X86_64Conds.all) {