https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112092
JuzheZhong <juzhe.zhong at rivai dot ai> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |juzhe.zhong at rivai dot ai --- Comment #1 from JuzheZhong <juzhe.zhong at rivai dot ai> --- No, it is correct. It's the fancy optimization we have done in VSETVL PASS. e16mf2 is same ratio e32m1. The later loop demand e32m1 and TU, so we fuse it into e16mf2 (__riscv_vsetvl_e16mf2(avl)), change it into e32m1 and TU. This is a valid optimization. You can change e16mf2 into e16m1. I am sure the fusion will be blocked.