Hi Pan,
+ poly_int64 base1_poly = rtx_to_poly_int64 (base1); + bool overflow_smode_p = false; + + if (!step1.is_constant ()) + overflow_smode_p = true; + else + { + int elem_count = XVECLEN (src, 0); + uint64_t step1_val = (uint64_t)step1.to_constant (); + uint64_t base1_val = (uint64_t)base1_poly.to_constant ();
The casts aren't necessary anymore I suppose?
+++ b/gcc/testsuite/gcc.target/riscv/rvv/base/pr118931-run-1.c @@ -0,0 +1,19 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "-O3 -march=rv64gcv -flto -mrvv-vector-bits=zvl" } */
Please change -flto to -fwhole-program still. OK with these changed, thanks! -- Regards Robin