mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	ARM: Pull some SkyEye fixes from 3dmoo.
This commit is contained in:
		
							parent
							
								
									af1cd769e7
								
							
						
					
					
						commit
						d26b7146ce
					
				
					 3 changed files with 485 additions and 419 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							|  | @ -281,6 +281,7 @@ struct ARMul_State | ||||||
| 
 | 
 | ||||||
|     ARMword currentexaddr; |     ARMword currentexaddr; | ||||||
|     ARMword currentexval; |     ARMword currentexval; | ||||||
|  |     ARMword currentexvald; | ||||||
|     ARMword servaddr; |     ARMword servaddr; | ||||||
| 
 | 
 | ||||||
|     unsigned NextInstr; |     unsigned NextInstr; | ||||||
|  |  | ||||||
|  | @ -522,8 +522,7 @@ static s64 vfp_single_to_doubleintern(ARMul_State* state, s32 m, u32 fpscr) //ic | ||||||
|         if (tm == VFP_QNAN) |         if (tm == VFP_QNAN) | ||||||
|             vdd.significand |= VFP_DOUBLE_SIGNIFICAND_QNAN; |             vdd.significand |= VFP_DOUBLE_SIGNIFICAND_QNAN; | ||||||
|         goto pack_nan; |         goto pack_nan; | ||||||
|     } |     } else if (tm & VFP_ZERO) | ||||||
|     else if (tm & VFP_ZERO) |  | ||||||
|         vdd.exponent = 0; |         vdd.exponent = 0; | ||||||
|     else |     else | ||||||
|         vdd.exponent = vsm.exponent + (1023 - 127); |         vdd.exponent = vsm.exponent + (1023 - 127); | ||||||
|  | @ -620,7 +619,7 @@ static u32 vfp_single_ftoui(ARMul_State* state, int sd, int unused, s32 m, u32 f | ||||||
|     if (vsm.exponent >= 127 + 32) { |     if (vsm.exponent >= 127 + 32) { | ||||||
|         d = vsm.sign ? 0 : 0xffffffff; |         d = vsm.sign ? 0 : 0xffffffff; | ||||||
|         exceptions = FPSCR_IOC; |         exceptions = FPSCR_IOC; | ||||||
|     } else if (vsm.exponent >= 127 - 1) { |     } else if (vsm.exponent >= 127) { | ||||||
|         int shift = 127 + 31 - vsm.exponent; |         int shift = 127 + 31 - vsm.exponent; | ||||||
|         u32 rem, incr = 0; |         u32 rem, incr = 0; | ||||||
| 
 | 
 | ||||||
|  | @ -705,7 +704,7 @@ static u32 vfp_single_ftosi(ARMul_State* state, int sd, int unused, s32 m, u32 f | ||||||
|         if (vsm.sign) |         if (vsm.sign) | ||||||
|             d = ~d; |             d = ~d; | ||||||
|         exceptions |= FPSCR_IOC; |         exceptions |= FPSCR_IOC; | ||||||
|     } else if (vsm.exponent >= 127 - 1) { |     } else if (vsm.exponent >= 127) { | ||||||
|         int shift = 127 + 31 - vsm.exponent; |         int shift = 127 + 31 - vsm.exponent; | ||||||
|         u32 rem, incr = 0; |         u32 rem, incr = 0; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue