qemu-riscv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 04/13] target/riscv: Support UXL32 for slit/sltiu


From: LIU Zhiwei
Subject: Re: [RFC PATCH 04/13] target/riscv: Support UXL32 for slit/sltiu
Date: Mon, 9 Aug 2021 15:28:41 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0


On 2021/8/6 上午3:09, Richard Henderson wrote:
On 8/4/21 4:53 PM, LIU Zhiwei wrote:
+static bool gen_arith_simm_tl(DisasContext *ctx, arg_i *a,
+                              void (*func)(TCGv, TCGv, TCGv))
+{
+    TCGv dest = gpr_dst(ctx, a->rd);
+    TCGv src1 = gpr_src_s(ctx, a->rs1);
+    TCGv src2 = tcg_constant_tl(a->imm);
+
+    (*func)(dest, src1, src2);
+    return true;
+}
+
+static bool gen_arith_uimm_tl(DisasContext *ctx, arg_i *a,
+                              void (*func)(TCGv, TCGv, TCGv))
+{
+    TCGv dest = gpr_dst(ctx, a->rd);
+    TCGv src1 = gpr_src_u(ctx, a->rs1);
+    TCGv src2 = tcg_constant_tl(ctx->uxl32 ? a->imm & UINT32_MAX : a->imm);
+
+    (*func)(dest, src1, src2);
+    return true;
+}

Again, unsigned comparisions work fine with sign-extended inputs.

Thanks. Fix it in next patch set.

Zhiwei


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]