On Thu, Sep 12, 2019 at 6:39 AM Richard Henderson <
[email protected]> wrote:
> On 9/11/19 10:51 AM, Chih-Min Chao wrote:
> > Could the VLEN be configurable in cpu initialization but not fixed in
> > compilation phase ?
> > Take the integer element as example and the difference should be the
> > stride of vfp.vreg[x] isn't continuous
>
> Do you really want an unbounded amount of vector register storage?
Hi Richard,
VLEN is implementation-defined parameter and the only limitation on spec is
that it must be power of 2.
What I prefer is the value could be adjustable in runtime.
>
> > uint8_t *mem = malloc(size)
> > for (int idx = 0; idx < 32; ++idx) {
> > vfp.vreg[idx].u64 = (void *)&mem[idx * elem];
> > vfp.vreg[idx].u32 = (void *)&mem[idx * elem];
> > vfp.vreg[idx].u16 = (void *)&mem[idx * elem];
> > }
>
> This isn't adjusting the stride of the elements. And in any case this
> would
> have to be re-adjusted for every vsetvl.
>
> Not sure about the relation with vsetvl. Could you provide an example ?
Chih-Min
>
> r~
>