On 2/21/20 1:45 AM, LIU Zhiwei wrote:
+/* Vector Fixed-Point round model */
+#define FSR_VXRM_SHIFT      9
+#define FSR_VXRM            (0x3 << FSR_VXRM_SHIFT)
+
+/* Vector Fixed-Point saturation flag */
+#define FSR_VXSAT_SHIFT     8
+#define FSR_VXSAT           (0x1 << FSR_VXSAT_SHIFT)

These bits have been moved into the new VCSR register. And the offsets are wrong because these bits are no longer above the FP status bits in the FCSR. So this needs to be rvv 0.7.1 specific.

+/* User Vector CSRs */
+#define CSR_VSTART          0x008
+#define CSR_VXSAT           0x009
+#define CSR_VXRM            0x00a
+#define CSR_VL              0xc20
+#define CSR_VTYPE           0xc21

This is missing two new CSRs, VCSR and VLENB.

+    /* loose check condition for fcsr in vector extension */
+    if ((csrno == CSR_FCSR) && (env->misa & RVV)) {
+        return 0;
+    }

This is wrong for the current spec, because the vector status bits aren't in the FCSR anymore. So this also needs to be rvv 0.7.1 specific.

Jim

Reply via email to