English Amiga Board Amiga Lore


Go Back   English Amiga Board > Coders > Coders. Language > Coders. C/C++

 
 
Thread Tools
Old 17 February 2017, 20:17   #81
bebbo
Registered User

 
Join Date: Jun 2016
Location: Hamburg/Germany
Posts: 23
Quote:
Originally Posted by patrik View Post
What hardware did you run the benchmark on?
WinUAE, 68020, fastest possible, More compatible, NO JIT

And if switch to

WinUAE, 68020, A1200 cycle exact, More compatible, NO JIT

The results differ:

Code:
tscpsc:   18920ms
tscpgcc:  14120ms 
tscpvbcc: 14120ms
tscpgcc6: 12280ms
So gcc6 is still the fastest but tscpvbcc is on par.

Guess I have to start my A3000T and test there too^^

Bebbo
bebbo is offline  
AdSense AdSense  
Old 17 February 2017, 20:39   #82
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 501
btw. probably not the case, but if there is anything to get from it, aros uses currently binutils 2.25 for gcc 6.3.0. if needed for reference, the diffs are to find in the usual locations. what id love to see, however likely too much to hope for, would to be bundling effort to improve amiga-m68k backend being usable for both for aros and aos. i lack though the expertise to contribute to it.
wawa is offline  
Old 17 February 2017, 21:02   #83
bebbo
Registered User

 
Join Date: Jun 2016
Location: Hamburg/Germany
Posts: 23
Quote:
Originally Posted by wawa View Post
btw. probably not the case, but if there is anything to get from it, aros uses currently binutils 2.25 for gcc 6.3.0. if needed for reference, the diffs are to find in the usual locations. what id love to see, however likely too much to hope for, would to be bundling effort to improve amiga-m68k backend being usable for both for aros and aos. i lack though the expertise to contribute to it.
I wish there were AROS for the m68k, but there isn't. But thank you for pointing it out.

The problems with gcc/binutils are:

1. m68k Amiga register usages: A6 as library base, A5 as frame pointer, A4 as data segment ref.
2. The amiga hunk file format
3. fast ram / chip ram
4. special stuff like resident
5. dunno... guess way more.

The binutils modifications can't be merged easily since many things have changed, but I have an experimental binutils 2.27. And patching binutil 2.14 was easier. (Notice: some bugs I fixed in 2.14 are still present in the current 2.27, so noone really uses that **abandoned** code)

And gcc changed a lot from 3.4.* to 4.0.0. Porting the changes to 4.0.0 is the same effort as porting them to gcc-6, so I started with gcc-6.

Bebbo

PS: I am using the gcc-6 branch, so it's atm "version 6.3.1 20170217 (GCC)"

Last edited by bebbo; 17 February 2017 at 21:30.
bebbo is offline  
Old 17 February 2017, 21:36   #84
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 501
Quote:
Originally Posted by bebbo View Post
I wish there were AROS for the m68k, but there isn't.
you really dont know that there actually is aros68k ? i even posted a comparison binary results compiled with it (6.1.0) somewhere further above.

Quote:
The problems with gcc/binutils are:


1. m68k Amiga register usages: A6 as library base, A5 as frame pointer, A4 as data segment ref.
afaik, on aros this is taken care by a set of macros, similarly/interchengable like with sdi includes. functions that need parametrizing must of course follow certain syntax.

Quote:
2. The amiga hunk file format
aros binaries are compiled as elf since aros executes both formats and elf is the currently default binary format produced ba the compiler. however aros68k binaries are subsequently converted to hunk with elf2hunk utility while preparing distfiles, and runnable on aos, as long as they dont depend on specific aros libs.

Quote:
3. fast ram / chip ram
its being taken by the usual memory definition macros (MEMF_FAST and the like).

Quote:
4. special stuff like resident
dont know details, but must be handled somehow, the kickstart image works after all.

Quote:
And gcc changed a lot from 3.4.* to 4.0.0. Porting the changes to 4.0.0 is the same effort as porting them to gcc-6, so I started with gcc-6.

Bebbo
yes. thats understandable. btw for reference, except 3.4.x from zerohero there is 4.5.x from bernd rosch on amiga.sf. aros is currently still using 4.6.4 as default and 6.3.0 optionally. btw aros build system is to a certain extent ready for different further compiler options, like llvm/clang and lately some support for linking stage optimization has been introduced. also usage of vbcc/vasm has been evaluated already some time ago, but hasnt delivered expected advantage, so put on hold. toni btw, is much better informed in the matter, assistance needed, since he is/was one of the maintainers.
wawa is offline  
Old 18 February 2017, 00:43   #85
bebbo
Registered User

 
Join Date: Jun 2016
Location: Hamburg/Germany
Posts: 23
Quote:
Originally Posted by wawa View Post
you really dont know that there actually is aros68k ? i even posted a comparison binary results compiled with it (6.1.0) somewhere further above.
just kidding, I once tried it but not using it.

And I can't find your post: http://eab.abime.net/search.php?searchid=3707779

Quote:
...
aros is currently still using 4.6.4 as default and 6.3.0 optionally.
...
The 4.6.4 version I found via sourceforge and what's provided in gcc-4.6.4-aros.diff does not provide very much. It's basically:

* support for A4/A5 instead of A5/A6.

Everything else what was in 2.95.3 is missing. And that's plenty.

Or does that exist? Where?

Bebbo
bebbo is offline  
Old 18 February 2017, 03:21   #86
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 501
Quote:
Everything else what was in 2.95.3 is missing. And that's plenty.
thats why i said there might be some refference, but on the other hand it likely needs improvement, which if someone would focus on might be beneficial for both platforms.

the 6.3.0 diff should be actualy alongside 4.6.4 in the repository. ill check in a minute. do you have a diff of your version against the upstream one? might be worth comparing, especially if you introduced further patches. still it would be a job for someone actually experienced. i fear toni doesnt bother with it, but maybe someone else might.

here are all diffs, voila:
https://trac.aros.org/trac/browser/A...ols/crosstools

Last edited by wawa; 18 February 2017 at 03:26.
wawa is offline  
Old 18 February 2017, 03:56   #87
Samurai_Crow
Total Chaos forever!

Samurai_Crow's Avatar
 
Join Date: Aug 2007
Location: Ft. Collins, CO USA
Age: 42
Posts: 701
Send a message via Yahoo to Samurai_Crow
And the GitHub mirror is https://github.com/ezrec/AROS-mirror...ols/crosstools
Samurai_Crow is offline  
Old 18 February 2017, 04:39   #88
wawa
Registered User
 
Join Date: Aug 2007
Location: berlin/germany
Posts: 501
btw, bebbo, you read german?

here are some comments on the subject, just in case there was something helpful:

http://amiga-news.de/de/news/comment...-00029-DE.html
wawa is offline  
Old 18 February 2017, 13:30   #89
bebbo
Registered User

 
Join Date: Jun 2016
Location: Hamburg/Germany
Posts: 23
Quote:
Originally Posted by wawa View Post
btw, bebbo, you read german?

here are some comments on the subject, just in case there was something helpful:

http://amiga-news.de/de/news/comment...-00029-DE.html
Uhm German? Guess I do.

Thanks for pointing me/us to that german thread.

Bebbo
bebbo is offline  
Old 18 February 2017, 15:38   #90
sbergmann
Registered User
sbergmann's Avatar
 
Join Date: Mar 2015
Location: Germany
Age: 38
Posts: 21
Quote:
Originally Posted by sbergmann View Post
I started to work on a Dockerfile for building a Docker image with this toolchain: https://github.com/sebastianbergmann...ter/Dockerfile
It's now usable, see https://amiga.sebastian-bergmann.de/...ross-compiler/ for details.
sbergmann is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
New GCC based dev toolchain for AmigaOS 3.x cla Coders. Releases 4 12 October 2016 23:28
Issue with photon/xxxx WinUAE Toolchain arpz Coders. Asm / Hardware 2 26 September 2015 23:33
New 68k gcc toolchain arti Coders. C/C++ 17 31 July 2015 04:59
Hannibal's WinUAE Demo Toolchain 5 Bobic Amiga scene 1 23 July 2015 22:04
From gcc to vbcc. Cowcat Coders. General 9 06 June 2014 15:45

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 07:55.


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Page generated in 0.17200 seconds with 15 queries