PowerPC port for the e500 core
Hello PowerPC team,
I have a Lenny snapshot of a new Debian architecture called gnuspe
located at . 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 . 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.