There are still a few (5) testsuite failures, though. It looks like most of them are similar, latent and due to us not handling small VLS BImodes properly. Maybe we still need

diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
index d2edffb36a2..d2d99b828ac 100644
--- a/gcc/config/riscv/riscv-v.cc
+++ b/gcc/config/riscv/riscv-v.cc
@@ -2220,7 +2220,7 @@ get_vector_mode (scalar_mode inner_mode, poly_uint64 
nunits)
     if (inner_mode == GET_MODE_INNER (mode)
        && known_eq (nunits, GET_MODE_NUNITS (mode))
        && (riscv_v_ext_vector_mode_p (mode)
-           || riscv_v_ext_vls_mode_p (mode)))
+           || (riscv_v_ext_vls_mode_p (mode) && vls_mode_valid_p (mode))))
       return mode;
   return opt_machine_mode ();
 }

With the hunk above on top of the patch (and obviously
+     && (!riscv_v_ext_vls_mode_p (vmode) || vls_mode_valid_p (vmode))
removed again) the test suite is unchanged for me.

--
Regards
Robin

Reply via email to