Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is anyone working on -mtune/-march/-mcpu support for Hazard3/RP2350 in GCC? #19

Open
palmer-dabbelt opened this issue Sep 4, 2024 · 1 comment

Comments

@palmer-dabbelt
Copy link

A few of us were talking on IRC about tunings, which led me to poking around and finding this -- I hadn't realized the RP2350 had it's own uarch, sorry. I was just wondering if anyone was planning on sending patches for GCC. Specifically it looks like the Xh3bextm extension could hook into some actual codegen, and the tune/cpu structs would make life a little easier for users to target.

Also: thanks a ton for the datasheet, it's super detailed. Having the exact tapeout RTL and targeted spec versions makes life a lot easier for us SW people ;)

Having the datasheet should make it fairly straight-forward to do this, but I wanted to check and see if anyone was already planning on doing so.

@Wren6991
Copy link
Owner

Hi Palmer, I'm not planning GCC support. To be honest it's a little out of my expertise, and this processor is a one-man band (no support from Raspberry Pi).

I think building a scheduler model might make for a nice example port, since the timing characteristics are fairly simple and well-specified (both by datasheet and RTL). I've had reasonably good code gen from GCC just with -mbranch-cost=1, but it would be a nice datapoint to see how much is left on the table without a proper model, especially as LLVM have indicated they're inclined not to merge a scheduler model since it bloats their backend and they are always multi-target.

Some LLVM folks are already looking at instruction selection support for Xh3bextm -- it might be worth paging @lenary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants