may as well preempt the vr4300 mul bug
This commit is contained in:
parent
b7d26c8081
commit
a28418a331
1 changed files with 16 additions and 0 deletions
|
@ -267,12 +267,28 @@ typedef enum
|
|||
#define mips_emit_mtlo(rs) \
|
||||
mips_emit_special(mtlo, rs, 0, 0, 0) \
|
||||
|
||||
#ifdef NINTENDO64
|
||||
|
||||
// "VR4300 multiplication bug", aka mips64-gcc -mfix4300
|
||||
|
||||
#define mips_emit_mult(rs, rt) \
|
||||
mips_emit_special(mult, rs, rt, 0, 0) \
|
||||
;mips_emit_nop(); mips_emit_nop()
|
||||
|
||||
#define mips_emit_multu(rs, rt) \
|
||||
mips_emit_special(multu, rs, rt, 0, 0) \
|
||||
;mips_emit_nop(); mips_emit_nop()
|
||||
|
||||
#else
|
||||
|
||||
#define mips_emit_mult(rs, rt) \
|
||||
mips_emit_special(mult, rs, rt, 0, 0) \
|
||||
|
||||
#define mips_emit_multu(rs, rt) \
|
||||
mips_emit_special(multu, rs, rt, 0, 0) \
|
||||
|
||||
#endif
|
||||
|
||||
#define mips_emit_div(rs, rt) \
|
||||
mips_emit_special(div, rs, rt, 0, 0) \
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue