From: Frank Chang <frank.chang@sifive.com>
For vector widening and narrowing floating-point instructions, we should
use require_scale_rvf() instead of require_rvf() to check whether the
correspond RVF/RVD is enabled if either source or destination
floating-point operand is double-width of SEW. Otherwise, illegal
instruction exception should be raised.
e.g. For SEW=16, if the source/destination floating-point operand is
double-width of SEW, RVF needs to be enabled. Otherwise, an illegal
instruction exception will be raised. Similarly, for SEW=32, RVD
needs to be enabled.
Frank Chang (3):
target/riscv: rvv-1.0: Call the correct RVF/RVD check funtion for
widening fp insns
target/riscv: rvv-1.0: Call the correct RVF/RVD check funtion for
widening fp/int type-convert insns
target/riscv: rvv-1.0: Call the correct RVF/RVD check funtion for
narrowing fp/int type-convert insns
Oops, I misspell the word "function" in the patch titles.
I will correct it in my next patchset.
Regards,
Frank Chang