qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v4 13/21] target/loongarch: Add floating point move instructi


From: Richard Henderson
Subject: Re: [PATCH v4 13/21] target/loongarch: Add floating point move instruction translation
Date: Sun, 5 Sep 2021 11:38:50 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 9/2/21 2:40 PM, Song Gao wrote:
+static bool gen_mov(DisasContext *ctx, arg_fmt_fdfj *a,
+                    void (*func)(TCGv, TCGv))
+{
+    TCGv dest = cpu_fpr[a->fd];
+    TCGv src = cpu_fpr[a->fj];

Maybe clearer as gen_f2f, to match the others?

+static void gen_movfrh2gr_s(TCGv dest, TCGv src)
+{
+    TCGv t0 = tcg_temp_new();
+
+    tcg_gen_extract_tl(dest, src, 32, 32);
+
+    tcg_temp_free(t0);
+}

t0 is unused.
Use sextract_tl, or sari_tl...

+TRANS(movfr2gr_s, gen_f2r, EXT_NONE, tcg_gen_ext32s_tl)
+TRANS(movfr2gr_d, gen_f2r, EXT_NONE, tcg_gen_mov_tl)
+TRANS(movfrh2gr_s, gen_f2r, EXT_SIGN,  gen_movfrh2gr_s)

... which then means you don't need the EXT_SIGN here, and can drop the 
parameter entirely.


r~



reply via email to

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