This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: porting EGCS to the Cray T3E


I wrote:

>  A T3E is just a bunch of 21164 Alpha's interconnected in
>  an interesting way.  If the C library on the system is
>  not really botched up beyond repair, it shouldn't be
>  impossible to create an alphaev5-unicosmk-cray target.
>  However, this is about as much as I know about this topic,
>  so people with more info are kindly requested to step
>  forward.

As pointed out by Martin Knoblauch <knobi@rocketmail.com>, it  
should be alphaev5-cray-unicosmk, and as Julian C. Cummings  
<julianc@acl.lanl.gov> pointed out, the assembly language on the  
Cray is different from that on Digital Unix and the Free Unixen that  
have an Alpha port.  In fact, even though I only spent a few hours  
on a T3E January last year - and didn't have time to dig into the  
assembly language outcome of my compiles - I wouldn't be surprised [  
given previous experience with products from Mr. Cray ] that

	mulf	$f21, $f22, $f23

should be encoded as

	FX23	X21*X22

and

	shl	$11, $12, $13

as

	BA13	A11<A12

:-)

Some more serious observations vis-a-vis the T3E (all IIRC):

1. The operating system is micro-kernel based, but it's UNICOS (the
   vector computer's OS) compatible, i.e. it has a SYSV
   attitude^H^H^H^H^H^Hpersonality.

2. The T3E has a single global address space.  This means that any
   processing element can access (read/write) the memory belonging
   to any other PE; the necessary physical transfer of data is
   handled by the interconnect.  I think I recall (!) that the global
   addressing is accomplished by encoding the PE number in the upper 
   bits of the address.

   [ Whadusay ?  Virtual memory ?  Hah, I could quote Seymour
     Cray's opinion on virtual memory here, but this is a decent
     mailing list without explicit adult material, so I'll refrain ]

3. Last but not least, the Alpha's inside a T3E are operated in
   big-endian mode.  Little-endian is for peecee's (it's not called
   *little*-endian for nothing).

Hope this helps,
Toon.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]