Upgrade GCC 13.2.0 version (PPU-SPU) - #121
Conversation
|
Hey cool work, I really want gcc 13 on ps3. But you just forgot to credit Darjan Krijanand and luizfernandonb :/ |
Yeah.. I left his name on patch's file given him the credit |
|
Not like I care about PS3 anymore, but I appreciate your effort. It's insane that we could use C++20 for PS3 now. Thanks anyway. |
|
Thanks for your work @humbertodias . Several of us maintainers greatly appreciate the work you've done for upgrading gcc on PS3 and for coming back to update us. I hope void's reply did not dissuade you. Do you intend to do any further work on this branch? Or should we consider this ready for review? |
|
A question: Which commits are the patches generated from? I don't see corresponding pull requests to https://github.com/ps3dev/gcc-PS3 et al. If new base repos are used (which might make sense given a large jump in version), it would be good if those could be moved to the ps3dev org for maintainability. |
|
When building on a modern Linux distribution with recent GCC 16, the toolchain build fails at step 1.
|
Now, we are applying for linux as well. Please, try again |
I think so. At least, it compiles on both Linux and macOS, and I was able to build a Hello World with ps3dev and run it successfully on RPCS3 |
Got it. Here ps3dev/gcc-PS3#1 |
|
As i tested again on modern host Linux environment (tested on GCC 162.0) uncovered a few compilation failures that prevent the toolchain from building. 1.
|
No problem. Now we are using gcc 16.2 to compile. |
|
As i tested it can compile my PS3 Moonlight project without change single of code. It works like charm. It improved altivec SIMD register usage by huge margin, it will increase performance of homebrews by huge margin. Good work.
|
Thanks. However, please don't slap a new upstreams version on the master branch; we have an You don't need to make a separate pull request for the upstream branch; just keep the same structure in your own repo and submit the master branch commit with the merge intact and we can work with that. If the new gcc version has diverged too much for a merge to be practical, it's better to create a new repo (still with an This may all seem like extra work, but it does ensure maintainability going forward. |
Thanks for the guidance - I've restructured this PR to match that workflow. upstream on my fork is a clean import of gcc-13.2.0.tar.xz (tag gcc-13.2.0-upstream), with no PS3 changes. The ps3toolchain patch can be generated with: Please, let me know if i missed anything. |
|
Perfect! Thank you. Now it's also easier to review. |
|
I wanna see this update, GCC's improved auto-vectorizer and SNS modules significantly improves performance. |
|
GCM samples from PSL1GHT should be compiled with the update because if I remember correctly, GCM stuff wasn't working well when I tested when the PR was created. |
|
On my PS3 Moonlight project i compiled pr for myself. I didn't see any problems with that, my project utilized Tiny3D for display. |
|
Tested with SoRR bennug64-port-ps3.mp4 |


Features
Note
We've selected the version 9.5.0 because it's the last GCC release to include support for SPU.
https://www.phoronix.com/news/GCC-10-Drops-Cell-BE-SPU
Tip
Patches credits to disc-kuraudo and luizfernandonb
Result
https://github.com/humbertodias/ps3toolchain/actions/runs/8166663270
Note
Don't forget to create a named DockerHub environment on your repository with two secret variables: DOCKERHUB_USERNAME and DOCKERHUB_TOKEN
badges

PSL1GHT hello game