Hi, >>> What do you think about disabling late scheduling as well? >> >> I think this would definitely need separate consideration and evaluation >> given the above. >> >> Another thing to consider is the macro fusion machinery. IIRC it works >> during scheduling so if we don’t run any scheduling we don’t get an >> opportunity to bring those instructions together? >> >> That said, I’m not sure the scheduling actually tries to bring macro fused >> instructions together rather than simply avoiding moving them apart. > > I will run the numbers, but if useful, late scheduling could be disabled > separately from fusion > scheduling. However fusion really shouldn't be done as a scheduling hack - we > should use > fused RTL patterns like we do for GOT accesses and AES fusion.
I ran the numbers, late scheduling (using the ancient Cortex-A57 model) gives 0.23% speedup on SPECINT and 0.73% on SPECFP. I guess the gains come from scheduling loads and other critical operations earlier and perhaps improved dispatch due to increased interleaving of operations. Cheers, Wilco