mirror of
				https://github.com/yuzu-emu/unicorn.git
				synced 2025-11-04 03:04:49 +00:00 
			
		
		
		
	target/arm: Fix sve ldr/str
The mte update missed a bit when producing clean addresses. Fixes: b2aa8879b88 Backports d8227b098301935ea8e0e032e7d41e5dc3e97590
This commit is contained in:
		
							parent
							
								
									79feec40df
								
							
						
					
					
						commit
						ccb293911f
					
				| 
						 | 
				
			
			@ -4396,7 +4396,7 @@ static void do_ldr(DisasContext *s, uint32_t vofs, int len, int rn, int imm)
 | 
			
		|||
        for (i = 0; i < len_align; i += 8) {
 | 
			
		||||
            tcg_gen_qemu_ld_i64(s->uc, t0, clean_addr, midx, MO_LEQ);
 | 
			
		||||
            tcg_gen_st_i64(tcg_ctx, t0, tcg_ctx->cpu_env, vofs + i);
 | 
			
		||||
            tcg_gen_addi_i64(tcg_ctx, clean_addr, cpu_reg_sp(s, rn), 8);
 | 
			
		||||
            tcg_gen_addi_i64(tcg_ctx, clean_addr, clean_addr, 8);
 | 
			
		||||
        }
 | 
			
		||||
        tcg_temp_free_i64(tcg_ctx, t0);
 | 
			
		||||
    } else {
 | 
			
		||||
| 
						 | 
				
			
			@ -4486,7 +4486,7 @@ static void do_str(DisasContext *s, uint32_t vofs, int len, int rn, int imm)
 | 
			
		|||
        for (i = 0; i < len_align; i += 8) {
 | 
			
		||||
            tcg_gen_ld_i64(tcg_ctx, t0, tcg_ctx->cpu_env, vofs + i);
 | 
			
		||||
            tcg_gen_qemu_st_i64(s->uc, t0, clean_addr, midx, MO_LEQ);
 | 
			
		||||
            tcg_gen_addi_i64(tcg_ctx, clean_addr, cpu_reg_sp(s, rn), 8);
 | 
			
		||||
            tcg_gen_addi_i64(tcg_ctx, clean_addr, clean_addr, 8);
 | 
			
		||||
        }
 | 
			
		||||
        tcg_temp_free_i64(tcg_ctx, t0);
 | 
			
		||||
    } else {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue