# 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

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

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

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

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

# for jr32 jarl32
  switch,combine        :  4 :   0 :    :    :    :    0 :VI            : v850e2
  switch,combine        :  4 :   0 :    :    :    :    0 :VI            : v850e2v3
