We have a PowerPC 440GP-based design running Linux. Right now our
kernel and applications are built with gcc for a "405" target
(essentially by using the -m405 flag).
This works fine, and all of our executables run with no problem.
However, we are interested in optimizing specifically for the 440. As
far as I can tell, neither gcc 2.95 nor gcc 3.2.2 have any support for
this.
Is anyone aware of any work in this direction?
Thanks,
Roland
--
Roland Dreier [off-list ref] GPG Key: 1024D/E0EEFAC0
Fingerprint: A89F B5E9 C185 F34D BD50 4009 37E2 25CC E0EE FAC0
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Roland Dreier wrote:
We have a PowerPC 440GP-based design running Linux. Right now our
kernel and applications are built with gcc for a "405" target
(essentially by using the -m405 flag).
This works fine, and all of our executables run with no problem.
However, we are interested in optimizing specifically for the 440. As
far as I can tell, neither gcc 2.95 nor gcc 3.2.2 have any support for
this.
Is anyone aware of any work in this direction?
I am not a tools expert by any means.. but from my understanding there is work
to support the 440 specific items.
However, I believe the work is focused on enhancing binutils (the assembler) and
not the compiler. So any 440 specific optimizations you would like would need
to be written in assembly. (My multi-month old memory is that the 440's new
userspace instructions arn't terribly "generic" to facilitate use in gcc..)
If I'm wrong about any of this someone please correct me!
--Mark
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Mark> I am not a tools expert by any means.. but from my
Mark> understanding there is work to support the 440 specific
Mark> items.
Mark> However, I believe the work is focused on enhancing binutils
Mark> (the assembler) and not the compiler. So any 440 specific
Mark> optimizations you would like would need to be written in
Mark> assembly. (My multi-month old memory is that the 440's new
Mark> userspace instructions arn't terribly "generic" to
Mark> facilitate use in gcc..)
I am not talking about using new 440/Book E instructions. I am just
referring to generic optimizations such as scheduling instructions to
fit the 440's pipelines as well an possible. Clearly this would
involve work on gcc, and I am just wondering if anyone has done this.
Thanks,
Roland
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/