[libre-riscv-dev] VBLOCK - rerun the VL section

Luke Kenneth Casson Leighton lkcl at lkcl.net
Fri Aug 30 13:42:45 BST 2019

I have an idea, based on looking at the strncpy example:

VBLOCK effectively has its own Program Counter. It has to, because there is
no way in hell it is ok to let PC advance through the VBLOCK.

So in the example, the bne goes to the start of the instruction

Every example that I have seen, SETVL is called right at the top of the

A potential "trick" therefore is to set the VBLOCK PC CSR insteard of use
branch. This keeps execution *inside* the VBLOCK.

I'm wondering therefore if, when that trick is deployed, if it would be
worthwhile re-running the SETVL portion of the VBLOCK header.

Thoughts appreciated.


crowd-funded eco-conscious hardware: https://www.crowdsupply.com/eoma68

More information about the libre-riscv-dev mailing list