[comp.sys.alliant] Does anyone have gcc for the i860?

jonesm@nic.cerf.net (John Reading) (05/08/91)

I am a devotee of hopeless causes, so I am trying to compile the
MIT distribution of X 11R4 in order to end up with an X server on
an Alliant fx2800. My first attempts have met with failure because
the Alliant C preprocessor, scc0, doesn't paste tokens together in
the fashion expected by the X developers, and I end up with thousands
of compiler errors. The X documentation that comes with the release
says the gcc is the compiler of choice, so my question is...

Does anybody have gcc ported to (and producing code for :-)) the
intel i860 micro? Lacking that, does anybody have a preprocessor that
handles token pasting as required by the X sources? 

Please respond by email, I will post a summary if there is sufficient
(any? :-)) response.

Thanks in advance,
John Reading

pinkas@almond.intel.com (Israel Pinkas) (05/10/91)

In article <366@nic.cerf.net> jonesm@nic.cerf.net (John Reading) writes:

> Does anybody have gcc ported to (and producing code for :-)) the
> intel i860 micro? Lacking that, does anybody have a preprocessor that
> handles token pasting as required by the X sources? 

> Please respond by email, I will post a summary if there is sufficient
> (any? :-)) response.

I'm posting because it makes sense to.

Intel made arrangements with (paid) the FSF to port GCC 1.36 to the i860.
The best I can say is that it works.  There is no optimizer, other than
possibly the source level optimizations that GCC does.  Unfortunately, most
of the speed of the i860 comes from the pipelined floating point and
dual-mode instruction set, which GCC does not deal with.  (Most i860
compilers do integer multiplication and division by moving the number to
floating point, as the FP ALU is faster.)

I have worked with Alliant over the last year.  They have a working X
server (and clients) for the FX2800.  You might wish to contact them for a
working binary or a compiler fix.

In addition, all you really need from GCC is the preprocessor.  The Alliant
compiler is the best one available for the FX2800.  If you can bring up CPP
from the GCC distribution, redfine your build rules to preprocess C files
with GNU CPP and then compile the result with the Alliant compiler.  Don't
try to preprocess on another machine, unless you want to copy /usr/include
as well.

Hope this helps.

-Israel Pinkas
 Intel Corp
--
--------------------------------------
Disclaimer: The above are my personal opinions, and in no way represent
the opinions of Intel Corporation.  In no way should the above be taken
to be a statement of Intel.

UUCP:	{amdcad,decwrl,hplabs,oliveb,pur-ee,qantel}!intelca!mipos3!st860!pinkas
ARPA:	pinkas%st860.intel.com@relay.cs.net
CSNET:	pinkas@st860.intel.com

dik@cwi.nl (Dik T. Winter) (05/13/91)

In article <PINKAS.91May9161918@almond.intel.com> pinkas@almond.intel.com (Israel Pinkas) writes:
 >                                                           (Most i860
 > compilers do integer multiplication and division by moving the number to
 > floating point, as the FP ALU is faster.)
 > 
I would think so, as there are no integer multiply and divide operations!
(There is also no F-P divide either, but a recip. approximation.)
--
dik t. winter, cwi, amsterdam, nederland
dik@cwi.nl