https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121910

--- Comment #5 from Zhongyao Chen <chenzhongyao.hit at gmail dot com> ---
I have doubts about the following code: 
Why does it return regno_alignment when the calculated lmul is greater than
RVV_M8? 

I change the return to RVV_M8, and then the issue disappeared, no register
spill. However, I'm unsure if the changes is appropriate. what you think?


@@ -632,7 +726,7 @@ compute_estimated_lmul (loop_vec_info loop_vinfo,
machine_mode m
ode)
       int estimated_lmul = estimated_vf * GET_MODE_BITSIZE (mode).to_constant
()
                           / TARGET_MIN_VLEN;
       if (estimated_lmul > RVV_M8)
-       return regno_alignment;
+       return RVV_M8;
       else
        return estimated_lmul;
     }

Reply via email to