Intriguing. I especially appreciate the effort to identify fundamental aspects of fractional LMUL.
On 2020-03-21 3:46 p.m., Bill Huffman wrote:
As you mention below this constraint is problematic when VLEN=ELEN, or a low multiple of VLEN.
I appreciate you stating the concern formally.
Informally, I've considered that I
would need LMUL>=4 on a minimal machine to make meaningful
use of such operations as [even] vslideup/down1 for SEW=ELEN.
(vslideup and vslidedown even
worse with variable range severely limited)
I think a further refinement of the constraint to incorporate the effects with other out of lane operations would be very helpful guidance for developing code that can run across the full spectrum of allowed designs.
We may need to address this with target classes, similar to UNIX vs embeded.
Or at least note how these constraints affect each.#6 is put into compiler visible terms (without VLEN or VLMAX). It is a new constraint, I think, since always before LMUL >= 1 meant it was forced to be satisfied because of the existing constraint that ELEN >= SEW.
I think the concern here may be addressed by modifications to the fractional LMUL model.
In particular I have another proposal (not surprised? ;)
I hope to ensure that that proposal addresses these concerns.
Thank you again for your insights.