test_cases:
  -
    input:
      bytes: [ 0x89, 0xa0, 0x18, 0x80 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fitos %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0x00 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fitod %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0x80 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fitoq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x1a, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fstoi %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x1a, 0x40 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdtoi %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x1a, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fqtoi %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fstod %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0xa0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fstoq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x18, 0xc0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdtos %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0xc0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdtoq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x18, 0xe0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fqtos %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x19, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fqtod %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmovs %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0x40 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmovd %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmovq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0xa0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fnegs %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0xc0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fnegd %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x00, 0xe0 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fnegq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x01, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fabss %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x01, 0x40 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fabsd %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x01, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fabsq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x05, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsqrts %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x05, 0x40 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsqrtd %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x05, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsqrtq %f0, %f4"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0x24 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fadds %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0x44 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "faddd %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0x64 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "faddq %f0, %f4, %f8"

  -
    input:
      bytes: [ 0xbf, 0xa0, 0x48, 0x43 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "faddd %f32, %f34, %f62"

  -
    input:
      bytes: [ 0xbb, 0xa0, 0x48, 0x65 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "faddq %f32, %f36, %f60"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0xa4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsubs %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0xc4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsubd %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x08, 0xe4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsubq %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0x24 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmuls %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0x44 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmuld %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0x64 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fmulq %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x0d, 0x24 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fsmuld %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x0d, 0xc4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdmulq %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0xa4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdivs %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0xc4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdivd %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x91, 0xa0, 0x09, 0xe4 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdivq %f0, %f4, %f8"

  -
    input:
      bytes: [ 0x81, 0xa8, 0x0a, 0x24 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fcmps %f0, %f4"

  -
    input:
      bytes: [ 0x81, 0xa8, 0x0a, 0x44 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fcmpd %f0, %f4"

  -
    input:
      bytes: [ 0x81, 0xa8, 0x0a, 0x64 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fcmpq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x10, 0x80 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fxtos %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x11, 0x00 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fxtod %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x11, 0x80 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fxtoq %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x10, 0x20 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fstox %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x10, 0x40 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fdtox %f0, %f4"

  -
    input:
      bytes: [ 0x89, 0xa0, 0x10, 0x60 ]
      arch: "CS_ARCH_SPARC"
      options: [ "CS_MODE_V9", "CS_MODE_BIG_ENDIAN" ]
    expected:
      insns:
        -
          asm_text: "fqtox %f0, %f4"
