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

Bring forward the SPE code to later version of GCC #7

Open
3246251196 opened this issue Jan 7, 2024 · 5 comments
Open

Bring forward the SPE code to later version of GCC #7

3246251196 opened this issue Jan 7, 2024 · 5 comments
Assignees

Comments

@3246251196
Copy link
Member

  • I think it is only deprecated in GCC 8. Is it easy to just build with SPE enabled?
  • SPE for GCC 11?
@3246251196
Copy link
Member Author

The thing that makes this more difficult is: https://gcc.gnu.org/legacy-ml/gcc-patches/2017-05/msg01227.html
Around late 2017 the SPE was split from the rs6000 which is what our Amiga SPEC file etc relies on.

@3246251196
Copy link
Member Author

Closed as - won't happen.

@3246251196 3246251196 reopened this Nov 26, 2024
@3246251196
Copy link
Member Author

3246251196 commented Nov 26, 2024

Re open. See pali/gcc-powerpcspe-musl@317a010

Check whether it is the target option combined with obsolete that is not being supported.

@3246251196
Copy link
Member Author

wrt. above: that patch is talking about fixing the case when the build and host are different. When you build a cross compiler, the build == host, so if this patch is only doing what it says, and it looks like it is - I believe that will have no affect. It may have an affect when building the native compiler on a different build machine. After testing, it seemed not to have effect.

This: https://git.yoctoproject.org/meta-arm/tree/meta-arm-toolchain/recipes-devtools/gcc/gcc-arm-9.2/0036-Re-introduce-spe-commandline-options.patch?h=gatesgarth is useful, though. The spe option does not exist in our gcc 8+. But, it is not just re-installing that option that we need to do. We need the rs6000.c to actually use the set variable and generate different code if it is set. In 8.3.0, the set variable is no longer even used is rs6000.

It looks like it will be a combination of

But, the first action is to get a cross compiler built, so at this stage I am not sure the latter matters - but may, soon.

@3246251196 3246251196 self-assigned this Nov 27, 2024
@3246251196
Copy link
Member Author

3246251196 commented Nov 29, 2024

Another issue is the list of patches that have removed SPE support. For example:
https://gcc.gnu.org/pipermail/gcc-patches/2017-June/476140.html

Not sure I really want to take on this work without some sort of financial incentive! I remember now why I closed this ticket initially and said that it just won't happen.

It is not enough to just re-enable the SPE option in the .opt file - all the code has been removed from rs6000.c to actually do anything having set the option!

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

1 participant