All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org
Subject: [PATCH v2 1/3] target/arm: Correctly bound length in sve_zcr_get_valid_len
Date: Fri, 23 Jul 2021 10:33:42 -1000	[thread overview]
Message-ID: <20210723203344.968563-2-richard.henderson@linaro.org> (raw)
In-Reply-To: <20210723203344.968563-1-richard.henderson@linaro.org>

Currently, our only caller is sve_zcr_len_for_el, which has
already masked the length extracted from ZCR_ELx, so the
masking done here is a nop.  But we will shortly have uses
from other locations, where the length will be unmasked.

Saturate the length to ARM_MAX_VQ instead of truncating to
the low 4 bits.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/arm/helper.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/target/arm/helper.c b/target/arm/helper.c
index 0c07ca9837..8c1d8dbce3 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -6461,7 +6461,9 @@ static uint32_t sve_zcr_get_valid_len(ARMCPU *cpu, uint32_t start_len)
 {
     uint32_t end_len;
 
-    end_len = start_len &= 0xf;
+    start_len = MIN(start_len, ARM_MAX_VQ - 1);
+    end_len = start_len;
+
     if (!test_bit(start_len, cpu->sve_vq_map)) {
         end_len = find_last_bit(cpu->sve_vq_map, start_len);
         assert(end_len < start_len);
-- 
2.25.1



  reply	other threads:[~2021-07-23 20:35 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-23 20:33 [PATCH v2 0/3] target/arm: Add sve-default-vector-length cpu property Richard Henderson
2021-07-23 20:33 ` Richard Henderson [this message]
2021-07-26 10:57   ` [PATCH v2 1/3] target/arm: Correctly bound length in sve_zcr_get_valid_len Peter Maydell
2021-07-23 20:33 ` [PATCH v2 2/3] target/arm: Export aarch64_sve_zcr_get_valid_len Richard Henderson
2021-07-26 10:57   ` Peter Maydell
2021-07-23 20:33 ` [PATCH v2 3/3] target/arm: Add sve-default-vector-length cpu property Richard Henderson
2021-07-26 11:07   ` Peter Maydell
2021-07-26 14:59   ` Andrew Jones
2021-07-26 18:33     ` Richard Henderson
2021-07-26 18:40       ` Andrew Jones
2021-07-26 19:31       ` Peter Maydell
2021-07-26 12:42 ` [PATCH v2 0/3] " Peter Maydell
2021-07-26 15:00   ` Andrew Jones
2021-07-26 15:41     ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210723203344.968563-2-richard.henderson@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.