Hi Dusan, sorry for the late reply.
> This patch addresses a missed opportunity to fuse vsetvl_infos. > Instead of checking whether demands for merging configurations of > vsetvl_info are all met, the demands are checked individually. > > The case in question occurs because of the conditional move > instruction which sifive-7, sifive-p400 and sifive-p600 support. > Firstly, the conditional move generated rearranges the CFG. > Secondly, because the conditional move generated uses > the same register in the if_then_else pattern as vsetvli before it > curr_info and prev_info won't be merged. Can you elaborate a bit on that? Rearranging the CFG shouldn't matter in general and relying on the specific TARGET_SFB_ALU feels overly specific. Why does the same register in the if_then_else and interfere with vsetvl? BTW Bohan Lei has since fixed a bug regarding non-RVV uses. Does the situation change with that applied? -- Regards Robin