Fixed JIT FPU bugs (Starstruck demo corruption, etc.)
This commit is contained in:
parent
88316d7916
commit
b9dc57af87
14 changed files with 1735 additions and 121 deletions
|
@ -1246,17 +1246,17 @@ extern const struct comptbl op_smalltbl_0_comp_ff[] = {
|
|||
{ op_80ba_0_comp_ff, 0x00000002, 32954 }, /* OR */
|
||||
{ op_80bb_0_comp_ff, 0x00000002, 32955 }, /* OR */
|
||||
{ op_80bc_0_comp_ff, 0x00000002, 32956 }, /* OR */
|
||||
{ NULL, 0x00000001, 32960 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32976 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32984 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32992 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33000 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33008 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33016 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33017 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33018 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33019 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33020 }, /* DIVU */
|
||||
{ op_80c0_0_comp_ff, 0x00000000, 32960 }, /* DIVU */
|
||||
{ op_80d0_0_comp_ff, 0x00000000, 32976 }, /* DIVU */
|
||||
{ op_80d8_0_comp_ff, 0x00000000, 32984 }, /* DIVU */
|
||||
{ op_80e0_0_comp_ff, 0x00000000, 32992 }, /* DIVU */
|
||||
{ op_80e8_0_comp_ff, 0x00000002, 33000 }, /* DIVU */
|
||||
{ op_80f0_0_comp_ff, 0x00000002, 33008 }, /* DIVU */
|
||||
{ op_80f8_0_comp_ff, 0x00000002, 33016 }, /* DIVU */
|
||||
{ op_80f9_0_comp_ff, 0x00000002, 33017 }, /* DIVU */
|
||||
{ op_80fa_0_comp_ff, 0x00000002, 33018 }, /* DIVU */
|
||||
{ op_80fb_0_comp_ff, 0x00000002, 33019 }, /* DIVU */
|
||||
{ op_80fc_0_comp_ff, 0x00000002, 33020 }, /* DIVU */
|
||||
{ NULL, 0x00000000, 33024 }, /* SBCD */
|
||||
{ NULL, 0x00000000, 33032 }, /* SBCD */
|
||||
{ op_8110_0_comp_ff, 0x00000000, 33040 }, /* OR */
|
||||
|
@ -1284,17 +1284,17 @@ extern const struct comptbl op_smalltbl_0_comp_ff[] = {
|
|||
{ op_81b0_0_comp_ff, 0x00000002, 33200 }, /* OR */
|
||||
{ op_81b8_0_comp_ff, 0x00000002, 33208 }, /* OR */
|
||||
{ op_81b9_0_comp_ff, 0x00000002, 33209 }, /* OR */
|
||||
{ NULL, 0x00000001, 33216 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33232 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33240 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33248 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33256 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33264 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33272 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33273 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33274 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33275 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33276 }, /* DIVS */
|
||||
{ op_81c0_0_comp_ff, 0x00000000, 33216 }, /* DIVS */
|
||||
{ op_81d0_0_comp_ff, 0x00000000, 33232 }, /* DIVS */
|
||||
{ op_81d8_0_comp_ff, 0x00000000, 33240 }, /* DIVS */
|
||||
{ op_81e0_0_comp_ff, 0x00000000, 33248 }, /* DIVS */
|
||||
{ op_81e8_0_comp_ff, 0x00000002, 33256 }, /* DIVS */
|
||||
{ op_81f0_0_comp_ff, 0x00000002, 33264 }, /* DIVS */
|
||||
{ op_81f8_0_comp_ff, 0x00000002, 33272 }, /* DIVS */
|
||||
{ op_81f9_0_comp_ff, 0x00000002, 33273 }, /* DIVS */
|
||||
{ op_81fa_0_comp_ff, 0x00000002, 33274 }, /* DIVS */
|
||||
{ op_81fb_0_comp_ff, 0x00000002, 33275 }, /* DIVS */
|
||||
{ op_81fc_0_comp_ff, 0x00000002, 33276 }, /* DIVS */
|
||||
{ op_9000_0_comp_ff, 0x00000000, 36864 }, /* SUB */
|
||||
{ op_9010_0_comp_ff, 0x00000000, 36880 }, /* SUB */
|
||||
{ op_9018_0_comp_ff, 0x00000000, 36888 }, /* SUB */
|
||||
|
@ -3118,17 +3118,17 @@ extern const struct comptbl op_smalltbl_0_comp_nf[] = {
|
|||
{ op_80ba_0_comp_nf, 0x00000002, 32954 }, /* OR */
|
||||
{ op_80bb_0_comp_nf, 0x00000002, 32955 }, /* OR */
|
||||
{ op_80bc_0_comp_nf, 0x00000002, 32956 }, /* OR */
|
||||
{ NULL, 0x00000001, 32960 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32976 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32984 }, /* DIVU */
|
||||
{ NULL, 0x00000001, 32992 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33000 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33008 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33016 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33017 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33018 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33019 }, /* DIVU */
|
||||
{ NULL, 0x00000003, 33020 }, /* DIVU */
|
||||
{ op_80c0_0_comp_nf, 0x00000000, 32960 }, /* DIVU */
|
||||
{ op_80d0_0_comp_nf, 0x00000000, 32976 }, /* DIVU */
|
||||
{ op_80d8_0_comp_nf, 0x00000000, 32984 }, /* DIVU */
|
||||
{ op_80e0_0_comp_nf, 0x00000000, 32992 }, /* DIVU */
|
||||
{ op_80e8_0_comp_nf, 0x00000002, 33000 }, /* DIVU */
|
||||
{ op_80f0_0_comp_nf, 0x00000002, 33008 }, /* DIVU */
|
||||
{ op_80f8_0_comp_nf, 0x00000002, 33016 }, /* DIVU */
|
||||
{ op_80f9_0_comp_nf, 0x00000002, 33017 }, /* DIVU */
|
||||
{ op_80fa_0_comp_nf, 0x00000002, 33018 }, /* DIVU */
|
||||
{ op_80fb_0_comp_nf, 0x00000002, 33019 }, /* DIVU */
|
||||
{ op_80fc_0_comp_nf, 0x00000002, 33020 }, /* DIVU */
|
||||
{ NULL, 0x00000000, 33024 }, /* SBCD */
|
||||
{ NULL, 0x00000000, 33032 }, /* SBCD */
|
||||
{ op_8110_0_comp_nf, 0x00000000, 33040 }, /* OR */
|
||||
|
@ -3156,17 +3156,17 @@ extern const struct comptbl op_smalltbl_0_comp_nf[] = {
|
|||
{ op_81b0_0_comp_nf, 0x00000002, 33200 }, /* OR */
|
||||
{ op_81b8_0_comp_nf, 0x00000002, 33208 }, /* OR */
|
||||
{ op_81b9_0_comp_nf, 0x00000002, 33209 }, /* OR */
|
||||
{ NULL, 0x00000001, 33216 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33232 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33240 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33248 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33256 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33264 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33272 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33273 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33274 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33275 }, /* DIVS */
|
||||
{ NULL, 0x00000001, 33276 }, /* DIVS */
|
||||
{ op_81c0_0_comp_nf, 0x00000000, 33216 }, /* DIVS */
|
||||
{ op_81d0_0_comp_nf, 0x00000000, 33232 }, /* DIVS */
|
||||
{ op_81d8_0_comp_nf, 0x00000000, 33240 }, /* DIVS */
|
||||
{ op_81e0_0_comp_nf, 0x00000000, 33248 }, /* DIVS */
|
||||
{ op_81e8_0_comp_nf, 0x00000002, 33256 }, /* DIVS */
|
||||
{ op_81f0_0_comp_nf, 0x00000002, 33264 }, /* DIVS */
|
||||
{ op_81f8_0_comp_nf, 0x00000002, 33272 }, /* DIVS */
|
||||
{ op_81f9_0_comp_nf, 0x00000002, 33273 }, /* DIVS */
|
||||
{ op_81fa_0_comp_nf, 0x00000002, 33274 }, /* DIVS */
|
||||
{ op_81fb_0_comp_nf, 0x00000002, 33275 }, /* DIVS */
|
||||
{ op_81fc_0_comp_nf, 0x00000002, 33276 }, /* DIVS */
|
||||
{ op_9000_0_comp_nf, 0x00000000, 36864 }, /* SUB */
|
||||
{ op_9010_0_comp_nf, 0x00000000, 36880 }, /* SUB */
|
||||
{ op_9018_0_comp_nf, 0x00000000, 36888 }, /* SUB */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue