target-arm: Use TCG operation for Neon 64 bit negation
Use the TCG operation to do Neon 64 bit negations rather than calling a helper routine for it. Reviewed-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
							parent
							
								
									f296c0d172
								
							
						
					
					
						commit
						ee6fa5593e
					
				@ -339,7 +339,6 @@ DEF_HELPER_2(neon_mull_s16, i64, i32, i32)
 | 
			
		||||
 | 
			
		||||
DEF_HELPER_1(neon_negl_u16, i64, i64)
 | 
			
		||||
DEF_HELPER_1(neon_negl_u32, i64, i64)
 | 
			
		||||
DEF_HELPER_1(neon_negl_u64, i64, i64)
 | 
			
		||||
 | 
			
		||||
DEF_HELPER_2(neon_qabs_s8, i32, env, i32)
 | 
			
		||||
DEF_HELPER_2(neon_qabs_s16, i32, env, i32)
 | 
			
		||||
 | 
			
		||||
@ -1664,12 +1664,6 @@ uint64_t HELPER(neon_negl_u32)(uint64_t x)
 | 
			
		||||
    return low | ((uint64_t)high << 32);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* FIXME:  There should be a native op for this.  */
 | 
			
		||||
uint64_t HELPER(neon_negl_u64)(uint64_t x)
 | 
			
		||||
{
 | 
			
		||||
    return -x;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Saturating sign manipulation.  */
 | 
			
		||||
/* ??? Make these use NEON_VOP1 */
 | 
			
		||||
#define DO_QABS8(x) do { \
 | 
			
		||||
 | 
			
		||||
@ -4184,7 +4184,9 @@ static inline void gen_neon_negl(TCGv_i64 var, int size)
 | 
			
		||||
    switch (size) {
 | 
			
		||||
    case 0: gen_helper_neon_negl_u16(var, var); break;
 | 
			
		||||
    case 1: gen_helper_neon_negl_u32(var, var); break;
 | 
			
		||||
    case 2: gen_helper_neon_negl_u64(var, var); break;
 | 
			
		||||
    case 2:
 | 
			
		||||
        tcg_gen_neg_i64(var, var);
 | 
			
		||||
        break;
 | 
			
		||||
    default: abort();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user