[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

PowerPC port for the e500 core

Hello PowerPC team,
I have a Lenny snapshot of a new Debian architecture called gnuspe
located at [0]. I haven't announced it anywhere (until now). It is
called gnuspe because the gcc triplet is powerpc-linux-gnuspe-. This
port is for all PowerPCs which have an E500 core [1]. The main important
differences between PowerPC and this one are:
- the "normal" FPU unit is not present. Instead the APU offers float
  point operations. This is _not_ SW-emulation it is HW support but
  different at the assembly level. The ABI is also different (there are
  no dedicated FPU regs).
- those opcodes (or some of them) have the same binary representation
  like AltiVec. The spec forbids AltiVec.
- It is not 100% compatible with the PowerPC ISA. An opcode, lwsync,
  is not supported by the core and raises an invalid opcode exception.
  This is a core bug.

In the past I used the normal PowerPC port which was sufficient for most
things, however it got very slowly once it came to floating point.
Starting with gcc 4.2 (I think but starting with Lenny is correct) the
gcc starts using the lwsync opcode more frequently and every C++ program
is effected via libstdc++ as you can see in #495120. Replacing the opcode
in the PowerPc port would cost performance on all other PowerPCs.

Now, I wanted to ask if there are more people that could be interrested
in this port.

Any comments are welcome.

[0] http://download.breakpoint.cc/debian/linutronix-lenny-gnuspe/
[1] http://en.wikipedia.org/wiki/PowerPC_e500


Reply to: