/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:2;tab-width:8;coding:utf-8 -*-â
âvi: set net ft=c ts=2 sts=2 sw=2 fenc=utf-8                                :viâ
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ¡
â Copyright 2020 Justine Alexandra Roberts Tunney                              â
â                                                                              â
â Permission to use, copy, modify, and/or distribute this software for         â
â any purpose with or without fee is hereby granted, provided that the         â
â above copyright notice and this permission notice appear in all copies.      â
â                                                                              â
â THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL                â
â WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED                â
â WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE             â
â AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL         â
â DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR        â
â PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER               â
â TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR             â
â PERFORMANCE OF THIS SOFTWARE.                                                â
ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ*/
#include "libc/testlib/testlib.h"
#include "test/libc/xed/lib.h"
#include "third_party/xed/x86.h"

/**
 * @fileoverview GCC's popular i386+ instruction w/ NexGen32e encoding.
 */

TEST(x86ild, test_E800000000) {
  /*
    ICLASS: CALL_NEAR
    CATEGORY: CALL
    EXTENSION: BASE
    IFORM: CALL_NEAR_RELBRd
    ISA_SET: I86
    SHORT: call 0x5
  */
  EXPECT_EQ(5, ild(u"Î¦Â Â Â Â "));
  EXPECT_EQ(5, ildlegacy(u"Î¦Â Â Â Â "));
  EXPECT_EQ(3, ildreal(u"Î¦Â Â "));
}

TEST(x86ild, test_C3) {
  /*
    ICLASS: RET_NEAR
    CATEGORY: RET
    EXTENSION: BASE
    IFORM: RET_NEAR
    ISA_SET: I86
    SHORT: ret
  */
  EXPECT_EQ(1, ild(u"â"));
}

TEST(x86ild, test_5A) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop rdx
  */
  EXPECT_EQ(1, ild(u"Z"));
}

TEST(x86ild, test_4889DF) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, rbx
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_BA00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov edx, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_7500) {
  /*
    ICLASS: JNZ
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNZ_RELBRb
    ISA_SET: I86
    SHORT: jnz 0x2
  */
  EXPECT_EQ(2, ild(u"uÂ "));
}

TEST(x86ild, test_B800000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov eax, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_7400) {
  /*
    ICLASS: JZ
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JZ_RELBRb
    ISA_SET: I86
    SHORT: jz 0x2
  */
  EXPECT_EQ(2, ild(u"tÂ "));
}

TEST(x86ild, test_BE00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov esi, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_4889C1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rcx, rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â´"));
}

TEST(x86ild, test_EB00) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_RELBRb
    ISA_SET: I86
    SHORT: jmp 0x2
  */
  EXPECT_EQ(2, ild(u"Î´Â "));
}

TEST(x86ild, test_8B34D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯4âÂ Â Â Â "));
}

TEST(x86ild, test_E900000000) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_RELBRd
    ISA_SET: I86
    SHORT: jmp 0x5
  */
  EXPECT_EQ(5, ild(u"ÎÂ Â Â Â "));
}

TEST(x86ild, test_8B7300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¯sÂ "));
}

TEST(x86ild, test_8B04D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯â¦âÂ Â Â Â "));
}

TEST(x86ild, test_89D0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, edx
  */
  EXPECT_EQ(2, ild(u"Ã«â¨"));
}

TEST(x86ild, test_0F8400000000) {
  /*
    ICLASS: JZ
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JZ_RELBRd
    ISA_SET: I86
    SHORT: jz 0x6
  */
  EXPECT_EQ(6, ild(u"â¼Ã¤Â Â Â Â "));
}

TEST(x86ild, test_8B14CD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rcx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_8B34CD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rcx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯4âÂ Â Â Â "));
}

TEST(x86ild, test_8A4300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¨CÂ "));
}

TEST(x86ild, test_8B4700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¯GÂ "));
}

TEST(x86ild, test_5B) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop rbx
  */
  EXPECT_EQ(1, ild(u"["));
}

TEST(x86ild, test_66C705000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov word ptr [rip], 0x0
  */
  EXPECT_EQ(9, ild(u"fââ£Â Â Â Â Â Â "));
}

TEST(x86ild, test_8A4700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¨GÂ "));
}

TEST(x86ild, test_FFD0) {
  /*
    ICLASS: CALL_NEAR
    CATEGORY: CALL
    EXTENSION: BASE
    IFORM: CALL_NEAR_GPRv
    ISA_SET: I86
    SHORT: call rax
  */
  EXPECT_EQ(2, ild(u"Î»â¨"));
}

TEST(x86ild, test_C7050000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov dword ptr [rip], 0x0
  */
  EXPECT_EQ(10, ild(u"ââ£Â Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_53) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push rbx
  */
  EXPECT_EQ(1, ild(u"S"));
}

TEST(x86ild, test_0F8500000000) {
  /*
    ICLASS: JNZ
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNZ_RELBRd
    ISA_SET: I86
    SHORT: jnz 0x6
  */
  EXPECT_EQ(6, ild(u"â¼Ã Â Â Â Â "));
}

TEST(x86ild, test_C6050000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_IMMb
    ISA_SET: I86
    SHORT: mov byte ptr [rip], 0x0
  */
  EXPECT_EQ(7, ild(u"ââ£Â Â Â Â Â "));
}

TEST(x86ild, test_668B7300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov si, word ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"fÃ¯sÂ "));
}

TEST(x86ild, test_488B4300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"HÃ¯CÂ "));
}

TEST(x86ild, test_BF00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov edi, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_4889FB) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbx, rdi
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_48B80000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov rax, 0x0
  */
  EXPECT_EQ(10, ild(u"HâÂ Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_48BA0000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov rdx, 0x0
  */
  EXPECT_EQ(10, ild(u"HâÂ Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_488B5300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"HÃ¯SÂ "));
}

TEST(x86ild, test_66898200000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rdx], ax
  */
  EXPECT_EQ(7, ild(u"fÃ«Ã©Â Â Â Â "));
}

TEST(x86ild, test_66894700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rdi], ax
  */
  EXPECT_EQ(4, ild(u"fÃ«GÂ "));
}

TEST(x86ild, test_7700) {
  /*
    ICLASS: JNBE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNBE_RELBRb
    ISA_SET: I86
    SHORT: jnbe 0x2
  */
  EXPECT_EQ(2, ild(u"wÂ "));
}

TEST(x86ild, test_894700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdi], eax
  */
  EXPECT_EQ(3, ild(u"Ã«GÂ "));
}

TEST(x86ild, test_66899000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rax], dx
  */
  EXPECT_EQ(7, ild(u"fÃ«ÃÂ Â Â Â "));
}

TEST(x86ild, test_4889D0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rax, rdx
  */
  EXPECT_EQ(3, ild(u"HÃ«â¨"));
}

TEST(x86ild, test_668B4700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ax, word ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"fÃ¯GÂ "));
}

TEST(x86ild, test_89C2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â¬"));
}

TEST(x86ild, test_668B8000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ax, word ptr [rax]
  */
  EXPECT_EQ(7, ild(u"fÃ¯ÃÂ Â Â Â "));
}

TEST(x86ild, test_668B9500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rbp]
  */
  EXPECT_EQ(7, ild(u"fÃ¯Ã²Â Â Â Â "));
}

TEST(x86ild, test_5D) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop rbp
  */
  EXPECT_EQ(1, ild(u"]"));
}

TEST(x86ild, test_55) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push rbp
  */
  EXPECT_EQ(1, ild(u"U"));
}

TEST(x86ild, test_89C8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, ecx
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_8B0CD500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ecx, dword ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯ââÂ Â Â Â "));
}

TEST(x86ild, test_8A4F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¨OÂ "));
}

TEST(x86ild, test_8B148500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rax*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶Ã Â Â Â Â "));
}

TEST(x86ild, test_8A5300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¨SÂ "));
}

TEST(x86ild, test_884F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rdi], cl
  */
  EXPECT_EQ(3, ild(u"ÃªOÂ "));
}

TEST(x86ild, test_8B8000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rax]
  */
  EXPECT_EQ(6, ild(u"Ã¯ÃÂ Â Â Â "));
}

TEST(x86ild, test_8B9500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rbp]
  */
  EXPECT_EQ(6, ild(u"Ã¯Ã²Â Â Â Â "));
}

TEST(x86ild, test_8A5700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¨WÂ "));
}

TEST(x86ild, test_884300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], al
  */
  EXPECT_EQ(3, ild(u"ÃªCÂ "));
}

TEST(x86ild, test_884700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rdi], al
  */
  EXPECT_EQ(3, ild(u"ÃªGÂ "));
}

TEST(x86ild, test_8A4800) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rax]
  */
  EXPECT_EQ(3, ild(u"Ã¨HÂ "));
}

TEST(x86ild, test_66C780000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov word ptr [rax], 0x0
  */
  EXPECT_EQ(9, ild(u"fâÃÂ Â Â Â Â Â "));
}

TEST(x86ild, test_885700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rdi], dl
  */
  EXPECT_EQ(3, ild(u"ÃªWÂ "));
}

TEST(x86ild, test_8B5700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¯WÂ "));
}

TEST(x86ild, test_48C7050000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov qword ptr [rip], 0x0
  */
  EXPECT_EQ(11, ild(u"Hââ£Â Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_8B4300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¯CÂ "));
}

TEST(x86ild, test_E200) {
  /*
    ICLASS: LOOP
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: LOOP_RELBRb
    ISA_SET: I86
    SHORT: loop 0x2
  */
  EXPECT_EQ(2, ild(u"ÎÂ "));
}

TEST(x86ild, test_8B049500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rdx*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯â¦Ã²Â Â Â Â "));
}

TEST(x86ild, test_89F0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, esi
  */
  EXPECT_EQ(2, ild(u"Ã«â¡"));
}

TEST(x86ild, test_668B5300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"fÃ¯SÂ "));
}

TEST(x86ild, test_8B7700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¯wÂ "));
}

TEST(x86ild, test_66897700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rdi], si
  */
  EXPECT_EQ(4, ild(u"fÃ«wÂ "));
}

TEST(x86ild, test_66894300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rbx], ax
  */
  EXPECT_EQ(4, ild(u"fÃ«CÂ "));
}

TEST(x86ild, test_8902) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdx], eax
  */
  EXPECT_EQ(2, ild(u"Ã«â»"));
}

TEST(x86ild, test_408A7000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov sil, byte ptr [rax]
  */
  EXPECT_EQ(4, ild(u"@Ã¨pÂ "));
}

TEST(x86ild, test_88C2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov dl, al
  */
  EXPECT_EQ(2, ild(u"Ãªâ¬"));
}

TEST(x86ild, test_668B14AD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rbp*4]
  */
  EXPECT_EQ(8, ild(u"fÃ¯Â¶Â¡Â Â Â Â "));
}

TEST(x86ild, test_668B4300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ax, word ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"fÃ¯CÂ "));
}

TEST(x86ild, test_4088CE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov sil, cl
  */
  EXPECT_EQ(3, ild(u"@Ãªâ¬"));
}

TEST(x86ild, test_89C1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ecx, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â´"));
}

TEST(x86ild, test_8B14D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_8B149500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rdx*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶Ã²Â Â Â Â "));
}

TEST(x86ild, test_884B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], cl
  */
  EXPECT_EQ(3, ild(u"ÃªKÂ "));
}

TEST(x86ild, test_488B4700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"HÃ¯GÂ "));
}

TEST(x86ild, test_8B4F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ecx, dword ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"Ã¯OÂ "));
}

TEST(x86ild, test_8A08) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rax]
  */
  EXPECT_EQ(2, ild(u"Ã¨â"));
}

TEST(x86ild, test_668B5700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"fÃ¯WÂ "));
}

TEST(x86ild, test_C6470000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_IMMb
    ISA_SET: I86
    SHORT: mov byte ptr [rdi], 0x0
  */
  EXPECT_EQ(4, ild(u"âGÂ Â "));
}

TEST(x86ild, test_66895700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rdi], dx
  */
  EXPECT_EQ(4, ild(u"fÃ«WÂ "));
}

TEST(x86ild, test_FF24D500000000) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_MEMv
    ISA_SET: I86
    SHORT: jmp qword ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Î»$âÂ Â Â Â "));
}

TEST(x86ild, test_8A4B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¨KÂ "));
}

TEST(x86ild, test_7200) {
  /*
    ICLASS: JB
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JB_RELBRb
    ISA_SET: I86
    SHORT: jb 0x2
  */
  EXPECT_EQ(2, ild(u"rÂ "));
}

TEST(x86ild, test_88C1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov cl, al
  */
  EXPECT_EQ(2, ild(u"Ãªâ´"));
}

TEST(x86ild, test_668B14D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rdx*8]
  */
  EXPECT_EQ(8, ild(u"fÃ¯Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_8A4000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rax]
  */
  EXPECT_EQ(3, ild(u"Ã¨@Â "));
}

TEST(x86ild, test_C6430000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_IMMb
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], 0x0
  */
  EXPECT_EQ(4, ild(u"âCÂ Â "));
}

TEST(x86ild, test_8B14ED00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rbp*8]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶ÏÂ Â Â Â "));
}

TEST(x86ild, test_668B14ED00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rbp*8]
  */
  EXPECT_EQ(8, ild(u"fÃ¯Â¶ÏÂ Â Â Â "));
}

TEST(x86ild, test_408A7300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov sil, byte ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"@Ã¨sÂ "));
}

TEST(x86ild, test_7800) {
  /*
    ICLASS: JS
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JS_RELBRb
    ISA_SET: I86
    SHORT: js 0x2
  */
  EXPECT_EQ(2, ild(u"xÂ "));
}

TEST(x86ild, test_40887300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], sil
  */
  EXPECT_EQ(4, ild(u"@ÃªsÂ "));
}

TEST(x86ild, test_48890500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rip], rax
  */
  EXPECT_EQ(7, ild(u"HÃ«â£Â Â Â Â "));
}

TEST(x86ild, test_B900000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov ecx, 0x0
  */
  EXPECT_EQ(5, ild(u"â£Â Â Â Â "));
}

TEST(x86ild, test_8B742400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rsp]
  */
  EXPECT_EQ(4, ild(u"Ã¯t$Â "));
}

TEST(x86ild, test_89F2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, esi
  */
  EXPECT_EQ(2, ild(u"Ã«â¥"));
}

TEST(x86ild, test_4088F7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov dil, sil
  */
  EXPECT_EQ(3, ild(u"@Ãªâ"));
}

TEST(x86ild, test_668B942D00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov dx, word ptr [rbp+rbp*1]
  */
  EXPECT_EQ(8, ild(u"fÃ¯Ã¶-Â Â Â Â "));
}

TEST(x86ild, test_408A7700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov sil, byte ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"@Ã¨wÂ "));
}

TEST(x86ild, test_89742400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rsp], esi
  */
  EXPECT_EQ(4, ild(u"Ã«t$Â "));
}

TEST(x86ild, test_4889EF) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, rbp
  */
  EXPECT_EQ(3, ild(u"HÃ«â©"));
}

TEST(x86ild, test_7900) {
  /*
    ICLASS: JNS
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNS_RELBRb
    ISA_SET: I86
    SHORT: jns 0x2
  */
  EXPECT_EQ(2, ild(u"yÂ "));
}

TEST(x86ild, test_89FF) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edi, edi
  */
  EXPECT_EQ(2, ild(u"Ã«Î»"));
}

TEST(x86ild, test_89CE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, ecx
  */
  EXPECT_EQ(2, ild(u"Ã«â¬"));
}

TEST(x86ild, test_7600) {
  /*
    ICLASS: JBE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JBE_RELBRb
    ISA_SET: I86
    SHORT: jbe 0x2
  */
  EXPECT_EQ(2, ild(u"vÂ "));
}

TEST(x86ild, test_4889C6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rsi, rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_8B048500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rax*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯â¦Ã Â Â Â Â "));
}

TEST(x86ild, test_415C) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop r12
  */
  EXPECT_EQ(2, ild(u"A\\"));
}

TEST(x86ild, test_488B04C500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rax*8]
  */
  EXPECT_EQ(8, ild(u"HÃ¯â¦â¼Â Â Â Â "));
}

TEST(x86ild, test_885300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], dl
  */
  EXPECT_EQ(3, ild(u"ÃªSÂ "));
}

TEST(x86ild, test_4889FD) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbp, rdi
  */
  EXPECT_EQ(3, ild(u"HÃ«Â²"));
}

TEST(x86ild, test_4088F0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov al, sil
  */
  EXPECT_EQ(3, ild(u"@Ãªâ¡"));
}

TEST(x86ild, test_89442400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rsp], eax
  */
  EXPECT_EQ(4, ild(u"Ã«D$Â "));
}

TEST(x86ild, test_894300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rbx], eax
  */
  EXPECT_EQ(3, ild(u"Ã«CÂ "));
}

TEST(x86ild, test_88D0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov al, dl
  */
  EXPECT_EQ(2, ild(u"Ãªâ¨"));
}

TEST(x86ild, test_4154) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push r12
  */
  EXPECT_EQ(2, ild(u"AT"));
}

TEST(x86ild, test_7300) {
  /*
    ICLASS: JNB
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNB_RELBRb
    ISA_SET: I86
    SHORT: jnb 0x2
  */
  EXPECT_EQ(2, ild(u"sÂ "));
}

TEST(x86ild, test_448A4700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov r8b, byte ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"DÃ¨GÂ "));
}

TEST(x86ild, test_89F7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edi, esi
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_89C0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_668B4F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov cx, word ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"fÃ¯OÂ "));
}

TEST(x86ild, test_BB00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov ebx, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_88C8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov al, cl
  */
  EXPECT_EQ(2, ild(u"Ãªâ"));
}

TEST(x86ild, test_66894F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rdi], cx
  */
  EXPECT_EQ(4, ild(u"fÃ«OÂ "));
}

TEST(x86ild, test_415D) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop r13
  */
  EXPECT_EQ(2, ild(u"A]"));
}

TEST(x86ild, test_FFE0) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_GPRv
    ISA_SET: I86
    SHORT: jmp rax
  */
  EXPECT_EQ(2, ild(u"Î»Î±"));
}

TEST(x86ild, test_FFD2) {
  /*
    ICLASS: CALL_NEAR
    CATEGORY: CALL
    EXTENSION: BASE
    IFORM: CALL_NEAR_GPRv
    ISA_SET: I86
    SHORT: call rdx
  */
  EXPECT_EQ(2, ild(u"Î»â¥"));
}

TEST(x86ild, test_FF24C500000000) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_MEMv
    ISA_SET: I86
    SHORT: jmp qword ptr [rax*8]
  */
  EXPECT_EQ(7, ild(u"Î»$â¼Â Â Â Â "));
}

TEST(x86ild, test_E000) {
  /*
    ICLASS: LOOPNE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: LOOPNE_RELBRb
    ISA_SET: I86
    SHORT: loopne 0x2
  */
  EXPECT_EQ(2, ild(u"Î±Â "));
}

TEST(x86ild, test_8B4000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rax]
  */
  EXPECT_EQ(3, ild(u"Ã¯@Â "));
}

TEST(x86ild, test_89D1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ecx, edx
  */
  EXPECT_EQ(2, ild(u"Ã«â¤"));
}

TEST(x86ild, test_8B14AD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rbp*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯Â¶Â¡Â Â Â Â "));
}

TEST(x86ild, test_895700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdi], edx
  */
  EXPECT_EQ(3, ild(u"Ã«WÂ "));
}

TEST(x86ild, test_488B5700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"HÃ¯WÂ "));
}

TEST(x86ild, test_4155) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push r13
  */
  EXPECT_EQ(2, ild(u"AU"));
}

TEST(x86ild, test_668B840000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ax, word ptr [rax+rax*1]
  */
  EXPECT_EQ(8, ild(u"fÃ¯Ã¤Â Â Â Â Â "));
}

TEST(x86ild, test_488B8000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rax]
  */
  EXPECT_EQ(7, ild(u"HÃ¯ÃÂ Â Â Â "));
}

TEST(x86ild, test_488B4B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rcx, qword ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"HÃ¯KÂ "));
}

TEST(x86ild, test_0F8700000000) {
  /*
    ICLASS: JNBE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNBE_RELBRd
    ISA_SET: I86
    SHORT: jnbe 0x6
  */
  EXPECT_EQ(6, ild(u"â¼Ã§Â Â Â Â "));
}

TEST(x86ild, test_8B5300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¯SÂ "));
}

TEST(x86ild, test_668B048500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ax, word ptr [rax*4]
  */
  EXPECT_EQ(8, ild(u"fÃ¯â¦Ã Â Â Â Â "));
}

TEST(x86ild, test_66898100000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rcx], ax
  */
  EXPECT_EQ(7, ild(u"fÃ«Ã¼Â Â Â Â "));
}

TEST(x86ild, test_488B17) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
g    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rdi]
  */
  EXPECT_EQ(3, ild(u"HÃ¯â¨"));
}

TEST(x86ild, test_4889C2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdx, rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â¬"));
}

TEST(x86ild, test_C7400000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov dword ptr [rax], 0x0
  */
  EXPECT_EQ(7, ild(u"â@Â Â Â Â Â "));
}

TEST(x86ild, test_4C89E7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, r12
  */
  EXPECT_EQ(3, ild(u"LÃ«Ï"));
}

TEST(x86ild, test_488B3B) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdi, qword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"HÃ¯;"));
}

TEST(x86ild, test_4889EE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rsi, rbp
  */
  EXPECT_EQ(3, ild(u"HÃ«Îµ"));
}

TEST(x86ild, test_4488C0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov al, r8b
  */
  EXPECT_EQ(3, ild(u"DÃªâ"));
}

TEST(x86ild, test_415E) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop r14
  */
  EXPECT_EQ(2, ild(u"A^"));
}

TEST(x86ild, test_4156) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push r14
  */
  EXPECT_EQ(2, ild(u"AV"));
}

TEST(x86ild, test_8B542400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rsp]
  */
  EXPECT_EQ(4, ild(u"Ã¯T$Â "));
}

TEST(x86ild, test_89C7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edi, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_488B8700000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rdi]
  */
  EXPECT_EQ(7, ild(u"HÃ¯Ã§Â Â Â Â "));
}

TEST(x86ild, test_448A4F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov r9b, byte ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"DÃ¨OÂ "));
}

TEST(x86ild, test_408A30) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov sil, byte ptr [rax]
  */
  EXPECT_EQ(3, ild(u"@Ã¨0"));
}

TEST(x86ild, test_4189C6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r14d, eax
  */
  EXPECT_EQ(3, ild(u"AÃ«â"));
}

TEST(x86ild, test_897300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rbx], esi
  */
  EXPECT_EQ(3, ild(u"Ã«sÂ "));
}

TEST(x86ild, test_894F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdi], ecx
  */
  EXPECT_EQ(3, ild(u"Ã«OÂ "));
}

TEST(x86ild, test_4489E6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, r12d
  */
  EXPECT_EQ(3, ild(u"DÃ«Î¼"));
}

TEST(x86ild, test_4488C8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov al, r9b
  */
  EXPECT_EQ(3, ild(u"DÃªâ"));
}

TEST(x86ild, test_8A10) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rax]
  */
  EXPECT_EQ(2, ild(u"Ã¨âº"));
}

TEST(x86ild, test_894200) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdx], eax
  */
  EXPECT_EQ(3, ild(u"Ã«BÂ "));
}

TEST(x86ild, test_88D1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov cl, dl
  */
  EXPECT_EQ(2, ild(u"Ãªâ¤"));
}

TEST(x86ild, test_58) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop rax
  */
  EXPECT_EQ(1, ild(u"X"));
}

TEST(x86ild, test_48B90000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov rcx, 0x0
  */
  EXPECT_EQ(10, ild(u"Hâ£Â Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_488B14D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rdx*8]
  */
  EXPECT_EQ(8, ild(u"HÃ¯Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_4489F2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, r14d
  */
  EXPECT_EQ(3, ild(u"DÃ«â¥"));
}

TEST(x86ild, test_4489EA) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, r13d
  */
  EXPECT_EQ(3, ild(u"DÃ«Î©"));
}

TEST(x86ild, test_8B04BD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rdi*4]
  */
  EXPECT_EQ(7, ild(u"Ã¯â¦âÂ Â Â Â "));
}

TEST(x86ild, test_89F1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ecx, esi
  */
  EXPECT_EQ(2, ild(u"Ã«Â±"));
}

TEST(x86ild, test_488B7F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdi, qword ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"HÃ¯âÂ "));
}

TEST(x86ild, test_4488C2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov dl, r8b
  */
  EXPECT_EQ(3, ild(u"DÃªâ¬"));
}

TEST(x86ild, test_4189C4) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r12d, eax
  */
  EXPECT_EQ(3, ild(u"AÃ«â"));
}

TEST(x86ild, test_8A049500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rdx*4]
  */
  EXPECT_EQ(7, ild(u"Ã¨â¦Ã²Â Â Â Â "));
}

TEST(x86ild, test_89F6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, esi
  */
  EXPECT_EQ(2, ild(u"Ã«Ã·"));
}

TEST(x86ild, test_89EE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, ebp
  */
  EXPECT_EQ(2, ild(u"Ã«Îµ"));
}

TEST(x86ild, test_89DE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, ebx
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_89DA) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, ebx
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_89C3) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ebx, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_7E00) {
  /*
    ICLASS: JLE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JLE_RELBRb
    ISA_SET: I86
    SHORT: jle 0x2
  */
  EXPECT_EQ(2, ild(u"~Â "));
}

TEST(x86ild, test_66897300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov word ptr [rbx], si
  */
  EXPECT_EQ(4, ild(u"fÃ«sÂ "));
}

TEST(x86ild, test_4889F3) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbx, rsi
  */
  EXPECT_EQ(3, ild(u"HÃ«â¤"));
}

TEST(x86ild, test_4489C1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ecx, r8d
  */
  EXPECT_EQ(3, ild(u"DÃ«â´"));
}

TEST(x86ild, test_40886B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rbx], bpl
  */
  EXPECT_EQ(4, ild(u"@ÃªkÂ "));
}

TEST(x86ild, test_C7800000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov dword ptr [rax], 0x0
  */
  EXPECT_EQ(10, ild(u"âÃÂ Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_C7420000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov dword ptr [rdx], 0x0
  */
  EXPECT_EQ(7, ild(u"âBÂ Â Â Â Â "));
}

TEST(x86ild, test_899000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rax], edx
  */
  EXPECT_EQ(6, ild(u"Ã«ÃÂ Â Â Â "));
}

TEST(x86ild, test_59) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop rcx
  */
  EXPECT_EQ(1, ild(u"Y"));
}

TEST(x86ild, test_48D3E2) {
  /*
    ICLASS: SHL
    CATEGORY: SHIFT
    EXTENSION: BASE
    IFORM: SHL_GPRv_CL_D3r4
    ISA_SET: I86
    SHORT: shl rdx, cl
  */
  EXPECT_EQ(3, ild(u"HâÎ"));
}

TEST(x86ild, test_48C7470000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov qword ptr [rdi], 0x0
  */
  EXPECT_EQ(8, ild(u"HâGÂ Â Â Â Â "));
}

TEST(x86ild, test_488B4F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rcx, qword ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"HÃ¯OÂ "));
}

TEST(x86ild, test_4863F6) {
  /*
    ICLASS: MOVSXD
    CATEGORY: DATAXFER
    EXTENSION: LONGMODE
    IFORM: MOVSXD_GPRv_GPR32
    ISA_SET: LONGMODE
    SHORT: movsxd rsi, esi
  */
  EXPECT_EQ(3, ild(u"HcÃ·"));
}

TEST(x86ild, test_4489E2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, r12d
  */
  EXPECT_EQ(3, ild(u"DÃ«Î"));
}

TEST(x86ild, test_415F) {
  /*
    ICLASS: POP
    CATEGORY: POP
    EXTENSION: BASE
    IFORM: POP_GPRv_58
    ISA_SET: I86
    SHORT: pop r15
  */
  EXPECT_EQ(2, ild(u"A_"));
}

TEST(x86ild, test_4157) {
  /*
    ICLASS: PUSH
    CATEGORY: PUSH
    EXTENSION: BASE
    IFORM: PUSH_GPRv_50
    ISA_SET: I86
    SHORT: push r15
  */
  EXPECT_EQ(2, ild(u"AW"));
}

TEST(x86ild, test_408A6B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov bpl, byte ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"@Ã¨kÂ "));
}

TEST(x86ild, test_4088C6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov sil, al
  */
  EXPECT_EQ(3, ild(u"@Ãªâ"));
}

TEST(x86ild, test_8A4600) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rsi]
  */
  EXPECT_EQ(3, ild(u"Ã¨FÂ "));
}

TEST(x86ild, test_8A04D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¨â¦âÂ Â Â Â "));
}

TEST(x86ild, test_89F8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, edi
  */
  EXPECT_EQ(2, ild(u"Ã«Â°"));
}

TEST(x86ild, test_89C6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_89542400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rsp], edx
  */
  EXPECT_EQ(4, ild(u"Ã«T$Â "));
}

TEST(x86ild, test_88CA) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov dl, cl
  */
  EXPECT_EQ(2, ild(u"Ãªâ©"));
}

TEST(x86ild, test_4C89EF) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, r13
  */
  EXPECT_EQ(3, ild(u"LÃ«â©"));
}

TEST(x86ild, test_48C70700000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov qword ptr [rdi], 0x0
  */
  EXPECT_EQ(7, ild(u"Hââ¢Â Â Â Â "));
}

TEST(x86ild, test_48897700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rdi], rsi
  */
  EXPECT_EQ(4, ild(u"HÃ«wÂ "));
}

TEST(x86ild, test_448B6C2400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov r13d, dword ptr [rsp]
  */
  EXPECT_EQ(5, ild(u"DÃ¯l$Â "));
}

TEST(x86ild, test_FF24CD00000000) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_MEMv
    ISA_SET: I86
    SHORT: jmp qword ptr [rcx*8]
  */
  EXPECT_EQ(7, ild(u"Î»$âÂ Â Â Â "));
}

TEST(x86ild, test_F2AE) {
  /*
    ICLASS: REPNE_SCASB
    CATEGORY: STRINGOP
    EXTENSION: BASE
    IFORM: REPNE_SCASB
    ISA_SET: I86
    SHORT: repne scasb byte ptr [rdi]
  */
  EXPECT_EQ(2, ild(u"â¥Â«"));
}

TEST(x86ild, test_E90083E000) {
  /*
    ICLASS: JMP
    CATEGORY: UNCOND_BR
    EXTENSION: BASE
    IFORM: JMP_RELBRd
    ISA_SET: I86
    SHORT: jmp 0xe08305
  */
  EXPECT_EQ(5, ild(u"ÎÂ Ã¢Î±Â "));
}

TEST(x86ild, test_C7040700000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov dword ptr [rdi+rax*1], 0x0
  */
  EXPECT_EQ(7, ild(u"ââ¦â¢Â Â Â Â "));
}

TEST(x86ild, test_C644240000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_IMMb
    ISA_SET: I86
    SHORT: mov byte ptr [rsp], 0x0
  */
  EXPECT_EQ(5, ild(u"âD$Â Â "));
}

TEST(x86ild, test_8B9200000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edx, dword ptr [rdx]
  */
  EXPECT_EQ(6, ild(u"Ã¯ÃÂ Â Â Â "));
}

TEST(x86ild, test_8B7D00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edi, dword ptr [rbp]
  */
  EXPECT_EQ(3, ild(u"Ã¯}Â "));
}

TEST(x86ild, test_8A8000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rax]
  */
  EXPECT_EQ(6, ild(u"Ã¨ÃÂ Â Â Â "));
}

TEST(x86ild, test_8A5000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rax]
  */
  EXPECT_EQ(3, ild(u"Ã¨PÂ "));
}

TEST(x86ild, test_89F5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ebp, esi
  */
  EXPECT_EQ(2, ild(u"Ã«â¡"));
}

TEST(x86ild, test_89EA) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edx, ebp
  */
  EXPECT_EQ(2, ild(u"Ã«Î©"));
}

TEST(x86ild, test_89E8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov eax, ebp
  */
  EXPECT_EQ(2, ild(u"Ã«Î¦"));
}

TEST(x86ild, test_668B7B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov di, word ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"fÃ¯{Â "));
}

TEST(x86ild, test_4989FC) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r12, rdi
  */
  EXPECT_EQ(3, ild(u"IÃ«â¿"));
}

TEST(x86ild, test_48D3E0) {
  /*
    ICLASS: SHL
    CATEGORY: SHIFT
    EXTENSION: BASE
    IFORM: SHL_GPRv_CL_D3r4
    ISA_SET: I86
    SHORT: shl rax, cl
  */
  EXPECT_EQ(3, ild(u"HâÎ±"));
}

TEST(x86ild, test_48BE0000000000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov rsi, 0x0
  */
  EXPECT_EQ(10, ild(u"HâÂ Â Â Â Â Â Â Â "));
}

TEST(x86ild, test_488B6F00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rbp, qword ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"HÃ¯oÂ "));
}

TEST(x86ild, test_488B5500) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rbp]
  */
  EXPECT_EQ(4, ild(u"HÃ¯UÂ "));
}

TEST(x86ild, test_4889E5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbp, rsp
  */
  EXPECT_EQ(3, ild(u"HÃ«Ï"));
}

TEST(x86ild, test_4889D5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbp, rdx
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_448B442400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov r8d, dword ptr [rsp]
  */
  EXPECT_EQ(5, ild(u"DÃ¯D$Â "));
}

TEST(x86ild, test_4488C6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov sil, r8b
  */
  EXPECT_EQ(3, ild(u"DÃªâ"));
}

TEST(x86ild, test_4189C5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r13d, eax
  */
  EXPECT_EQ(3, ild(u"AÃ«â¼"));
}

TEST(x86ild, test_0F8D00000000) {
  /*
    ICLASS: JNL
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNL_RELBRd
    ISA_SET: I86
    SHORT: jnl 0x6
  */
  EXPECT_EQ(6, ild(u"â¼Ã¬Â Â Â Â "));
}

TEST(x86ild, test_C6400000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_IMMb
    ISA_SET: I86
    SHORT: mov byte ptr [rax], 0x0
  */
  EXPECT_EQ(4, ild(u"â@Â Â "));
}

TEST(x86ild, test_B000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_IMMb_B0
    ISA_SET: I86
    SHORT: mov al, 0x0
  */
  EXPECT_EQ(2, ild(u"âÂ "));
}

TEST(x86ild, test_8BB900000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov edi, dword ptr [rcx]
  */
  EXPECT_EQ(6, ild(u"Ã¯â£Â Â Â Â "));
}

TEST(x86ild, test_8BB000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov esi, dword ptr [rax]
  */
  EXPECT_EQ(6, ild(u"Ã¯âÂ Â Â Â "));
}

TEST(x86ild, test_8A00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rax]
  */
  EXPECT_EQ(2, ild(u"Ã¨Â "));
}

TEST(x86ild, test_89C5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ebp, eax
  */
  EXPECT_EQ(2, ild(u"Ã«â¼"));
}

TEST(x86ild, test_896A00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdx], ebp
  */
  EXPECT_EQ(3, ild(u"Ã«jÂ "));
}

TEST(x86ild, test_8802) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rdx], al
  */
  EXPECT_EQ(2, ild(u"Ãªâ»"));
}

TEST(x86ild, test_7F00) {
  /*
    ICLASS: JNLE
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNLE_RELBRb
    ISA_SET: I86
    SHORT: jnle 0x2
  */
  EXPECT_EQ(2, ild(u"âÂ "));
}

TEST(x86ild, test_7D00) {
  /*
    ICLASS: JNL
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JNL_RELBRb
    ISA_SET: I86
    SHORT: jnl 0x2
  */
  EXPECT_EQ(2, ild(u"}Â "));
}

TEST(x86ild, test_668B7700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov si, word ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"fÃ¯wÂ "));
}

TEST(x86ild, test_48D3EA) {
  /*
    ICLASS: SHR
    CATEGORY: SHIFT
    EXTENSION: BASE
    IFORM: SHR_GPRv_CL
    ISA_SET: I86
    SHORT: shr rdx, cl
  */
  EXPECT_EQ(3, ild(u"HâÎ©"));
}

TEST(x86ild, test_488B3D00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdi, qword ptr [rip]
  */
  EXPECT_EQ(7, ild(u"HÃ¯=Â Â Â Â "));
}

TEST(x86ild, test_488B14DD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rbx*8]
  */
  EXPECT_EQ(8, ild(u"HÃ¯Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_488B0500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rax, qword ptr [rip]
  */
  EXPECT_EQ(7, ild(u"HÃ¯â£Â Â Â Â "));
}

TEST(x86ild, test_4889FE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rsi, rdi
  */
  EXPECT_EQ(3, ild(u"HÃ«â "));
}

TEST(x86ild, test_4889D9) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rcx, rbx
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_4889C8) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rax, rcx
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_4889C3) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbx, rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_488937) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rdi], rsi
  */
  EXPECT_EQ(3, ild(u"HÃ«7"));
}

TEST(x86ild, test_4863C9) {
  /*
    ICLASS: MOVSXD
    CATEGORY: DATAXFER
    EXTENSION: LONGMODE
    IFORM: MOVSXD_GPRv_GPR32
    ISA_SET: LONGMODE
    SHORT: movsxd rcx, ecx
  */
  EXPECT_EQ(3, ild(u"Hcâ"));
}

TEST(x86ild, test_448B7C2400) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov r15d, dword ptr [rsp]
  */
  EXPECT_EQ(5, ild(u"DÃ¯|$Â "));
}

TEST(x86ild, test_448A5700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov r10b, byte ptr [rdi]
  */
  EXPECT_EQ(4, ild(u"DÃ¨WÂ "));
}

TEST(x86ild, test_448A4300) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov r8b, byte ptr [rbx]
  */
  EXPECT_EQ(4, ild(u"DÃ¨CÂ "));
}

TEST(x86ild, test_4488D2) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov dl, r10b
  */
  EXPECT_EQ(3, ild(u"DÃªâ¥"));
}

TEST(x86ild, test_4488C9) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_GPR8_88
    ISA_SET: I86
    SHORT: mov cl, r9b
  */
  EXPECT_EQ(3, ild(u"DÃªâ"));
}

TEST(x86ild, test_41BC00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov r12d, 0x0
  */
  EXPECT_EQ(6, ild(u"AâÂ Â Â Â "));
}

TEST(x86ild, test_4189F5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r13d, esi
  */
  EXPECT_EQ(3, ild(u"AÃ«â¡"));
}

TEST(x86ild, test_40887700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMb_GPR8
    ISA_SET: I86
    SHORT: mov byte ptr [rdi], sil
  */
  EXPECT_EQ(4, ild(u"@ÃªwÂ "));
}

TEST(x86ild, test_decode) {
  /*
   */
  EXPECT_EQ(2, ild(u"ââ"));
}

TEST(x86ild, test_D3E0) {
  /*
    ICLASS: SHL
    CATEGORY: SHIFT
    EXTENSION: BASE
    IFORM: SHL_GPRv_CL_D3r4
    ISA_SET: I86
    SHORT: shl eax, cl
  */
  EXPECT_EQ(2, ild(u"âÎ±"));
}

TEST(x86ild, test_BD00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_IMMv
    ISA_SET: I86
    SHORT: mov ebp, 0x0
  */
  EXPECT_EQ(5, ild(u"âÂ Â Â Â "));
}

TEST(x86ild, test_8B4B00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov ecx, dword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"Ã¯KÂ "));
}

TEST(x86ild, test_8B07) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov eax, dword ptr [rdi]
  */
  EXPECT_EQ(2, ild(u"Ã¯â¢"));
}

TEST(x86ild, test_8A9000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rax]
  */
  EXPECT_EQ(6, ild(u"Ã¨ÃÂ Â Â Â "));
}

TEST(x86ild, test_8A4A00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rdx]
  */
  EXPECT_EQ(3, ild(u"Ã¨JÂ "));
}

TEST(x86ild, test_8A4500) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov al, byte ptr [rbp]
  */
  EXPECT_EQ(3, ild(u"Ã¨EÂ "));
}

TEST(x86ild, test_8A14D500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov dl, byte ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¨Â¶âÂ Â Â Â "));
}

TEST(x86ild, test_8A0CD500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rdx*8]
  */
  EXPECT_EQ(7, ild(u"Ã¨ââÂ Â Â Â "));
}

TEST(x86ild, test_8A0C08) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPR8_MEMb
    ISA_SET: I86
    SHORT: mov cl, byte ptr [rax+rcx*1]
  */
  EXPECT_EQ(3, ild(u"Ã¨ââ"));
}

TEST(x86ild, test_89D6) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov esi, edx
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_89D5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov ebp, edx
  */
  EXPECT_EQ(2, ild(u"Ã«â"));
}

TEST(x86ild, test_897700) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdi], esi
  */
  EXPECT_EQ(3, ild(u"Ã«wÂ "));
}

TEST(x86ild, test_895A00) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rdx], ebx
  */
  EXPECT_EQ(3, ild(u"Ã«ZÂ "));
}

TEST(x86ild, test_895000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rax], edx
  */
  EXPECT_EQ(3, ild(u"Ã«PÂ "));
}

TEST(x86ild, test_8910) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov dword ptr [rax], edx
  */
  EXPECT_EQ(2, ild(u"Ã«âº"));
}

TEST(x86ild, test_7C00) {
  /*
    ICLASS: JL
    CATEGORY: COND_BR
    EXTENSION: BASE
    IFORM: JL_RELBRb
    ISA_SET: I86
    SHORT: jl 0x2
  */
  EXPECT_EQ(2, ild(u"|Â "));
}

TEST(x86ild, test_4C89C1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rcx, r8
  */
  EXPECT_EQ(3, ild(u"LÃ«â´"));
}

TEST(x86ild, test_498B5500) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [r13]
  */
  EXPECT_EQ(4, ild(u"IÃ¯UÂ "));
}

TEST(x86ild, test_4989D5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov r13, rdx
  */
  EXPECT_EQ(3, ild(u"IÃ«â"));
}

TEST(x86ild, test_48D3E8) {
  /*
    ICLASS: SHR
    CATEGORY: SHIFT
    EXTENSION: BASE
    IFORM: SHR_GPRv_CL
    ISA_SET: I86
    SHORT: shr rax, cl
  */
  EXPECT_EQ(3, ild(u"HâÎ¦"));
}

TEST(x86ild, test_48C7430000000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_IMMz
    ISA_SET: I86
    SHORT: mov qword ptr [rbx], 0x0
  */
  EXPECT_EQ(8, ild(u"HâCÂ Â Â Â Â "));
}

TEST(x86ild, test_4898) {
  /*
    ICLASS: CDQE
    CATEGORY: CONVERT
    EXTENSION: LONGMODE
    IFORM: CDQE
    ISA_SET: LONGMODE
    SHORT: cdqe
  */
  EXPECT_EQ(2, ild(u"HÃ¿"));
}

TEST(x86ild, test_488B9600000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rdx, qword ptr [rsi]
  */
  EXPECT_EQ(7, ild(u"HÃ¯Ã»Â Â Â Â "));
}

TEST(x86ild, test_488B0B) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_MEMv
    ISA_SET: I86
    SHORT: mov rcx, qword ptr [rbx]
  */
  EXPECT_EQ(3, ild(u"HÃ¯â"));
}

TEST(x86ild, test_4889F7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, rsi
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_4889F5) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rbp, rsi
  */
  EXPECT_EQ(3, ild(u"HÃ«â¡"));
}

TEST(x86ild, test_4889F0) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rax, rsi
  */
  EXPECT_EQ(3, ild(u"HÃ«â¡"));
}

TEST(x86ild, test_4889DE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rsi, rbx
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_4889D1) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rcx, rdx
  */
  EXPECT_EQ(3, ild(u"HÃ«â¤"));
}

TEST(x86ild, test_4889CE) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rsi, rcx
  */
  EXPECT_EQ(3, ild(u"HÃ«â¬"));
}

TEST(x86ild, test_4889C7) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov rdi, rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â"));
}

TEST(x86ild, test_48893D00000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rip], rdi
  */
  EXPECT_EQ(7, ild(u"HÃ«=Â Â Â Â "));
}

TEST(x86ild, test_48893500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rip], rsi
  */
  EXPECT_EQ(7, ild(u"HÃ«5Â Â Â Â "));
}

TEST(x86ild, test_48891500000000) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rip], rdx
  */
  EXPECT_EQ(7, ild(u"HÃ«Â§Â Â Â Â "));
}

TEST(x86ild, test_488903) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_MEMv_GPRv
    ISA_SET: I86
    SHORT: mov qword ptr [rbx], rax
  */
  EXPECT_EQ(3, ild(u"HÃ«â¥"));
}

TEST(x86ild, test_4489FF) {
  /*
    ICLASS: MOV
    CATEGORY: DATAXFER
    EXTENSION: BASE
    IFORM: MOV_GPRv_GPRv_89
    ISA_SET: I86
    SHORT: mov edi, r15d
  */
  EXPECT_EQ(3, ild(u"DÃ«Î»"));
}
