Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
79 user(s) are online (45 user(s) are browsing Forums)

Members: 0
Guests: 79

more...

Support us!

Headlines

 
  Register To Post  

(1) 2 »
A1222 Development Thread
Quite a regular
Quite a regular


See User information
Calling on those working on developing for the A1222:

Is there anything currently holding you back?

I know that @Stefen.H was lacking an SPE compiled version of some thing that he would like.

Perhaps this thread can stick to A1222 development topics and requests for people. Over at our team (AmigaLabs: https://amigalabs.net/ || https://github.com/AmigaLabs) we can probably help if a specific build of a library or a specific cross compiler is required. Like anyone else - we have the ability to build a cross compiler and/or native compiler that is SPE ready. It would also be possible to bundle up a ready-to-go cross compiler/native compiler (gcc6 SPE) + compiled-with-SPE libraries.

Any issues right now?
Any requests?

=== Things that are not clear right now ===
- See https://www.amigans.net/modules/newbb/ ... id=149824#forumpost149824 (i.e. Whether or not building an entire project with SPE FLAGS is a good idea)

The following is a list of helpful links that I will keep up to date.
*** If you want to a link below, let me know in this thread or by private message. ***

=== Links ===
- https://keasigmadelta.com/blog/taboriz ... imizing-for-the-e500-spe/ (Hans de Ruiter)
- https://www.amigans.net/modules/newbb/ ... &order=ASC&status=&mode=0 (Eldee Stephens)


Edited by rjd324 on 2024/7/26 9:57:14
Edited by rjd324 on 2024/7/26 9:58:31
Edited by rjd324 on 2024/7/26 9:58:58
Edited by rjd324 on 2024/7/26 9:59:17
Edited by rjd324 on 2024/7/26 14:19:16
Edited by rjd324 on 2024/7/26 14:19:51
Edited by rjd324 on 2024/7/26 20:42:43
Edited by rjd324 on 2024/7/26 20:43:04
Edited by rjd324 on 2024/7/26 20:43:29
Edited by rjd324 on 2024/7/26 20:56:47
If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Home away from home
Home away from home


See User information
@rjd324

What's the newest version of GCC that still has a usable compiler for SPE? I've been using GCC 6 for compiling SPE-specific code, but theoretically GCC 8 should still have SPE, but as a separate compiler (e.g., ppc-amigaos-gcc-spe, or something like that). I've never seen GCC 8 PowerPC SPE for AmigaOS, though.

EDIT: I think that the ultimate solution, would be a full PowerPC to PowerPC SPE JIT recompiler...

Hans

Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
Go to top
Re: A1222 Development Thread
Quite a regular
Quite a regular


See User information
@Hans
Right now, we are limited to GCC6.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
Thanks!

What i would like would be
complete SPE native standard c library plus mathlib,
SDL and zlib. Best if usable in a cygwin
environment.

Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@rjd324

Quote:
we have the ability to build a cross compiler and/or native compiler that is SPE ready. It would also be possible to bundle up a ready-to-go cross compiler/native compiler (gcc6 SPE) + compiled-with-SPE libraries.


A native compiler (gcc6 SPE) + compiled-with-SPE libraries and latest binutils would be amazing

Go to top
Re: A1222 Development Thread
Site Builder
Site Builder


See User information
Quote:
Like anyone else - we have the ability to build a cross compiler and/or native compiler that is SPE ready.


The latest SDK includes the gcc6 which supports SPE and the included documentation has a section only for that and how to use it. This of'course is for native development.

For a cross compiling dev environment, I am building a new docker image that will include gcc6 for everyone to test and use. I might have it ready during this weekend.

Follow me on
Ko-fi, Twitter, YouTube, Twitch
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@walkero

Quote:
The latest SDK includes the gcc6 which supports SPE and the included documentation has a section only for that and how to use it. This of'course is for native development.


The included documentation (snippet) regarding SPE is only helpful when compiling stuff that is not dependent on newlib or clib. Latest SDK throws also incompatible c library error when tyring to build something with clib4. (I know how to bypass this, but this creates only more mess).

So updated native adtools+binutils+standard libraries are still very welcome.

Go to top
Re: A1222 Development Thread
Quite a regular
Quite a regular


See User information
@IamSONIC
The current native SDK compiler will not have any support for the clib4 value for the mcrt option. I am curious as to how you are bypassing it at all.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Quite a regular
Quite a regular


See User information
Binutils is slowly progressing, but I do not think it will be ready in.. say.. 2 or 3 months. I think that it realistically means still using Binutils 2.23.2 - at least GCC 6 is closer to that Binutils version that GCC 11.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
Double post, removed

Memento audere semper!
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
IMHO we need first a native OS4 GCC SDK full support for SPE code.
As already said GCC8 should be last one able to generate SPE code. Later all common libs like newlib/clib/math libs/SDL libs should have a native SPE version.
Once it will be reality some programmers shoul consider at least to recompile their projects to be full compatible with A1222,
Than other new projects, programs and games, could include an A1222 version in an easy way.

Memento audere semper!
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@rjd324

Quote:
The current native SDK compiler will not have any support for the clib4 value for the mcrt option. I am curious as to how you are bypassing it at all.


- in SDK: rename clib2 to clib2-backup
- copy clib4 to SDK:
- in SDK: rename clib4 into clib2
- Use -mcrt=clib2 in Makefile

Go to top
Re: A1222 Development Thread
Quite a regular
Quite a regular


See User information
@IamSONIC
Yeah, I had a feeling that was the hack.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@rjd324

Yeah! But when building something for SPE i get "ld: Warning: /GCC/lib/gcc/ppc-amigaos/6.4.0/clib2/lib/libgcc.a(_floatundidf.o) uses hard float, sdl2benchmark uses soft float" during linking stage. And the resulting executable does not work as expected.

Maybe i need the SPE Versions of the following Libs:

12.SYS:SDK/gcc/lib/gcc/ppc-amigaos/6.4.0/clib2/lib> list
libatomic.a                     249278 ----rwed 02-Feb-22 09:58:42
libatomic
.la                       940 ----rwed 02-Feb-22 09:58:42
libatomic
.so                    229874 ----rwed 02-Feb-22 09:58:42
libgcc
.a                       1034218 ----rwed 02-Feb-22 09:58:38
libgcc
.so                       730588 ----rwed 02-Feb-22 09:58:38
libgcc_eh
.a                     205286 ----rwed 02-Feb-22 09:58:38
libgcov
.a                       545594 ----rwed 02-Feb-22 09:58:38
libssp
.a                         49128 ----rwed 02-Feb-22 09:58:42
libssp
.la                          919 ----rwed 02-Feb-22 09:58:42
libssp
.so                        94581 ----rwed 02-Feb-22 09:58:42
libssp_nonshared
.a                2198 ----rwed 02-Feb-22 09:58:42
libssp_nonshared
.la                911 ----rwed 02-Feb-22 09:58:42
libstdc
++.a                    19526172 ----rwed 02-Feb-22 09:58:42
libstdc
++.la                       941 ----rwed 02-Feb-22 09:58:42
libstdc
++.so                   16252951 ----rwed 02-Feb-22 09:58:42
libstdc
++.so-gdb.py               2382 ----rwed 02-Feb-22 09:58:42
libsupc
++.a                     993032 ----rwed 02-Feb-22 09:58:42
libsupc
++.la                       890 ----rwed 02-Feb-22 09:58:42

Go to top
Re: A1222 Development Thread
Amigans Defender
Amigans Defender


See User information
because that gcc is using real clib2 libraries and you are mixing them with clib4.
In my opinion you should start to use a cross compiler for everything. Not only for compilation speed..

i'm really tired...
Go to top
Re: A1222 Development Thread
Just can't stay away
Just can't stay away


See User information
@rjd324

Thanks for starting this thread, there should be some clarity here and it could be of great value to developers and testers.

Some claim that it is not possible for Heretic2 to work on the A1222 neither in software rendering nor with Warp3d/gles. So let's just find out together.

@walkero

Quote:
For a cross compiling dev environment, I am building a new docker image that will include gcc6 for everyone to test and use. I might have it ready during this weekend.


Thanks for your support

MacStudio ARM M1 Max Qemu//Pegasos2 AmigaOs4.1 FE / AmigaOne A1222plus AmigaOs4.1 FE
Go to top
Re: A1222 Development Thread
Quite a regular
Quite a regular


See User information
See: https://www.amigans.net/modules/newbb/ ... id=149822#forumpost149822. In this case, this is a successful demo where CLIB4 and SDL2 were not compiled with SPE flags at all.

It would be nice to good agreement or decisions as to whether or not
- we should be building C-libraries with the SPE flags in full, and whether
- we should be building SDL2 with SPE flags in full.

It would be nice to able to just do something like:
CFLAGS+=-mspe -mcpu=8540 -mfloat-gprs=double -mabi=spe

But as https://keasigmadelta.com/blog/taboriz ... imizing-for-the-e500-spe/ *bullet point 2* says, only critical code actually _using_ floats should be compiled with such flags in order to avoid the trashing of the ABI float parameters.

Presumably, we all need to be careful.

If liberty means anything at all, it means the right to tell people what they do not want to hear.
George Orwell.
Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@afxgroup

Quote:
because that gcc is using real clib2 libraries and you are mixing them with clib4.


Yes the mixing is odd but as you see in the SDL2 Thread using clib4 nonSPE it works without a problem. And not just the sdl2benchmark, till now everything. The main problem right now is that those libraries doesn't support SPE.

Does someone can provide those libs for GCC 6.4 built for SPE?

Go to top
Re: A1222 Development Thread
Just popping in
Just popping in


See User information
@rjd324

Quote:

But as https://keasigmadelta.com/blog/taboriz ... imizing-for-the-e500-spe/ *bullet point 2* says, only critical code actually _using_ floats should be compiled with such flags in order to avoid the trashing of the ABI float parameters.

Presumably, we all need to be careful.


I read that too and trying to compile simply everthing directly for SPE is also for me just a Test right now. If this way will work than we have a higher chance for more (faster) Apps on A1222. If every single App must be analyzed and tracked down in order to compile core floating point math operations for SPE and generic seperately then ...

Go to top
Re: A1222 Development Thread
Not too shy to talk
Not too shy to talk


See User information
@IamSONIC

Quote:
Does someone can provide those libs for GCC 6.4 built for SPE?


I tried two months ago to check something for the SPE.
At the moment the SPE topic is closed with me. I do not have an A1222, I only have QEMU. It is too time-consuming and I have not been able to test the programme at home.
I had to send something to the person who owns the A1222 to check it.

From what I remember it was
rebuilding a cross comlining environment with clib4 under SPE

..
git clone https://github.com/sba1/adtools.git
cd ~/adtools/gild
git submodule init
git submodule update
cd ~/adtools
guild list
- from the list, select
gild clone
gild checkout binutils 2.23.2
gild checkout coreutils 5.2
gild checkout gcc 6
...

Rebuilding clib4 under SPE
Change ‘GNUmakefile.os4’ options adding line ‘SPE=true’

After finishing the compilation, I had to completely rebuild ‘libgcc’ under clib4 and by changing the options in the makefile options related to ‘-msoft-float’ (and flags under SPE ) to avoid ‘hard float/ soft float’ warning.
You will get libgcc.a ..etc under soft float.
The base was ready.

Then rebuild zlib and compile SDL2. i think i disabled the extra GL stuff because it was not compiled under soft float.
Then you use SDL2 compiled with flags under SPE without GL.
Then you probably have to recompile all the extra libraries from scratch to build other things fully SPE-compatible i new base.

At least I think so, and I don't even know if I went the right way and it wasn't stupid
There wasn't a lot of material on the subject at the time.

Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 5 ( 0 members and 5 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project