target/riscv: Fix typo and restore Pointer Masking functionality for RISC-V
authorAlexey Baturo <baturo.alexey@gmail.com>
Sun, 17 Jul 2022 10:15:43 +0000 (13:15 +0300)
committerAlistair Francis <alistair.francis@wdc.com>
Wed, 7 Sep 2022 07:18:32 +0000 (09:18 +0200)
Fixes: 4302bef9e178 ("target/riscv: Calculate address according to XLEN")
Signed-off-by: Alexey Baturo <baturo.alexey@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20220717101543.478533-2-space.monkey.delivers@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
target/riscv/translate.c

index 6eeb7284624357cc198d349af9a94778804aca1c..76da8db8a773cb82707f7a6839f953ed295bfe88 100644 (file)
@@ -544,7 +544,7 @@ static TCGv get_address(DisasContext *ctx, int rs1, int imm)
 
     tcg_gen_addi_tl(addr, src1, imm);
     if (ctx->pm_mask_enabled) {
-        tcg_gen_and_tl(addr, addr, pm_mask);
+        tcg_gen_andc_tl(addr, addr, pm_mask);
     } else if (get_xl(ctx) == MXL_RV32) {
         tcg_gen_ext32u_tl(addr, addr);
     }