qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 2/4] target/mips: Fix df_extract_val() and df_extract_df() df


From: Richard Henderson
Subject: Re: [PATCH 2/4] target/mips: Fix df_extract_val() and df_extract_df() dfe lookup
Date: Tue, 3 May 2022 08:12:01 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.0

On 5/3/22 06:07, nihui wrote:
From: Ni Hui <shuizhuyuanluo@126.com>

Actually look into dfe structure data so that df_extract_val() and
df_extract_df() can return immediate and datafield other than BYTE.

Signed-off-by: Ni Hui <shuizhuyuanluo@126.com>
---
  target/mips/tcg/msa_translate.c | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/target/mips/tcg/msa_translate.c b/target/mips/tcg/msa_translate.c
index 76307102f2..aa45bae0aa 100644
--- a/target/mips/tcg/msa_translate.c
+++ b/target/mips/tcg/msa_translate.c
@@ -68,8 +68,8 @@ struct dfe {
  static int df_extract_val(DisasContext *ctx, int x, const struct dfe *s)
  {
      for (unsigned i = 0; i < 4; i++) {
-        if (extract32(x, s->start, s->length) == s->mask) {
-            return extract32(x, 0, s->start);
+        if (extract32(x, s[i].start, s[i].length) == s[i].mask) {
+            return extract32(x, 0, s[i].start);
          }
      }
      return -1;
@@ -82,7 +82,7 @@ static int df_extract_val(DisasContext *ctx, int x, const 
struct dfe *s)
  static int df_extract_df(DisasContext *ctx, int x, const struct dfe *s)
  {
      for (unsigned i = 0; i < 4; i++) {
-        if (extract32(x, s->start, s->length) == s->mask) {
+        if (extract32(x, s[i].start, s[i].length) == s[i].mask) {
              return i;
          }
      }

Cc: phil
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~



reply via email to

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