Instruction scheduling for the R5900's 2 integer pipelines
Woon yung Liu
ysai187@yahoo.com
Tue Jan 19 16:22:00 GMT 2016
>There was a time where GCC would generate mult/multiply-add instructions
> that would issue into the 2nd R5900 pipeline.
>
>It's been 15+ years since I looked at that problem, but IIRC I twiddled
>the old register allocator, along with the expected changes in the
>pipeline and constraints for the mul/mul-add insns in the mips backend
>to exploit the dual multiply pipes on the r5900.
>
>The key was to realize that because selection of the pipeline is static
>based on the registers used, you have to look at this as a register
>allocation problem.
>
>You might dig out the old Cygnus releases. They may provide clues,
>particularly on the register allocation tweak.
>
>Jeff
Right now, I do have an old homebrew GCC v3.2.2 port to study as well, but I didn't follow everything from it because I didn't want to risk including obsolete constructs.
Thanks for the information on the old Cygnus port. I'll try to scrape together a working system with it.
More information about the Gcc
mailing list