m68k: fix subx mem, mem instruction
This patch fixes decrement of the pointers for subx mem, mem instructions. Without the patch pointers are decremented by OS_* constant value instead of retrieving the corresponding data size and using it as a decrement. Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20180418064152.24606.71975.stgit@pasha-VirtualBox> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
		
							parent
							
								
									c2c768500f
								
							
						
					
					
						commit
						355d4d1c00
					
				| @ -3166,11 +3166,11 @@ DISAS_INSN(subx_mem) | |||||||
|     opsize = insn_opsize(insn); |     opsize = insn_opsize(insn); | ||||||
| 
 | 
 | ||||||
|     addr_src = AREG(insn, 0); |     addr_src = AREG(insn, 0); | ||||||
|     tcg_gen_subi_i32(addr_src, addr_src, opsize); |     tcg_gen_subi_i32(addr_src, addr_src, opsize_bytes(opsize)); | ||||||
|     src = gen_load(s, opsize, addr_src, 1, IS_USER(s)); |     src = gen_load(s, opsize, addr_src, 1, IS_USER(s)); | ||||||
| 
 | 
 | ||||||
|     addr_dest = AREG(insn, 9); |     addr_dest = AREG(insn, 9); | ||||||
|     tcg_gen_subi_i32(addr_dest, addr_dest, opsize); |     tcg_gen_subi_i32(addr_dest, addr_dest, opsize_bytes(opsize)); | ||||||
|     dest = gen_load(s, opsize, addr_dest, 1, IS_USER(s)); |     dest = gen_load(s, opsize, addr_dest, 1, IS_USER(s)); | ||||||
| 
 | 
 | ||||||
|     gen_subx(s, src, dest, opsize); |     gen_subx(s, src, dest, opsize); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Pavel Dovgalyuk
						Pavel Dovgalyuk