diff mbox series

target/riscv: Fix vcompress with rvv_ta_all_1s

Message ID 20241030004146.935656-1-antonb@tenstorrent.com (mailing list archive)
State New
Headers show
Series target/riscv: Fix vcompress with rvv_ta_all_1s | expand

Commit Message

Anton Blanchard Oct. 30, 2024, 12:41 a.m. UTC
vcompress packs vl or less fields into vd, so the tail starts after the
last packed field.

Signed-off-by: Anton Blanchard <antonb@tenstorrent.com>
---
 target/riscv/vector_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alistair Francis Oct. 30, 2024, 3:38 a.m. UTC | #1
On Wed, Oct 30, 2024 at 11:13 AM Anton Blanchard <antonb@tenstorrent.com> wrote:
>
> vcompress packs vl or less fields into vd, so the tail starts after the
> last packed field.

Is that right?

It's different from every other vector command. Although the wording
in the spec is very confusing

Alistair
Anton Blanchard Oct. 30, 2024, 4:09 a.m. UTC | #2
Hi Alistair,

On Wed, Oct 30, 2024 at 2:39 PM Alistair Francis <alistair23@gmail.com>
wrote:
> > vcompress packs vl or less fields into vd, so the tail starts after the
> > last packed field.
>
> Is that right?
>
> It's different from every other vector command. Although the wording
> in the spec is very confusing

It is confusing. This thread has some clarification, and we should probably
follow up on the suggestion to improve the ISA wording:

https://github.com/riscv/riscv-v-spec/issues/796

Thanks,
Anton
Alistair Francis Oct. 30, 2024, 4:18 a.m. UTC | #3
On Wed, Oct 30, 2024 at 2:09 PM Anton Blanchard <antonb@tenstorrent.com> wrote:
>
> Hi Alistair,
>
> On Wed, Oct 30, 2024 at 2:39 PM Alistair Francis <alistair23@gmail.com> wrote:
> > > vcompress packs vl or less fields into vd, so the tail starts after the
> > > last packed field.
> >
> > Is that right?
> >
> > It's different from every other vector command. Although the wording
> > in the spec is very confusing
>
> It is confusing. This thread has some clarification, and we should probably
> follow up on the suggestion to improve the ISA wording:
>
> https://github.com/riscv/riscv-v-spec/issues/796

Ah, at least it isn't just me.

It's worth pointing to that in the commit message, as the spec is not
clear about this

Alistair

>
> Thanks,
> Anton
diff mbox series

Patch

diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c
index 072bd444b1..ccb32e6122 100644
--- a/target/riscv/vector_helper.c
+++ b/target/riscv/vector_helper.c
@@ -5132,7 +5132,7 @@  void HELPER(NAME)(void *vd, void *v0, void *vs1, void *vs2,               \
     }                                                                     \
     env->vstart = 0;                                                      \
     /* set tail elements to 1s */                                         \
-    vext_set_elems_1s(vd, vta, vl * esz, total_elems * esz);              \
+    vext_set_elems_1s(vd, vta, num * esz, total_elems * esz);             \
 }
 
 /* Compress into vd elements of vs2 where vs1 is enabled */