On 7/22/20 2:15 AM, frank.ch...@sifive.com wrote: > + float vflmul = flmul_table[lmul]; > + > + if ((sew > cpu->cfg.elen) > + || vill > + || vflmul < ((float)sew / cpu->cfg.elen)
Hmm. I suppose this is fairly compact. Expanding this to integer code would take something like if (vflmul & 4) { /* Fractional LMUL. */ if (vflmul == 4 || cpu->cfg.elen >> (8 - vflmul) < sew) { vill = 1; } } r~