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

Reply via email to