test_cases:
  -
    input:
      bytes: [ 0x24, 0x2a, 0x10, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw 5(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x2a, 0x30, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw,mb 5(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x2a, 0x10, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw,ma 5(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x22, 0x00, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw rp(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x22, 0x20, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw,s rp(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x22, 0x20, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw,sm rp(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x22, 0x00, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldw,m rp(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x2a, 0x10, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd 5(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x2a, 0x30, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd,mb 5(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x2a, 0x10, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd,ma 5(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x22, 0x00, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd rp(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x22, 0x20, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd,s rp(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x22, 0x20, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd,sm rp(r1), fr20"
  -
    input:
      bytes: [ 0x2c, 0x22, 0x00, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fldd,m rp(r1), fr20"
  -
    input:
      bytes: [ 0x24, 0x5e, 0x12, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x24, 0x5e, 0x32, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,mb fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x24, 0x5e, 0x12, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,ma fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x24, 0x41, 0x06, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x24, 0x41, 0x26, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,s,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x24, 0x41, 0x26, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,sm,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x24, 0x41, 0x06, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstw,m,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x2c, 0x5e, 0x12, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x2c, 0x5e, 0x32, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,mb fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x2c, 0x5e, 0x12, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,ma fr20, 0xf(rp)"
  -
    input:
      bytes: [ 0x2c, 0x41, 0x06, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x2c, 0x41, 0x26, 0x14 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,s,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x2c, 0x41, 0x26, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,sm,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x2c, 0x41, 0x06, 0x34 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fstd,m,bc fr20, r1(rp)"
  -
    input:
      bytes: [ 0x30, 0x00, 0x00, 0x00 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fid"
  -
    input:
      bytes: [ 0x32, 0x80, 0x40, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fcpy,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0x60, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fabs,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0x80, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fsqrt,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0xa0, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "frnd,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0xc0, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fneg,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0xe0, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fnegabs,sgl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0x22, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fcnv,sgl,dbl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x80, 0xa2, 0x15 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fcnv,w,dbl fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x95, 0x04, 0x04 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fcmp,sgl,= fr20, fr21"
  -
    input:
      bytes: [ 0x32, 0x95, 0x44, 0x04 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fcmp,sgl,= fr20, fr21, 1"
  -
    input:
      bytes: [ 0x30, 0x00, 0x64, 0x20 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest 1"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x21 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,acc"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x25 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,acc8"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x29 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,acc6"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x2d ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,acc4"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x31 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,acc2"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x22 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,rej"
  -
    input:
      bytes: [ 0x30, 0x00, 0x24, 0x26 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "ftest,rej8"
  -
    input:
      bytes: [ 0x32, 0x95, 0x06, 0x16 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fadd,sgl fr20, fr21, fr22"
  -
    input:
      bytes: [ 0x32, 0x95, 0x26, 0x16 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fsub,sgl fr20, fr21, fr22"
  -
    input:
      bytes: [ 0x32, 0x95, 0x46, 0x16 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fmpy,sgl fr20, fr21, fr22"
  -
    input:
      bytes: [ 0x32, 0x95, 0x66, 0x16 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fdiv,sgl fr20, fr21, fr22"
  -
    input:
      bytes: [ 0x3a, 0x95, 0x47, 0x16 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "xmpyu fr20, fr21, fr22"
  -
    input:
      bytes: [ 0x18, 0x85, 0x41, 0xe6 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fmpyadd,sgl fr20L, fr21L, fr22L, fr23L, fr24L"
  -
    input:
      bytes: [ 0x98, 0x85, 0x41, 0xe6 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fmpysub,sgl fr20L, fr21L, fr22L, fr23L, fr24L"
  -
    input:
      bytes: [ 0xba, 0x95, 0xa4, 0x17 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fmpyfadd,sgl fr20, fr21, fr22, fr23"
  -
    input:
      bytes: [ 0xba, 0x95, 0xa4, 0x37 ]
      arch: "CS_ARCH_HPPA"
      options: [ "CS_MODE_BIG_ENDIAN", "CS_MODE_HPPA_20" ]
    expected:
      insns:
        -
          asm_text: "fmpynfadd,sgl fr20, fr21, fr22, fr23"
