mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Fixed vfp issues
This commit is contained in:
		
							parent
							
								
									c1394650ff
								
							
						
					
					
						commit
						c396a5ac57
					
				
					 4 changed files with 10 additions and 10 deletions
				
			
		|  | @ -86,12 +86,12 @@ static union | |||
| } reg_conv; | ||||
| 
 | ||||
| static void | ||||
| printf_nothing (void *foo, ...) | ||||
| printf_nothing (const char *foo, ...) | ||||
| { | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| cirrus_not_implemented (char *insn) | ||||
| cirrus_not_implemented (const char *insn) | ||||
| { | ||||
| 	fprintf (stderr, "Cirrus instruction '%s' not implemented.\n", insn); | ||||
| 	fprintf (stderr, "aborting!\n"); | ||||
|  |  | |||
|  | @ -50,7 +50,7 @@ | |||
| #define pr_info //printf
 | ||||
| #define pr_debug //printf
 | ||||
| 
 | ||||
| static u32 fls(int x); | ||||
| static u32 vfp_fls(int x); | ||||
| #define do_div(n, base) {n/=base;} | ||||
| 
 | ||||
| /* From vfpinstr.h */ | ||||
|  | @ -508,7 +508,7 @@ struct op { | |||
| 	u32 flags; | ||||
| }; | ||||
| 
 | ||||
| static inline u32 fls(int x) | ||||
| static u32 vfp_fls(int x) | ||||
| { | ||||
| 	int r = 32; | ||||
| 
 | ||||
|  |  | |||
|  | @ -69,9 +69,9 @@ static void vfp_double_dump(const char *str, struct vfp_double *d) | |||
| 
 | ||||
| static void vfp_double_normalise_denormal(struct vfp_double *vd) | ||||
| { | ||||
| 	int bits = 31 - fls(vd->significand >> 32); | ||||
| 	int bits = 31 - vfp_fls(vd->significand >> 32); | ||||
| 	if (bits == 31) | ||||
| 		bits = 63 - fls(vd->significand); | ||||
| 		bits = 63 - vfp_fls(vd->significand); | ||||
| 
 | ||||
| 	vfp_double_dump("normalise_denormal: in", vd); | ||||
| 
 | ||||
|  | @ -108,9 +108,9 @@ u32 vfp_double_normaliseround(ARMul_State* state, int dd, struct vfp_double *vd, | |||
| 	exponent = vd->exponent; | ||||
| 	significand = vd->significand; | ||||
| 
 | ||||
| 	shift = 32 - fls(significand >> 32); | ||||
| 	shift = 32 - vfp_fls(significand >> 32); | ||||
| 	if (shift == 32) | ||||
| 		shift = 64 - fls(significand); | ||||
| 		shift = 64 - vfp_fls(significand); | ||||
| 	if (shift) { | ||||
| 		exponent -= shift; | ||||
| 		significand <<= shift; | ||||
|  |  | |||
|  | @ -69,7 +69,7 @@ static void vfp_single_dump(const char *str, struct vfp_single *s) | |||
| 
 | ||||
| static void vfp_single_normalise_denormal(struct vfp_single *vs) | ||||
| { | ||||
| 	int bits = 31 - fls(vs->significand); | ||||
| 	int bits = 31 - vfp_fls(vs->significand); | ||||
| 
 | ||||
| 	vfp_single_dump("normalise_denormal: in", vs); | ||||
| 
 | ||||
|  | @ -111,7 +111,7 @@ u32 vfp_single_normaliseround(ARMul_State* state, int sd, struct vfp_single *vs, | |||
| 	 * bit 31, so we have VFP_SINGLE_LOW_BITS + 1 below the least | ||||
| 	 * significant bit. | ||||
| 	 */ | ||||
| 	shift = 32 - fls(significand); | ||||
| 	shift = 32 - vfp_fls(significand); | ||||
| 	if (shift < 32 && shift) { | ||||
| 		exponent -= shift; | ||||
| 		significand <<= shift; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue