mirror of
				https://github.com/yuzu-emu/unicorn.git
				synced 2025-11-04 14:14:57 +00:00 
			
		
		
		
	target/arm: Tidy up disas_arm_insn()
The only thing left in the "legacy decoder" is the handling of disas_xscale_insn(), and we can simplify the code. Backports commit 8198c071bc55bee55ef4f104a5b125f541b51096
This commit is contained in:
		
							parent
							
								
									fc4cc9d95f
								
							
						
					
					
						commit
						c675b73b1f
					
				| 
						 | 
				
			
			@ -8601,26 +8601,18 @@ static void disas_arm_insn(DisasContext *s, unsigned int insn)
 | 
			
		|||
    }
 | 
			
		||||
    /* fall back to legacy decoder */
 | 
			
		||||
 | 
			
		||||
    switch ((insn >> 24) & 0xf) {
 | 
			
		||||
    case 0xc:
 | 
			
		||||
    case 0xd:
 | 
			
		||||
    case 0xe:
 | 
			
		||||
    {
 | 
			
		||||
        /* First check for coprocessor space used for XScale/iwMMXt insns */
 | 
			
		||||
        int cpnum = (insn >> 8) & 0xf;
 | 
			
		||||
 | 
			
		||||
        if (arm_dc_feature(s, ARM_FEATURE_XSCALE) && (cpnum < 2)) {
 | 
			
		||||
    /* TODO: convert xscale/iwmmxt decoder to decodetree ?? */
 | 
			
		||||
    if (arm_dc_feature(s, ARM_FEATURE_XSCALE)) {
 | 
			
		||||
        if (((insn & 0x0c000e00) == 0x0c000000)
 | 
			
		||||
            && ((insn & 0x03000000) != 0x03000000)) {
 | 
			
		||||
            /* Coprocessor insn, coprocessor 0 or 1 */
 | 
			
		||||
            disas_xscale_insn(s, insn);
 | 
			
		||||
            break;
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
        /* fall through */
 | 
			
		||||
    }
 | 
			
		||||
    default:
 | 
			
		||||
    illegal_op:
 | 
			
		||||
        unallocated_encoding(s);
 | 
			
		||||
        break;
 | 
			
		||||
    }
 | 
			
		||||
illegal_op:
 | 
			
		||||
    unallocated_encoding(s);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool thumb_insn_is_16bit(DisasContext *s, uint32_t pc, uint32_t insn)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue