tcg-hppa: Fix 64-bit argument ordering
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									3436332ed6
								
							
						
					
					
						commit
						3f90f252ec
					
				
							
								
								
									
										12
									
								
								tcg/tcg.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								tcg/tcg.c
									
									
									
									
									
								
							| @ -596,7 +596,17 @@ void tcg_gen_callN(TCGContext *s, TCGv_ptr func, unsigned int flags, | ||||
|                 real_args++; | ||||
|             } | ||||
| #endif | ||||
| #ifdef TCG_TARGET_WORDS_BIGENDIAN | ||||
| 	    /* If stack grows up, then we will be placing successive
 | ||||
| 	       arguments at lower addresses, which means we need to | ||||
| 	       reverse the order compared to how we would normally | ||||
| 	       treat either big or little-endian.  For those arguments | ||||
| 	       that will wind up in registers, this still works for | ||||
| 	       HPPA (the only current STACK_GROWSUP target) since the | ||||
| 	       argument registers are *also* allocated in decreasing | ||||
| 	       order.  If another such target is added, this logic may | ||||
| 	       have to get more complicated to differentiate between | ||||
| 	       stack arguments and register arguments.  */ | ||||
| #if defined(TCG_TARGET_WORDS_BIGENDIAN) != defined(TCG_TARGET_STACK_GROWSUP) | ||||
|             *gen_opparam_ptr++ = args[i] + 1; | ||||
|             *gen_opparam_ptr++ = args[i]; | ||||
| #else | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Richard Henderson
						Richard Henderson