From: Frank Chang <frank.ch...@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 target/riscv/insn_trans/trans_rvv.c.inc | 78 ++++++++++++++++++------- 1 file changed, 57 insertions(+), 21 deletions(-) -- 2.31.1