target-sh4: Fix operands for fipr, ftrv instructions
Coverity complained about right shifts of opcode (16, 18) which were larger than the size of opcode (16 bit). Using the correct shift values fixes this. Cc: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
This commit is contained in:
		
							parent
							
								
									e9b40fd34c
								
							
						
					
					
						commit
						f840fa995f
					
				| 
						 | 
				
			
			@ -1864,8 +1864,8 @@ static void _decode_opc(DisasContext * ctx)
 | 
			
		|||
        CHECK_FPU_ENABLED
 | 
			
		||||
        if ((ctx->fpscr & FPSCR_PR) == 0) {
 | 
			
		||||
            TCGv m, n;
 | 
			
		||||
            m = tcg_const_i32((ctx->opcode >> 16) & 3);
 | 
			
		||||
            n = tcg_const_i32((ctx->opcode >> 18) & 3);
 | 
			
		||||
            m = tcg_const_i32((ctx->opcode >> 8) & 3);
 | 
			
		||||
            n = tcg_const_i32((ctx->opcode >> 10) & 3);
 | 
			
		||||
            gen_helper_fipr(m, n);
 | 
			
		||||
            tcg_temp_free(m);
 | 
			
		||||
            tcg_temp_free(n);
 | 
			
		||||
| 
						 | 
				
			
			@ -1877,7 +1877,7 @@ static void _decode_opc(DisasContext * ctx)
 | 
			
		|||
        if ((ctx->opcode & 0x0300) == 0x0100 &&
 | 
			
		||||
            (ctx->fpscr & FPSCR_PR) == 0) {
 | 
			
		||||
            TCGv n;
 | 
			
		||||
            n = tcg_const_i32((ctx->opcode >> 18) & 3);
 | 
			
		||||
            n = tcg_const_i32((ctx->opcode >> 10) & 3);
 | 
			
		||||
            gen_helper_ftrv(n);
 | 
			
		||||
            tcg_temp_free(n);
 | 
			
		||||
            return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue