-
Rémi Denis-Courmont authored
VSETVLI xd, x0, ...' has rather nonobvious semantics: - If xd is x0, then it preserves the current vector length. - If xd is not x0, it sets the vector length to the supported maximum. Also somewhat confusingly, while VMV.X.S always does its thing regardless of the selected vector length, VMV.S.X does _nothing_ if the selected vector length is zero. So the current code breaks fails to initialise the accumulator if we are unlucky to have a selected vector length of zero on entry. Fix it by forcing the vector length to one.
96a83cee
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
Makefile | ||
asm.S | ||
bswap.h | ||
cpu.c | ||
cpu.h | ||
fixed_dsp_init.c | ||
fixed_dsp_rvv.S | ||
float_dsp_init.c | ||
float_dsp_rvv.S | ||
intmath.h | ||
timer.h |