From 55b4a58c3ddd4dede172e8d260a414316391b688 Mon Sep 17 00:00:00 2001 From: keenk <34660397+keenk@users.noreply.github.com> Date: Sun, 25 Nov 2018 14:04:35 -0600 Subject: [PATCH 1/4] Fix a few registry access mode mappings --- arch/X86/X86MappingInsnOp.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/X86/X86MappingInsnOp.inc b/arch/X86/X86MappingInsnOp.inc index 2ecda012b7..bbe60f3e1e 100644 --- a/arch/X86/X86MappingInsnOp.inc +++ b/arch/X86/X86MappingInsnOp.inc @@ -5947,7 +5947,7 @@ }, { /* X86_MOVBE16mr, X86_INS_MOVBE: movbe{w} $dst, $src */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE16rm, X86_INS_MOVBE: movbe{w} $dst, $src */ 0, @@ -5955,7 +5955,7 @@ }, { /* X86_MOVBE32mr, X86_INS_MOVBE: movbe{l} $dst, $src */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE32rm, X86_INS_MOVBE: movbe{l} $dst, $src */ 0, @@ -5963,7 +5963,7 @@ }, { /* X86_MOVBE64mr, X86_INS_MOVBE: movbe{q} $dst, $src */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE64rm, X86_INS_MOVBE: movbe{q} $dst, $src */ 0, From bcac20e9bcd3cb7df08f080a40b1c0b1a4f4ca72 Mon Sep 17 00:00:00 2001 From: keenk <34660397+keenk@users.noreply.github.com> Date: Sat, 29 Jun 2019 13:28:49 -0500 Subject: [PATCH 2/4] Fix rollback of operand access changes Re-fix operand access of three mov instructions --- arch/X86/X86MappingInsnOp_reduce.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/X86/X86MappingInsnOp_reduce.inc b/arch/X86/X86MappingInsnOp_reduce.inc index 5fb4a3d6b7..c7e158e375 100644 --- a/arch/X86/X86MappingInsnOp_reduce.inc +++ b/arch/X86/X86MappingInsnOp_reduce.inc @@ -3720,7 +3720,7 @@ { /* X86_MOVBE16mr, X86_INS_MOVBE: movbe */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE16rm, X86_INS_MOVBE: movbe */ @@ -3730,7 +3730,7 @@ { /* X86_MOVBE32mr, X86_INS_MOVBE: movbe */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE32rm, X86_INS_MOVBE: movbe */ @@ -3740,7 +3740,7 @@ { /* X86_MOVBE64mr, X86_INS_MOVBE: movbe */ 0, - { CS_AC_READ, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_MOVBE64rm, X86_INS_MOVBE: movbe */ From 2e3d297f07812ff791eea16aa23c62e13f4cdfaf Mon Sep 17 00:00:00 2001 From: keenk <34660397+keenk@users.noreply.github.com> Date: Sun, 6 Oct 2019 15:52:59 -0500 Subject: [PATCH 3/4] Remove binding breaking #if 0 The python script for generating constants in the bindings does not know how to handle the #if 0 statements included in these files. --- include/capstone/arm64.h | 50 ---------------------------------------- include/capstone/riscv.h | 16 ------------- 2 files changed, 66 deletions(-) diff --git a/include/capstone/arm64.h b/include/capstone/arm64.h index 908d218735..c1d1f8a945 100644 --- a/include/capstone/arm64.h +++ b/include/capstone/arm64.h @@ -803,27 +803,6 @@ typedef enum arm64_sysreg { ARM64_SYSREG_CPM_IOACC_CTL_EL3 = 0xFF90, } arm64_sysreg; -#if 0 -typedef enum arm64_msr_reg { - // System registers for MSR - ARM64_SYSREG_DBGDTRTX_EL0 = 0x9828, // 10 011 0000 0101 000 - ARM64_SYSREG_OSLAR_EL1 = 0x8084, // 10 000 0001 0000 100 - ARM64_SYSREG_PMSWINC_EL0 = 0xdce4, // 11 011 1001 1100 100 - - // Trace Registers - ARM64_SYSREG_TRCOSLAR = 0x8884, // 10 001 0001 0000 100 - ARM64_SYSREG_TRCLAR = 0x8be6, // 10 001 0111 1100 110 - - // GICv3 registers - ARM64_SYSREG_ICC_EOIR1_EL1 = 0xc661, // 11 000 1100 1100 001 - ARM64_SYSREG_ICC_EOIR0_EL1 = 0xc641, // 11 000 1100 1000 001 - ARM64_SYSREG_ICC_DIR_EL1 = 0xc659, // 11 000 1100 1011 001 - ARM64_SYSREG_ICC_SGI1R_EL1 = 0xc65d, // 11 000 1100 1011 101 - ARM64_SYSREG_ICC_ASGI1R_EL1 = 0xc65e, // 11 000 1100 1011 110 - ARM64_SYSREG_ICC_SGI0R_EL1 = 0xc65f, // 11 000 1100 1011 111 -} arm64_msr_reg; -#endif - /// System PState Field (MSR instruction) typedef enum arm64_pstate { ARM64_PSTATE_INVALID = 0, @@ -1034,35 +1013,6 @@ typedef enum arm64_prefetch_op { ARM64_PRFM_PSTL3STRM = 0x15 + 1, } arm64_prefetch_op; -#if 0 -static const SVEPREDPAT SVEPREDPATsList[] = { - { "pow2", 0x0 }, // 0 - { "vl1", 0x1 }, // 1 - { "vl2", 0x2 }, // 2 - { "vl3", 0x3 }, // 3 - { "vl4", 0x4 }, // 4 - { "vl5", 0x5 }, // 5 - { "vl6", 0x6 }, // 6 - { "vl7", 0x7 }, // 7 - { "vl8", 0x8 }, // 8 - { "vl16", 0x9 }, // 9 - { "vl32", 0xa }, // 10 - { "vl64", 0xb }, // 11 - { "vl128", 0xc }, // 12 - { "vl256", 0xd }, // 13 - { "mul4", 0x1d }, // 14 - { "mul3", 0x1e }, // 15 - { "all", 0x1f }, // 16 -}; - -static const ExactFPImm ExactFPImmsList[] = { - { "zero", 0x0, "0.0" }, // 0 - { "half", 0x1, "0.5" }, // 1 - { "one", 0x2, "1.0" }, // 2 - { "two", 0x3, "2.0" }, // 3 -}; -#endif - /// ARM64 registers typedef enum arm64_reg { ARM64_REG_INVALID = 0, diff --git a/include/capstone/riscv.h b/include/capstone/riscv.h index 0a58270515..2ea22d7f3b 100644 --- a/include/capstone/riscv.h +++ b/include/capstone/riscv.h @@ -479,22 +479,6 @@ typedef enum riscv_insn { //> Group of RISCV instructions typedef enum riscv_insn_group { -#if 0 - { RISCV_GRP_HASSTDEXTA, 0 }, - { RISCV_GRP_HASSTDEXTA, RISCV_GRP_ISRV64, 0 }, - { RISCV_GRP_HASSTDEXTC, 0 }, - { RISCV_GRP_HASSTDEXTC, RISCV_GRP_HASSTDEXTD, 0 }, - { RISCV_GRP_HASSTDEXTC, RISCV_GRP_HASSTDEXTF, RISCV_GRP_ISRV32, 0 }, - { RISCV_GRP_HASSTDEXTC, RISCV_GRP_ISRV32, 0 }, - { RISCV_GRP_HASSTDEXTC, RISCV_GRP_ISRV64, 0 }, - { RISCV_GRP_HASSTDEXTD, 0 }, - { RISCV_GRP_HASSTDEXTD, RISCV_GRP_ISRV64, 0 }, - { RISCV_GRP_HASSTDEXTF, 0 }, - { RISCV_GRP_HASSTDEXTF, RISCV_GRP_ISRV64, 0 }, - { RISCV_GRP_HASSTDEXTM, 0 }, - { RISCV_GRP_HASSTDEXTM, RISCV_GRP_ISRV64, 0 }, - { RISCV_GRP_ISRV64, 0 }, -#endif RISCV_GRP_INVALID = 0, // = CS_GRP_INVALID RISCV_GRP_JUMP, From 44633d01bb44dfd0b4558a7e40bf00caf4b6fbff Mon Sep 17 00:00:00 2001 From: keenk <34660397+keenk@users.noreply.github.com> Date: Sat, 20 Feb 2021 16:43:35 -0600 Subject: [PATCH 4/4] Updated registry access on cmov instructions Registry access for the destination operand of the conditional move (cmov) opcodes were incorrectly listed as READ | WRITE. Although you would expect the two operands to be compared in this opcode, it instead relies on the associated flag in EFLAGS regardless of the value in the destination operand. --- arch/X86/X86MappingInsnOp.inc | 192 +++++++++++++-------------- arch/X86/X86MappingInsnOp_reduce.inc | 192 +++++++++++++-------------- 2 files changed, 192 insertions(+), 192 deletions(-) diff --git a/arch/X86/X86MappingInsnOp.inc b/arch/X86/X86MappingInsnOp.inc index 909a98dd61..84a0ee8f63 100644 --- a/arch/X86/X86MappingInsnOp.inc +++ b/arch/X86/X86MappingInsnOp.inc @@ -1850,122 +1850,122 @@ { /* X86_CMOVA16rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA16rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA32rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA32rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA64rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA64rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE16rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE16rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE32rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE32rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE64rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE64rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB16rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB16rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB32rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB32rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB64rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB64rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE16rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE16rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE32rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE32rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE64rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE64rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE_F, X86_INS_FCMOVBE: fcmovbe */ @@ -2010,32 +2010,32 @@ { /* X86_CMOVE16rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE16rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE32rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE32rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE64rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE64rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE_F, X86_INS_FCMOVE: fcmove */ @@ -2060,122 +2060,122 @@ { /* X86_CMOVG16rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG16rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG32rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG32rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG64rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG64rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE16rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE16rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE32rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE32rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE64rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE64rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL16rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL16rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL32rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL32rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL64rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL64rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE16rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE16rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE32rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE32rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE64rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE64rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNBE_F, X86_INS_FCMOVNBE: fcmovnbe */ @@ -2220,32 +2220,32 @@ { /* X86_CMOVNE16rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE16rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE32rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE32rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE64rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE64rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_ZF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE_F, X86_INS_FCMOVNE: fcmovne */ @@ -2270,62 +2270,62 @@ { /* X86_CMOVNO16rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO16rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO32rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO32rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO64rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO64rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP16rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP16rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP32rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP32rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP64rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP64rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP_F, X86_INS_FCMOVNU: fcmovnu */ @@ -2350,92 +2350,92 @@ { /* X86_CMOVNS16rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS16rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS32rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS32rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS64rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS64rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO16rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO16rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO32rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO32rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO64rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO64rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP16rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP16rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP32rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP32rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP64rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP64rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_PF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP_F, X86_INS_FCMOVU: fcmovu */ @@ -2460,32 +2460,32 @@ { /* X86_CMOVS16rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS16rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS32rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS32rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS64rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS64rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_SF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMP16i16, X86_INS_CMP: cmp */ diff --git a/arch/X86/X86MappingInsnOp_reduce.inc b/arch/X86/X86MappingInsnOp_reduce.inc index c7e158e375..01a08e6155 100644 --- a/arch/X86/X86MappingInsnOp_reduce.inc +++ b/arch/X86/X86MappingInsnOp_reduce.inc @@ -1370,482 +1370,482 @@ { /* X86_CMOVA16rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA16rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA32rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA32rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA64rm, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVA64rr, X86_INS_CMOVA: cmova */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE16rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE16rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE32rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE32rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE64rm, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVAE64rr, X86_INS_CMOVAE: cmovae */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB16rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB16rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB32rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB32rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB64rm, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVB64rr, X86_INS_CMOVB: cmovb */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE16rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE16rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE32rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE32rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE64rm, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVBE64rr, X86_INS_CMOVBE: cmovbe */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE16rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE16rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE32rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE32rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE64rm, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVE64rr, X86_INS_CMOVE: cmove */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG16rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG16rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG32rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG32rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG64rm, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVG64rr, X86_INS_CMOVG: cmovg */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE16rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE16rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE32rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE32rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE64rm, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVGE64rr, X86_INS_CMOVGE: cmovge */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL16rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL16rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL32rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL32rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL64rm, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVL64rr, X86_INS_CMOVL: cmovl */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE16rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE16rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE32rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE32rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE64rm, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVLE64rr, X86_INS_CMOVLE: cmovle */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE16rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE16rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE32rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE32rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE64rm, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNE64rr, X86_INS_CMOVNE: cmovne */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO16rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO16rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO32rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO32rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO64rm, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNO64rr, X86_INS_CMOVNO: cmovno */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP16rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP16rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP32rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP32rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP64rm, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNP64rr, X86_INS_CMOVNP: cmovnp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS16rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS16rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS32rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS32rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS64rm, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVNS64rr, X86_INS_CMOVNS: cmovns */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO16rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO16rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO32rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO32rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO64rm, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVO64rr, X86_INS_CMOVO: cmovo */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP16rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP16rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP32rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP32rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP64rm, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVP64rr, X86_INS_CMOVP: cmovp */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS16rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS16rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS32rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS32rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS64rm, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMOVS64rr, X86_INS_CMOVS: cmovs */ X86_EFLAGS_TEST_OF | X86_EFLAGS_TEST_SF | X86_EFLAGS_TEST_ZF | X86_EFLAGS_TEST_PF | X86_EFLAGS_TEST_CF, - { CS_AC_READ | CS_AC_WRITE, CS_AC_READ, 0 } + { CS_AC_WRITE, CS_AC_READ, 0 } }, { /* X86_CMP16i16, X86_INS_CMP: cmp */