mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Merge pull request #553 from lioncash/denorm
vfp: Normalize accumulator for multiply accumulate instructions
This commit is contained in:
		
						commit
						67db6aa4ce
					
				
					 2 changed files with 6 additions and 0 deletions
				
			
		|  | @ -908,6 +908,9 @@ vfp_double_multiply_accumulate(ARMul_State* state, int dd, int dn, int dm, u32 f | |||
|         vdp.sign = vfp_sign_negate(vdp.sign); | ||||
| 
 | ||||
|     vfp_double_unpack(&vdn, vfp_get_double(state, dd)); | ||||
|     if (vdn.exponent == 0 && vdn.significand != 0) | ||||
|         vfp_double_normalise_denormal(&vdn); | ||||
| 
 | ||||
|     if (negate & NEG_SUBTRACT) | ||||
|         vdn.sign = vfp_sign_negate(vdn.sign); | ||||
| 
 | ||||
|  |  | |||
|  | @ -941,6 +941,9 @@ vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s32 m, u32 fp | |||
|     v = vfp_get_float(state, sd); | ||||
|     pr_debug("VFP: s%u = %08x\n", sd, v); | ||||
|     vfp_single_unpack(&vsn, v); | ||||
|     if (vsn.exponent == 0 && vsn.significand != 0) | ||||
|         vfp_single_normalise_denormal(&vsn); | ||||
| 
 | ||||
|     if (negate & NEG_SUBTRACT) | ||||
|         vsn.sign = vfp_sign_negate(vsn.sign); | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue