Upgrade GCC 13.2.0 version (PPU-SPU) - #121
humbertodias wants to merge 159 commits into
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 |
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 |
|
@humbertodias Your gcc updates have been merged through the gcc-PS3 repository. |
Keep split PPU/SPU/host patches and gcc-PS3 PPU delta (no TARGET_USES_LINUX64_OPT). Take master's newlib dirent sentinels and SPU --with-newlib/--with-pic.
The upstream merge left a cat of gcc-9.5.0-PS3.patch; SPU already uses the -SPU/-host/-macos-arm64 patches.
Sure! master branch merged into this PR |
Keep split GCC patches; also refresh newlib config.guess/config.sub and keep SPU --with-system-zlib.
The last master merge applied those hunks to gcc-13.2.0-PS3-PPU.patch; they already exist in GCC 13 and make GNU patch fail on Linux after zlib.
| os: linux | ||
|
|
||
| - runner: macos-15-intel | ||
| - runner: macos-26-intel |
There was a problem hiding this comment.
We were targeting mac-15-intel to keep it compatible with old Mac Intel users.
I'm not sure if macos-26-intel would work fine for those people using old mac intel systems with older macOS. 🤔
There was a problem hiding this comment.
I moved to 26 because the 15 was in a infinite loop. I think they deprecated
Putting 15 back ec5410b
thanks for all your efforts here @humbertodias 👍 I've triggered the CI checks to confirm everything builds ok. Please follow up with zeldin if you have questions or need another review. 🙏 |
This reverts commit ec5410b.


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