From d.j.walker.slh0101@oasis.icl.co.uk Mon Mar 11 18:04:24 1996
Received: from relay2.pipex.net (relay2.pipex.net [158.43.192.4]) by cip.informatik.uni-erlangen.de with SMTP
	id SAA11230 (8.6.12/7.4h-FAU); for <rdzidlic@cip.informatik.uni-erlangen.de>; Mon, 11 Mar 1996 18:04:05 +0100
Received: from Q.icl.co.uk by bath.pipex.net with SMTP (PP);
          Mon, 11 Mar 1996 17:03:05 +0000
Received: from x400-gw0.pipex.net by Q.icl.co.uk (4.1/icl-2.12-server)
	id AB27085; Mon, 11 Mar 96 17:02:38 GMT
Received: from getafix.oasis.icl.co.uk by obelix over ESMTP
	id QAA23221; Mon, 11 Mar 1996 16:45:40 GMT
From: d.j.walker.slh0101@oasis.icl.co.uk
Date: Mon, 11 Mar 1996 16:48:06 GMT
Message-Id: <199603111648.28924.0@getafix.oasis.icl.co.uk>
Received:  by getafix.oasis.icl.co.uk
	id QAA28924; Mon, 11 Mar 1996 16:48:06 GMT
Reply-To: d.j.walker.slh0101@oasis.icl.co.uk
Subject: 420dREAD.ME
To: rdzidlic@cip.informatik.uni-erlangen.de
Mime-Version: 1.0
Content-Type: multipart/mixed;
	boundary="PART.BOUNDARY.1041.28884.unix.826562879.1"
Status: RO


--PART.BOUNDARY.1041.28884.unix.826562879.1
Content-ID: <1041_28884_826562879_1@unix>
Content-type: application/octet-stream; name="16474201.1.513_pt"
Content-Description: External file


    C68 EXPERIMENTAL RELEASE 2 - 10th March 1996
    ============================================

There have been major internal changes to the C68 program
that is part of the "C68 for QDOS" release.  In addition
there are new versions of many of the assembler support
routines that are called by the generated code.  This new
version has passed its initial validation.  However due
to the widespread nature of the changes I felt that it was
advisable to make this experimental version more widely
available so that users could test it on their own source
before it becomes the mainstream release.

The advantage of this release is that it should generate more
efficient code than the earlier releases.  This will be
particularly noticeable when generating code that uses
floating point arithmetic, or uses a lot of 'short' data
types.

This is the second release of this experimental version
of C68.   The first release went reasonably well, but 
there were enough errors found (particularily for
programs that used floating point) that I felt it was
advisable to put out this second release of the
experimental version.  This second release fixes the
problems reported on the first experimental release. 
It also restores some code optimisations that had got
lost in re-working the compiler, so those who reported 
a slow-down on some programs with the first experimental
release should now find that (hopefully) the speed is now
the same or better than the 4.20a and 4.20b releases of 
C68.  However note that it is important to use the -O
option to get maximum speed (as well as minimum size).

The files for this release have been split into two,
and each set is designed to fit onto a single 720Kb disk.
The RUN1 files are all the files that are needed to
compile (but not link) a program.  The RUN2 files
are those files needed for linking.  This split has 
been made to accomodate those who only have 720Kb
disk drives.   Those who have HD or ED disks are
advised to put all these files onto a single disk.
If you only have 720Kb disk drives, then please provide
feedback on whether you find this new split of files 
an improvement or not.

All programs and libraries supplied have been re-compiled 
with this release of the compiler even when there is no
change to the source. Please, therefore, provide feedback
if you have any programs that either do not run or which
produce unexpected behaviour when using this release.

A new feature at this release is the inclusion of the GWASS
(George Gwilt's Assembler) assembler.   The special feature
of this release is support for the extra addressing modes of
the 68020, 68030, 68040 and 68060 processors as well as
for the FPU related isntructions of the 68040 and 68060.
This assembler needs a 68020 to run, however, so only those
with suitable hardware can invoke it  (CC will give an error
message if you try to run it on unsutiable hardware).  It is
invoked by including the -gwass option to the CC program. 
This assembler has only just had the facility to produce S-ROFF
output added to it and has had limited testing to date, so it 
is quite likely that there may be problems in using it. 
Please pass back any problem reports. 

Users who have hardware Floating Point Units can also try out
the new -fpu runtime option to CC.  This will cause the C68
phase to generate inline hardware FPU instructions, and will
also invoke the GWASS assembler (there is no need to include the
explicit -gwass option in this case) to assemble the resulting
code.  You will find that this gives a significant performance
boost over all earlier releases for such code (at the expense
of loosing portability of the binary versions of programs to 
systems that do not have the FPU hardware fitted).  Where this
portability matters, then the previous method of detecting FPU
hardware within the C68 library support routines will still work,
but will not provide as dramatic a speed increase.  As before,
however, please try and initially use limited programs in such
testing as the GWASS assembler may not yet be up to handling
larger programs.

Please keep me informed with feedback on this release.

Dave Walker
10 Mar 1996


--PART.BOUNDARY.1041.28884.unix.826562879.1--

