[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension
From: |
Christoph Müllner |
Subject: |
Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension |
Date: |
Tue, 31 Jan 2023 19:01:49 +0100 |
On Tue, Jan 24, 2023 at 9:44 PM Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> On 1/24/23 09:59, Christoph Muellner wrote:
> > +static bool gen_loadpair_tl(DisasContext *ctx, arg_th_pair *a, MemOp memop,
> > + int shamt)
> > +{
> > + TCGv rd1 = dest_gpr(ctx, a->rd1);
> > + TCGv rd2 = dest_gpr(ctx, a->rd2);
> > + TCGv addr1 = tcg_temp_new();
> > + TCGv addr2 = tcg_temp_new();
> > +
> > + addr1 = get_address(ctx, a->rs, a->sh2 << shamt);
> > + if ((memop & MO_SIZE) == MO_64) {
> > + addr2 = get_address(ctx, a->rs, 8 + (a->sh2 << shamt));
> > + } else {
> > + addr2 = get_address(ctx, a->rs, 4 + (a->sh2 << shamt));
> > + }
> > +
> > + tcg_gen_qemu_ld_tl(rd1, addr1, ctx->mem_idx, memop);
> > + tcg_gen_qemu_ld_tl(rd2, addr2, ctx->mem_idx, memop);
> > + gen_set_gpr(ctx, a->rd1, rd1);
> > + gen_set_gpr(ctx, a->rd2, rd2);
>
> Since dest_gpr may return cpu_gpr[n], this may update the rd1 before
> recognizing the
> exception that the second load may generate. Is that correct?
Solved in v4 by using temporaries.
>
> The manual says that rd1, rd2, and rs1 must not be the same, but you do not
> check this.
Fixed in v4.
Thank you!
>
>
> r~
- [PATCH v3 05/14] RISC-V: Adding XTheadBs ISA extension, (continued)
- [PATCH v3 05/14] RISC-V: Adding XTheadBs ISA extension, Christoph Muellner, 2023/01/24
- [PATCH v3 06/14] RISC-V: Adding XTheadCondMov ISA extension, Christoph Muellner, 2023/01/24
- [PATCH v3 07/14] RISC-V: Adding T-Head multiply-accumulate instructions, Christoph Muellner, 2023/01/24
- [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, Christoph Muellner, 2023/01/24
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, Richard Henderson, 2023/01/24
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, LIU Zhiwei, 2023/01/29
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, Richard Henderson, 2023/01/30
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, LIU Zhiwei, 2023/01/30
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, Richard Henderson, 2023/01/30
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension, LIU Zhiwei, 2023/01/30
- Re: [PATCH v3 08/14] RISC-V: Adding T-Head MemPair extension,
Christoph Müllner <=
[PATCH v3 10/14] RISC-V: Adding T-Head FMemIdx extension, Christoph Muellner, 2023/01/24
[PATCH v3 09/14] RISC-V: Adding T-Head MemIdx extension, Christoph Muellner, 2023/01/24
[PATCH v3 13/14] RISC-V: Adding XTheadFmv ISA extension, Christoph Muellner, 2023/01/24
[PATCH v3 11/14] RISC-V: Set minimum priv version for Zfh to 1.11, Christoph Muellner, 2023/01/24
[PATCH v3 12/14] RISC-V: Add initial support for T-Head C906, Christoph Muellner, 2023/01/24