{
unsigned long long int op1, op2, op3, op4;
unsigned long long int result1, result2, result3, result4;
{
unsigned long long int op1, op2, op3, op4;
unsigned long long int result1, result2, result3, result4;
current->uu&=~(1LL<<HIREG);
current->uu&=~(1LL<<LOREG);
alloc_reg64(current,i,HIREG);
current->uu&=~(1LL<<HIREG);
current->uu&=~(1LL<<LOREG);
alloc_reg64(current,i,HIREG);
- //if(HOST_REGS>10) alloc_reg64(current,i,LOREG);
+ //if(HOST_REGS>10) alloc_reg64(current,i,LOREG); //*SEB* Why commenting this line? uncommenting make SM64 freeze after title (before mario head and spinning stars)
alloc_reg64(current,i,rs1[i]);
alloc_reg64(current,i,rs2[i]);
alloc_all(current,i);
alloc_reg64(current,i,rs1[i]);
alloc_reg64(current,i,rs2[i]);
alloc_all(current,i);
// Multiply by zero is zero.
// MIPS does not have a divide by zero exception.
// The result is undefined, we return zero.
// Multiply by zero is zero.
// MIPS does not have a divide by zero exception.
// The result is undefined, we return zero.
- alloc_reg(current,i,HIREG);
- alloc_reg(current,i,LOREG);
- current->is32|=1LL<<HIREG;
- current->is32|=1LL<<LOREG;
- dirty_reg(current,HIREG);
- dirty_reg(current,LOREG);
+ alloc_reg(current,i,HIREG);
+ alloc_reg(current,i,LOREG);
+ current->is32|=1LL<<HIREG;
+ current->is32|=1LL<<LOREG;
+ dirty_reg(current,HIREG);
+ dirty_reg(current,LOREG);
if(invert) taken=(int)out;
else add_to_linker((int)out,ba[i],internal);
emit_js(0);
if(invert) taken=(int)out;
else add_to_linker((int)out,ba[i],internal);
emit_js(0);
if(!likely[i]) {
// These are overwritten unless the branch is "likely"
// and the delay slot is nullified if not taken
if(!likely[i]) {
// These are overwritten unless the branch is "likely"
// and the delay slot is nullified if not taken