On Mon, Nov 14, 2022 at 09:06:10AM -0700, Jeff Law via Gcc-patches wrote:
>
> On 11/13/22 13:48, Philipp Tomsich wrote:
> > The Ventana VT1 core supports quad-issue and instruction fusion.
> > This implemented TARGET_SCHED_MACRO_FUSION_P to keep fusible sequences
> > together and adds idiom matcheing for the supported fusion cases.
> >
> > gcc/ChangeLog:
> >
> > * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
> > constants to identify supported fusion patterns.
> > (struct riscv_tune_param): Add fusible_op field.
> > (riscv_macro_fusion_p): Implement.
> > (riscv_fusion_enabled_p): Implement.
> > (riscv_macro_fusion_pair_p): Implement and recoginze fusible
s/recoginze/recognize/
> > idioms for Ventana VT1.
> > (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
> > (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to riscv_macro_fusion_pair_p.
>
> You know the fusion rules for VT1 better than I... I'm happy to largely
> defer to you on this.
>
> I do wonder if going forward hand matching RTL like this is going to be an
> unmaintainable mess and whether or not we would be better served using insn
> attributes to describe instruction fusion.
Jakub