Skip to content

Commit 95c0e6e

Browse files
antonblanchardMichael Tokarev
authored andcommitted
target/riscv: Fix vslidedown with rvv_ta_all_1s
vslidedown always zeroes elements past vl, where it should use the tail policy. Signed-off-by: Anton Blanchard <[email protected]> Reviewed-by: Alistair Francis <[email protected]> Message-ID: <[email protected]> Signed-off-by: Alistair Francis <[email protected]> Cc: [email protected] (cherry picked from commit 2669b69) Signed-off-by: Michael Tokarev <[email protected]>
1 parent 7b21781 commit 95c0e6e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

target/riscv/vector_helper.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5113,9 +5113,11 @@ void HELPER(NAME)(void *vd, void *v0, target_ulong s1, void *vs2, \
51135113
} \
51145114
\
51155115
for (i = i_max; i < vl; ++i) { \
5116-
if (vm || vext_elem_mask(v0, i)) { \
5117-
*((ETYPE *)vd + H(i)) = 0; \
5116+
if (!vm && !vext_elem_mask(v0, i)) { \
5117+
vext_set_elems_1s(vd, vma, i * esz, (i + 1) * esz); \
5118+
continue; \
51185119
} \
5120+
*((ETYPE *)vd + H(i)) = 0; \
51195121
} \
51205122
\
51215123
env->vstart = 0; \

0 commit comments

Comments
 (0)