integrate M-HT's neon scalers
[gpsp.git] / arm / arm_emit.h
index a270a24..587ad28 100644 (file)
@@ -1519,7 +1519,6 @@ u32 execute_store_cpsr_body(u32 _cpsr, u32 store_mask, u32 address)
   thumb_decode_##type();                                                      \
   u32 __rn = prepare_load_reg(reg_rn, _rs);                                   \
   u32 __rd = prepare_store_reg(reg_rd, _rd);                                  \
-  generate_load_reg(reg_rn, _rs);                                             \
   thumb_generate_op_##op_type(name, _rd, _rs, _rn);                           \
   complete_store_reg(__rd, _rd);                                              \
 }                                                                             \
@@ -1931,6 +1930,9 @@ void execute_swi_hle_div_thumb();
 
 void execute_swi_hle_div_c()
 {
+  if (reg[1] == 0)
+    // real BIOS supposedly locks up, but game can recover on interrupt
+    return;
   s32 result = (s32)reg[0] / (s32)reg[1];
   reg[1] = (s32)reg[0] % (s32)reg[1];
   reg[0] = result;