# most instructions
# ------ options ------ : Fst : Lst : ff : fl : fe : word : --- fmt --- : model ...
# { : mask : value : word }

# Top level - create a very big switch statement.

  padded-switch,combine :  15 :   5 :    :    :    :    0 :             :


# for opcode 60,124

  switch,combine        :   4 :   0 :    :    :    :    1 : V,VII       :
  switch,combine        :   4 :   0 :    :    :    :    1 : V,XIII      : v850e
  switch,combine        :   4 :   0 :    :    :    :    1 : V,XIII      : v850e1
  switch,combine        :   4 :   0 :    :    :    :    1 : V,XIII      : v850e2
  switch,combine        :   4 :   0 :    :    :    :    1 : V,XIII      : v850e2v3
  switch,combine        :  10 :   5 :    :    :    :    0 : F_I         : v850e2v3

# for opcode 63, 127, 1087 et.al.

  switch,combine        :   9 :   5 :    :    :    :    1 :             :
  switch,combine        :   4 :   0 :    :    :    :    1 :             :


# for opcode 40 et.al.

  switch,combine        :   4 :   0 :    :    :    :    0 : III,IV      :

# for opcode 66 - divh/break

  switch,combine        :   4 :   0 :    :    :    :    0 : I           :

# for ilgop, macu
  switch,combine        :  10 :   9 :    :    :    :    1 : X,XI        : v850e2
  switch,combine        :  10 :   9 :    :    :    :    1 : X,XI        : v850e2v3
  switch,combine        :  10 :   9 :    :    :    :    1 : X,XI        : v850e3v5

#for cmovf.s, setf
  switch,combine        :  10 :   10 :    :    :    :    1 :F_I,IX      : v850e2v3
  switch,combine        :  10 :   10 :    :    :    :    1 :F_I,IX      : v850e3v5
  
# for cmovf.s trfsr
  switch,combine        :  15 :   11 :    :    :    :    1 :F_I         : v850e2v3
  switch,combine        :  15 :   11 :    :    :    :    1 :F_I         : v850e3v5

# for trncf.sw, cvtf.sw
  switch,combine        :   0 :    0 :    :    :    :    0 :F_I         : v850e2v3
  switch,combine        :   0 :    0 :    :    :    :    0 :F_I         : v850e3v5
  switch,combine        :   4 :    0 :    :    :    :    0 :F_I         : v850e2v3
  switch,combine        :   4 :    0 :    :    :    :    0 :F_I         : v850e3v5

# for rsqrtf.s, sqrtf.s
  switch,combine        :   1 :    1 :    :    :    :    0 :F_I         : v850e2v3
  switch,combine        :   1 :    1 :    :    :    :    0 :F_I         : v850e3v5

# for maddf.s, trap 
  switch,combine        :   8 :    8 :    :    :    :    1 :F_I,X       : v850e2v3
  switch,combine        :  10 :   10 :    :    :    :    1 :F_I,X       : v850e2v3
  switch,combine        :   8 :    8 :    :    :    :    1 :F_I,X       : v850e3v5
  switch,combine        :  10 :   10 :    :    :    :    1 :F_I,X       : v850e3v5

# for jr32 jarl32
  switch,combine        :  4 :   0 :    :    :    :    0 :VI            : v850e2
  switch,combine        :  4 :   0 :    :    :    :    0 :VI            : v850e2v3
  switch,combine        :   4 :    0 :    :    :    :    0 :VI          : v850e3v5
  switch,combine        :  10 :    0 :    :    :    :    1 :F_I,XI      : v850e3v5

# for sasf, vadd.h
  switch,combine        :  10 :    0 :    :    :    :    1 :C,IX        : v850e3v5
  switch,combine        :  10 :    0 :    :    :    :    1 :C,XII       : v850e3v5
  switch,combine        :  15 :    0 :    :    :    :    0 :C           : v850e3v5
  switch,combine        :  10 :    0 :    :    :    :    1 :C,XI        : v850e3v5
