PDA

View Full Version : PowerPC 970 Support in GCC




MacRumors
May 19, 2003, 07:13 PM
Several have noted (http://gcc.gnu.org/cgi-bin/cvsweb.cgi/~checkout~/gcc/gcc/config/rs6000/power4.md?rev=1.4.4.4&content-type=text/plain) that the latest version of GCC (GNU Compiler Collection) offers PowerPC 970 support.

GCC is used as the compiler for Mac OS X, Linux and a number of other platforms (http://gcc.gnu.org/install/specific.html).

By itself, this fact means little... as IBM uses Linux for their Blade Servers which will also be migrating to the PowerPC 970... but it is a necessary step if/when Apple is to migrate to the PowerPC 970.



MrMacMan
May 19, 2003, 07:30 PM
a) first link only states that this will work for the 970 in the title, not the code at all.
b) we know it will run on some operating system. :o
c) I think we all know it will atleast run on *nix and Linux.

Freg3000
May 19, 2003, 07:49 PM
Ok, I admit it, I am a little slow.....but this is good news right? Lol, it has to be. :)

arn
May 19, 2003, 07:52 PM
Originally posted by Freg3000
Ok, I admit it, I am a little slow.....but this is good news right? Lol, it has to be. :)

it's neutral news.

Basically, compilers are needed to turn source code into an executable binary.

These compliers need to support the processors you want to create code for.

One of the big compilers now supports Power4 (and what looks like PowerPC 970)

arn

iJed
May 19, 2003, 08:41 PM
Originally posted by arn

One of the big compilers now supports Power4 (and what looks like PowerPC 970)

Not only is this one of the big compilers but the compiler that Apple uses to compile Mac OS X and its apps. What would be more interesting to know would be if Apple was involved in adding POWER4/PPC970 support to GCC. If they were then this would almost certainly be an admission that Apple was making 970 based systems.

ennerseed
May 19, 2003, 09:20 PM
.....uhhhhh
......hmmmm

ktlx
May 19, 2003, 09:32 PM
Originally posted by MrMacman
a) first link only states that this will work for the 970 in the title, not the code at all.

But the final comments describe the number of integer, floating point and load/store units in the POWER4. It turns out that the PowerPC 970 has the exact same number.

From the compiler writer's point of view, there may be no difference between the POWER4 and PowerPC 970 other than the PowerPC 970 also has an AltiVec unit.

It could be a case similar to the Pentium III versus Pentium 4. The principle difference between the two processors from a compiler writer's point of view is how best to optimize the code and the SIMD instructions. If the POWER4 and PowerPC 970 have the same number of processing units, there may not be any difference between the two other than the SIMD instructions.

Compiler writers cannot do much related to memory I/O speed, the size or existance of Level 3 cache or dual core versus single core.

ktlx
May 19, 2003, 09:34 PM
Originally posted by iJed
What would be more interesting to know would be if Apple was involved in adding POWER4/PPC970 support to GCC.

There doesn't seem to be any evidence that Apple was involved in the port. All of the documents that I have seen point to the existing GCC team and IBM.

wheezl
May 19, 2003, 09:37 PM
) first link only states that this will work for the 970 in the title, not the code at all.
b) we know it will run on some operating system.
c) I think we all know it will atleast run on *nix and Linux

Actually GCC 3.3 has already been built for OS X (Darwin). So yes. it works. To generate code for a processor you are not actually using merely requires that you setup a cross-compilation environment.

Looks like everything except the gcc java compiler works.


Link to successful GCC 3.3 build message (http://gcc.gnu.org/ml/gcc/2003-05/msg01487.html)

KEL9000
May 19, 2003, 10:29 PM
Apple doesn't use an unmodified version of gcc, they take the source and add their extentions. For 970 support to make it back to the main gcc branch would mean apple/ibm has submited the code into gcc. This also means that apple/ibm feels satisfied with their implementation of gcc. This is very good news!

zac4mac
May 20, 2003, 07:30 AM
It's all adding up very positively. Mot has no 64 bit processor now, with no immediate plans in the future either, and will be relegated to the consumer desktop and portables by year's end. Near the first of the year, portables also go away for them(970s in PBs and Gobis in iBooks at MWSF?). one of the quotes I got from a guy at MOS13 was "it don't(sic) look good for us(Moto)"
I am so saving for a duallie 970, hopefully in the next few months. The heat is on.

Zack

ktlx
May 20, 2003, 08:26 AM
Originally posted by KEL9000
Apple doesn't use an unmodified version of gcc, they take the source and add their extentions. For 970 support to make it back to the main gcc branch would mean apple/ibm has submited the code into gcc. This also means that apple/ibm feels satisfied with their implementation of gcc. This is very good news!

Your logic is full of holes.

GCC supports the PowerPC outside of Apple's modificiations to the compiler. You can use GCC to compile code for other PowerPC systems without using Apple's modified compiler.

The fact that a comment on a single file about supporting the PowerPC 970 says absolutely nothing about whether Apple was involved. It does not even say anything about whether IBM was involved with the port--GCC supported a lot of processors before it started receiving any vendor support beyond normally published documents.

type_r503
May 20, 2003, 02:24 PM
Originally posted by ktlx
Your logic is full of holes.

GCC supports the PowerPC outside of Apple's modificiations to the compiler. You can use GCC to compile code for other PowerPC systems without using Apple's modified compiler.

The fact that a comment on a single file about supporting the PowerPC 970 says absolutely nothing about whether Apple was involved. It does not even say anything about whether IBM was involved with the port--GCC supported a lot of processors before it started receiving any vendor support beyond normally published documents.

My head is full of holes too.


How can a compiler support an unreleased, undocumented cpu without the support of the Manufacturer? I guess gcc was just hacked to support a non existent cpu. In order for the compiler to write instructions for a cpu it must know the instructions the cpu uses. Thus if gcc now supports the PPC970 the only LOGICAL conclusion would be that IBM or APPLE(as Apple and IBM are working together) have supplied the code for this. Once again this is very good news!

Please feel free to point out any falicies in my logic.

ktlx
May 20, 2003, 04:06 PM
Originally posted by type_r503
How can a compiler support an unreleased, undocumented cpu without the support of the Manufacturer? I guess gcc was just hacked to support a non existent cpu. In order for the compiler to write instructions for a cpu it must know the instructions the cpu uses. Thus if gcc now supports the PPC970 the only LOGICAL conclusion would be that IBM or APPLE(as Apple and IBM are working together) have supplied the code for this. Once again this is very good news!

It is very simple. There is only one place where GCC lists itself as supporting the PowerPC 970 and that is on a comment on one line of one source file. If you read the release notes and the other associated GCC documentation, you will find no mention of support for the PowerPC 970, only newly added support for the POWER4.

The PowerPC 970 is hardly an undocumented processor. It supports a documented ISA--the PowerPC 64-bit ISA. Its architecture details have been documented by IBM. Since the processor has the same number of integer, floating point and load/store units as the POWER4 and both implement the PowerPC 64-bit ISA, it is logical to assume the optimization code will be the same.

People are blowing this way out of all proportion to what it actually means. It means nothing more than GCC now supports the POWER4 architecture with the belief that the same set of optimizations will work for the PowerPC 970 (not a bad assumption).

I expect that Apple and/or IBM will have to do additional work to GCC to get it to support the AltiVec unit. I think the surest sign that people have blown this way out of proportion is that there is no mention at all for AltiVec support. That fact alone means GCC does not fully support the PowerPC 970.

This is becoming like the G5. People are so convinced that PowerPC 970 based PowerMacs and PowerBooks are coming out in June that anything that mentions the processor is taken as evidence we are only a few short weeks away from release. This tidbit means nothing beyond GCC support for the POWER4.

Dont Hurt Me
May 20, 2003, 07:32 PM
maybe we should all pretend the 970 does not exist and this summer we will see a 1.6 g4 quad machine since the duals are so behind the single intel p4.:eek:

Bengt77
May 21, 2003, 06:12 AM
Originally posted by Dont Hurt Me
maybe we should all pretend the 970 does not exist and this summer we will see a 1.6 g4 quad machine since the duals are so behind the single intel p4.:eek:

At this rate, I wouldn't be surprised at all if we saw machines like that before the PPC970s come out...

Blech!

:(

Bengt77
May 21, 2003, 06:24 AM
Originally posted by Dont Hurt Me
maybe we should all pretend the 970 does not exist and this summer we will see a 1.6 g4 quad machine since the duals are so behind the single intel p4.:eek:

On the other hand, if those machines are equipped with a serious DDR FSB, say 400MHz of something like that, they actually would be seriously fast, wouldn't they? Throw in, as a standard, 2GB of 400MHz DDR RAM and an ATI Radeon 9800 Pro and you've got yourself a dream machine. That is, if Apple's gonna give the G4 a true DDR bus before the PPC970s are rolled out...

:rolleyes:

Fender2112
May 22, 2003, 03:57 PM
I'll be surprised if anything good happens these next few months.

Here's to looking forward to being surprised!