a3976a7c56
* sim-main.h (reg64_t): New type. (v850_regs): Add selID_sregs field. (VR, SAT16, SAT32, ABS16, ABS32 ): New macros. * v850-dc: Add fields for v850e3v5 instructions. * v850.igen (cvtf.dl): Use correctly signed local value. (cvtf.dw, cvtf.sw, trncf.dul, trncf.dl, trncf.sul, trncf.sw): Likewise. * interp.c: Fix old style function declarations. * simops.c: Likewise.
73 lines
3.3 KiB
Plaintext
73 lines
3.3 KiB
Plaintext
# 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
|