test_cases:
  -
    input:
      bytes: [ 0x31, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "abs_s %r0, %r1"

  -
    input:
      bytes: [ 0x58, 0x61 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r1, %r2"

  -
    input:
      bytes: [ 0x63, 0x70 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r0, %fp"

  -
    input:
      bytes: [ 0x67, 0x77 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %fp, %fp, -1"

  -
    input:
      bytes: [ 0x67, 0x76 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %fp, %fp, 6"

  -
    input:
      bytes: [ 0xc3, 0x70, 0x22, 0x11, 0x44, 0x33 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r0, 287454020"

  -
    input:
      bytes: [ 0xc7, 0x74, 0x22, 0x11, 0x44, 0x33 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s 0, 287454020, 4"

  -
    input:
      bytes: [ 0x90, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %sp, 64"

  -
    input:
      bytes: [ 0x40, 0xe0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r0, 64"

  -
    input:
      bytes: [ 0x07, 0x69 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r1, 7"

  -
    input:
      bytes: [ 0xb0, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %sp, %sp, 64"

  -
    input:
      bytes: [ 0xff, 0xcf ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %gp, -4"

  -
    input:
      bytes: [ 0x0c, 0x49 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r0, %r1, 4"

  -
    input:
      bytes: [ 0x8c, 0x48 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add_s %r1, %r0, 4"

  -
    input:
      bytes: [ 0x34, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add1_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x35, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add2_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x36, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "add3_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x24, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "and_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x3b, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asl_s %r0, %r1"

  -
    input:
      bytes: [ 0x34, 0x68 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asl_s %r1, %r0, 4"

  -
    input:
      bytes: [ 0x38, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asl_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x10, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asl_s %r0, %r0, 16"

  -
    input:
      bytes: [ 0x3c, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asr_s %r0, %r1"

  -
    input:
      bytes: [ 0x3c, 0x68 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asr_s %r1, %r0, 4"

  -
    input:
      bytes: [ 0x3a, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asr_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x50, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "asr_s %r0, %r0, 16"

  -
    input:
      bytes: [ 0x80, 0xf0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "b_s 256"

  -
    input:
      bytes: [ 0xfe, 0xf1 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "b_s -4"

  -
    input:
      bytes: [ 0xfe, 0xf3 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "beq_s -4"

  -
    input:
      bytes: [ 0xfe, 0xf5 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bne_s -4"

  -
    input:
      bytes: [ 0x3e, 0xf6 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bgt_s -4"

  -
    input:
      bytes: [ 0x7e, 0xf6 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bge_s -4"

  -
    input:
      bytes: [ 0xbe, 0xf6 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "blt_s -4"

  -
    input:
      bytes: [ 0xfe, 0xf6 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ble_s -4"

  -
    input:
      bytes: [ 0x3e, 0xf7 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bhi_s -4"

  -
    input:
      bytes: [ 0x7e, 0xf7 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bhs_s -4"

  -
    input:
      bytes: [ 0xbe, 0xf7 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "blo_s -4"

  -
    input:
      bytes: [ 0xfe, 0xf7 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bls_s -4"

  -
    input:
      bytes: [ 0xb8, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bclr_s %r0, %r0, 24"

  -
    input:
      bytes: [ 0x26, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bic_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0xc0, 0xff ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bl_s -256"

  -
    input:
      bytes: [ 0xd8, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bmsk_s %r0, %r0, 24"

  -
    input:
      bytes: [ 0xc0, 0xe8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "brne_s %r0, 0, -128"

  -
    input:
      bytes: [ 0x40, 0xe8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "breq_s %r0, 0, -128"

  -
    input:
      bytes: [ 0xff, 0x7f ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "brk_s"

  -
    input:
      bytes: [ 0x98, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "bset_s %r0, %r0, 24"

  -
    input:
      bytes: [ 0xf8, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "btst_s %r0, 24"

  -
    input:
      bytes: [ 0x93, 0x70 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "cmp_s %r0, %sp"

  -
    input:
      bytes: [ 0x97, 0x77 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "cmp_s %sp, -1"

  -
    input:
      bytes: [ 0xc0, 0xe2 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "cmp_s %r2, 64"

  -
    input:
      bytes: [ 0x00, 0x5e ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ei_s 512"

  -
    input:
      bytes: [ 0xe0, 0xc1 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "enter_s 16"

  -
    input:
      bytes: [ 0x2f, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "extb_s %r0, %r1"

  -
    input:
      bytes: [ 0x30, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "exth_s %r0, %r1"

  -
    input:
      bytes: [ 0x00, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "j_s [%r0]"

  -
    input:
      bytes: [ 0xe0, 0x7e ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "j_s [%blink]"

  -
    input:
      bytes: [ 0x20, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "j_s.d [%r0]"

  -
    input:
      bytes: [ 0xe0, 0x7f ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "j_s.d [%blink]"

  -
    input:
      bytes: [ 0xe0, 0x7c ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jeq_s [%blink]"

  -
    input:
      bytes: [ 0xe0, 0x7d ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jne_s [%blink]"

  -
    input:
      bytes: [ 0x40, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jl_s [%r0]"

  -
    input:
      bytes: [ 0x60, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jl_s.d [%r0]"

  -
    input:
      bytes: [ 0x00, 0x5a ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "jli_s 512"

  -
    input:
      bytes: [ 0x40, 0x61 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r0, [%r1, %r2]"

  -
    input:
      bytes: [ 0x10, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r0, [%sp, 64]"

  -
    input:
      bytes: [ 0x80, 0xd0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r0, [%pcl, 512]"

  -
    input:
      bytes: [ 0x30, 0x80 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r1, [%r0, 64]"

  -
    input:
      bytes: [ 0x00, 0xc9 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r0, [%gp, -1024]"

  -
    input:
      bytes: [ 0x48, 0x61 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldb_s %r0, [%r1, %r2]"

  -
    input:
      bytes: [ 0x30, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldb_s %r0, [%sp, 64]"

  -
    input:
      bytes: [ 0x30, 0x88 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldb_s %r1, [%r0, 16]"

  -
    input:
      bytes: [ 0x00, 0xcb ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldb_s %r0, [%gp, -256]"

  -
    input:
      bytes: [ 0x50, 0x61 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldh_s %r0, [%r1, %r2]"

  -
    input:
      bytes: [ 0x30, 0x90 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldh_s %r1, [%r0, 32]"

  -
    input:
      bytes: [ 0x00, 0xcd ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldh_s %r0, [%gp, -512]"

  -
    input:
      bytes: [ 0x30, 0x98 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldh_s.x %r1, [%r0, 32]"

  -
    input:
      bytes: [ 0x36, 0x40 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r0, [%r17, 8]"

  -
    input:
      bytes: [ 0x36, 0x41 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r1, [%r17, 8]"

  -
    input:
      bytes: [ 0x36, 0x42 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r2, [%r17, 8]"

  -
    input:
      bytes: [ 0x36, 0x43 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r3, [%r17, 8]"

  -
    input:
      bytes: [ 0x40, 0x49 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s.as %r0, [%r1, %r2]"

  -
    input:
      bytes: [ 0x00, 0x54 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ld_s %r1, [%gp, -1024]"

  -
    input:
      bytes: [ 0x88, 0x50 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "ldi_s %r0, [64]"

  -
    input:
      bytes: [ 0xc0, 0xc1 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "leave_s 16"

  -
    input:
      bytes: [ 0x3d, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "lsr_s %r0, %r1"

  -
    input:
      bytes: [ 0x39, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "lsr_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x30, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "lsr_s %r0, %r0, 16"

  -
    input:
      bytes: [ 0x2e, 0x77 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s %r17, -1"

  -
    input:
      bytes: [ 0xcf, 0x75 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s 0, 5"

  -
    input:
      bytes: [ 0x3e, 0x70 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s.ne %r0, %r17"

  -
    input:
      bytes: [ 0xdf, 0x70, 0x00, 0x00, 0x00, 0x04 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s.ne %r0, 1024"

  -
    input:
      bytes: [ 0x80, 0xd8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s %r0, 128"

  -
    input:
      bytes: [ 0x32, 0x40 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s %r16, %r17"

  -
    input:
      bytes: [ 0xd3, 0x40, 0x00, 0x00, 0x00, 0x04 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s %r16, 1024"

  -
    input:
      bytes: [ 0x3a, 0x46 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s 0, %r17"

  -
    input:
      bytes: [ 0xdb, 0x46, 0x00, 0x00, 0x00, 0x04 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mov_s 0, 1024"

  -
    input:
      bytes: [ 0x2c, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mpy_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x2a, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mpyuw_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x29, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "mpyw_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x33, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "neg_s %r0, %r1"

  -
    input:
      bytes: [ 0xe0, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "nop_s"

  -
    input:
      bytes: [ 0x32, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "not_s %r0, %r1"

  -
    input:
      bytes: [ 0x25, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "or_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0xe1, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "pop_s %r0"

  -
    input:
      bytes: [ 0xd1, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "pop_s %blink"

  -
    input:
      bytes: [ 0xc1, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "push_s %r0"

  -
    input:
      bytes: [ 0xf1, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "push_s %blink"

  -
    input:
      bytes: [ 0x2d, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sexb_s %r0, %r1"

  -
    input:
      bytes: [ 0x2e, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sexh_s %r0, %r1"

  -
    input:
      bytes: [ 0x50, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "st_s %r0, [%sp, 64]"

  -
    input:
      bytes: [ 0x30, 0xa0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "st_s %r1, [%r0, 64]"

  -
    input:
      bytes: [ 0x10, 0x54 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "st_s %r0, [%gp, -1024]"

  -
    input:
      bytes: [ 0x70, 0xc0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "stb_s %r0, [%sp, 64]"

  -
    input:
      bytes: [ 0x30, 0xa8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "stb_s %r1, [%r0, 16]"

  -
    input:
      bytes: [ 0x30, 0xb0 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sth_s %r1, [%r0, 32]"

  -
    input:
      bytes: [ 0x2c, 0x68 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s %r1, %r0, 4"

  -
    input:
      bytes: [ 0xc0, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s.ne %r0, %r0, %r0"

  -
    input:
      bytes: [ 0x22, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s %r0, %r0, %r1"

  -
    input:
      bytes: [ 0x70, 0xb8 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s %r0, %r0, 16"

  -
    input:
      bytes: [ 0xb0, 0xc1 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s %sp, %sp, 64"

  -
    input:
      bytes: [ 0x50, 0x49 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "sub_s %r0, %r1, %r2"

  -
    input:
      bytes: [ 0xe0, 0x7a ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "swi_s"

  -
    input:
      bytes: [ 0x1e, 0x7c ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "trap_s 32"

  -
    input:
      bytes: [ 0x2b, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "tst_s %r0, %r1"

  -
    input:
      bytes: [ 0xe0, 0x79 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "unimp_s"

  -
    input:
      bytes: [ 0x27, 0x78 ]
      arch: "CS_ARCH_ARC"
      options: [ "CS_MODE_LITTLE_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "xor_s %r0, %r0, %r1"
