02 February 2017, 10:25 | #61 |
Registered User
Join Date: Mar 2009
Location: New York
Posts: 552
|
In your face, Thorham!
Nah, just kidding. But I love this thread. |
03 February 2017, 05:03 | #62 |
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 910
|
I got this sort of working and then went a bit crazy and hacked it to produce VASM compatible assembler output.
I then used to it compile my new work in progress game (developed using vbcc and vasm). This was pretty easy as my game is 68000 only with purely integer math, so I didn't need any support libraries/GCC builtins etc to work. Measuring the number of scan lines my game currently takes to calculate/render a basic frame: vbcc: 78 gcc6/vasm: 68 And considering that a large chunk of that time is spent waiting for the blitter, I think it indicates that gcc has the potential to be quite a bit faster. Unfortunately there are glitches in the GCC compiled version, so I need to decide if I have the stamina to work out what's causing them. |
04 February 2017, 04:15 | #63 | |
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 910
|
Quote:
There was one change I needed to make in gcc: __asm("XX") arguments in calls to externally defined functions were not being correctly assigned to the specified registers (which obviously made interfacing to my existing asm hard). I fixed it with a small change to gcc/config/m68k/amigaos.c:amigaos_function_arg Code:
- tree asmtree = type ? TYPE_ATTRIBUTES(type) : NULL_TREE; + tree asmtree = type ? TYPE_ATTRIBUTES(TREE_VALUE(cum->formal_type)) : NULL_TREE; So far I am loving using gcc with vasm. Last edited by alpine9000; 04 February 2017 at 04:35. |
|
04 February 2017, 08:35 | #64 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 48
Posts: 3,896
|
I was just asking why compilers produce crappy code for simple things like this, I wasn't complaining about why no one fixes it
Anyway, I'm certainly not fixing it, because I have no need for it, and wouldn't have a clue of where to start if I did want to fix it. For what little C is use on the Amiga, I use SAS/C, and that works perfectly fine. For everything else I use assembly language. |
04 February 2017, 15:20 | #65 | ||
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
Quote:
Quote:
|
||
04 February 2017, 23:16 | #66 | ||
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 910
|
Quote:
Yes, I use vlink to create hunk files. However my code doesn't need any external C libraries so that makes things easier for me. The compiler couldn't build hello.c at the moment. Quote:
I tried the latest vbcc source snapshot and it wasn't any different. |
||
05 February 2017, 04:28 | #67 | ||
Banned
Join Date: Jan 2010
Location: Kansas
Posts: 1,284
|
Quote:
Quote:
|
||
05 February 2017, 04:52 | #68 | |
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 910
|
Quote:
I wrote a simple OS for SH-2e and most of the effort was spent in getting the C library (newlib) working. It might be possible to build bebbo's fork of libnix using a VASM version of GCC but I have no confidence in my gcc port yet and no need for a C library. |
|
12 February 2017, 12:57 | #69 |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 683
|
I pushed some further changes:
* toolchain build is running until it hits libstd++-v3 * hello-stdio.c, hello-ks13.c and hello-ks20.c can be compiled and linked, and are running, you'll need "stack 50000" before running the clib2 versions! next todos: => the linker is maybe still bogus => libstd++-v3 needs support for its exception table segments Have fun and waste your time^^ Bebbo Last edited by bebbo; 13 February 2017 at 08:36. Reason: updated: clib2 hellos are working too |
13 February 2017, 19:09 | #70 | |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 683
|
Quote:
Code:
m68k-amigaos-gcc -m68020 -O3 -fomit-frame-pointer -noixemul -o tscpgcc6 *.c -Xlinker --allow-multiple-definition Code:
tscpvbcc: 4540ms tscpsc: 3860ms tscpgcc: 3160ms tscpgcc6: 2780ms |
|
13 February 2017, 19:36 | #71 | |
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 910
|
Quote:
Keep up the good work! |
|
13 February 2017, 21:14 | #72 | |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 728
|
Quote:
|
|
14 February 2017, 14:10 | #73 |
Registered User
Join Date: Aug 2007
Location: berlin/germany
Posts: 1,054
|
does that mean that gcc6 is about one third faster than gcc3 and almost twice as fast as vbcc? hmm..
|
14 February 2017, 14:37 | #74 | |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 683
|
Quote:
I don't know exactly which compiler versions were used, since I took the binaries from the archive. Bebbo PS: I can build it with gcc 2.95.3/binutils 2.9.1 from the amiga-toolchain but the compiled result does not work properly (exit after prompt). Guess it's one of the bugs I fixed in libnix... Last edited by bebbo; 14 February 2017 at 14:42. Reason: added PS |
|
14 February 2017, 17:48 | #75 |
Registered User
Join Date: Dec 2010
Location: Athens/Greece
Age: 53
Posts: 728
|
|
14 February 2017, 20:35 | #76 |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 683
|
The vbcc V0.8j might be faster, at least it was in my recent experiments, see best c compiler for Amiga
Bebbo Last edited by bebbo; 14 February 2017 at 21:02. |
16 February 2017, 11:58 | #77 |
Registered User
Join Date: Mar 2015
Location: Germany
Age: 46
Posts: 23
|
I started to work on a Dockerfile for building a Docker image with this toolchain: https://github.com/sebastianbergmann...ter/Dockerfile
|
16 February 2017, 13:08 | #78 | |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 954
|
Quote:
|
|
16 February 2017, 16:24 | #79 | |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 683
|
Quote:
Bebbo |
|
17 February 2017, 13:58 | #80 |
Registered User
Join Date: Jan 2005
Location: Umeå
Age: 44
Posts: 954
|
|
Currently Active Users Viewing This Thread: 2 (0 members and 2 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
New GCC based dev toolchain for AmigaOS 3.x | cla | Coders. Releases | 8 | 24 December 2017 10:18 |
Issue with photon/xxxx WinUAE Toolchain | arpz | Coders. Asm / Hardware | 2 | 26 September 2015 22:33 |
New 68k gcc toolchain | arti | Coders. C/C++ | 17 | 31 July 2015 03:59 |
Hannibal's WinUAE Demo Toolchain 5 | Bobic | Amiga scene | 1 | 23 July 2015 21:04 |
From gcc to vbcc. | Cowcat | Coders. General | 9 | 06 June 2014 14:45 |
|
|