In the newest of a series of moves to try to impart momentum to Intel’s Itanium processor, allies backing the chip are funding work to improve a key programming tool. Some of the $10bn [EUR 8.36bn] in five years that members of the Itanium Solutions Alliance are spending on Itanium market and technology development will go to Itanium-specific improvements to the GCC. The Gelato Federation, an organisation dedicated to boosting Linux on Itanium computers, is overseeing the work, the allies said this week at the Intel Developer Forum in San Francisco.
Possibly some of the improvements they make to gcc won’t be 100% itanium specific. That way, everyone will benefit…
It sounded to me like they should at least benefit some of the other architectures gcc supports.
Better inferencing of memory accesses is a nice technique to have although it’s currently not so important on machines that have dynamic scheduling hardware.
The improved superblock optimisations ought to benefit any other VLIW-style chips that gcc supports now or in the future.
IIRC, Intel did open source a compiler for Itanium that was within about 5% of their commercial compiler. I’m not sure what happened to that or if it’ll be merged into gcc in any way. Supporting gcc properly is preferable as it’s required to build Linux, and also is more likely to be used by distributors.
$0.02,
Mark
GNU/Linux. Linux is just a kernel. The userland is substantially GNU-related stuff.
Actually, I was talking about the kernel: it uses various guarantees provided by gcc (e.g. that a pointer will fit into an unsigned long) and GNU extensions. You actually *need* gcc to build the kernel (or do something to cater to those features with your chosen compiler).
Whether userland software requires gcc or not varies according to how strict the author is and their own design decisions…
That said, it seems possible – though not inevitable – that some GNU utilities rely on gcc to build them as well.
i can almost garontee they will be Itanium specific. they would not do it to make it better on x86 as intel has its own compiler that competes with GCC in that respect.
From the sound of the optimisations they’re hoping to add, I doubt they’ll benefit x86 that much anyhow. They’re most useful to Itanium’s style of architecutre…
I hadn’t thought of the competition aspect, but it’s interesting: Intel have a commercial Itanium compiler. This work on gcc is coming fairly late on – presumably they might have delayed it to avoid competition with their own compiler. But it’s even more important to them to get good software support for Itanium so they can actually shift the hardware they make!
LLVM probably could have used the money to make high-performance migration paths off of the x86 platform. IMHO x86 is so kludged from the past years of backward-compatability patches that anything would be an improvement in terms of programmability. Including Itanium.
Plus if we could get an LLVM-based packager then we could use one set of install CD-ROMs for Linux on any processor.
http://llvm.cs.uiuc.edu/ is the link BTW.
IMHO x86 is so kludged from the past years of backward-compatability patches that anything would be an improvement in terms of programmability. Including Itanium.
Umm, no. Itanium specifically makes it hard on the compiler, by its very nature. It is definitely NOT easier to compile to then x86, no matter how much cludging there might be.
LLVM is a neat project, but I don’t see it replacing GCC anytime soon. Itanium needs help now, in 10-20 years it might not even exist unless things turn around.
There was a talk about using LLVM in gcc especially for link time optimizations and having a capable intermediate representation. However, it seems that the gcc guys would rather use something of their own than integrate LLVM into the gcc suite. The gcc guys have already invested a lot in the tree-ssa and are also coming up with designs to do IPO.
Funny, I just picked up a text book on Itanium from Intel press, “Programming Itanium-based Systems” off the xxxx table.
It looks pretty interesting, covers compiler issues of mapping HLLs onto the architecture, predication etc and it cost me only 50c. That is not a good sign though, even my Alpha book cost me $5. Seems all the comp book stores are fading away. Still it should be a pretty good read.
Weird. What’s the point of making a programming tool open source if the actual chip is closed?
Ummm…using that thinking, opensource would have very few developers.
Personaly I think it’s a great idea. It will help Intel get a few more users (maybe). And it will make Itanium a solid Linux market. Think of it, how many OSes support IA64 yet? Windows and Linux. And Windows is iffy. Building Linux with ICC is painful at best. Good news all the way around.
Think of it, how many OSes support IA64 yet? Windows and Linux.
VMS, HP-UX, FreeBSD, NetBSD.
I don’t understand why Intel would have a commercial compiler for Itanium. I would think that Intel/Hp would benefit from making the development tools free and easily available.
Has Intel been charging for Itanium development tools?
Intel has a commercial compiler for all its chips. It hasn’t been trying to keep other compilers from working, though, so you can use GCC for free to compile to Itanium. Like the x86 platform, though, the commercial compiler from Intel will give you better performance.
And performance gains from using icc over gcc for x86 are rather impressive. But for IA64, icc crushes gcc. Or so I’ve heard.
What I really don’t understand is why most of the companies developing chips sell their own compilers for their xpto chips, and don’t contribute do gcc instead.
Gcc is *the* compiler for a LOT of platforms and OS’s. If you have a super-duper-compiler, but no-one uses it (using gcc instead), your hardware is not being used to its fullest, and in the end what the end user sees is that x is slower than y. I think the FIRST thing intel should have done was work on getting gcc to be the best itanium compiler!
Wake up companies! Here is a way to improve performance on your specific hardware for all apps and users!
Edited 2006-03-14 18:54
I agree totally. Since when has Intel been a software company.
What I really don’t understand is why most of the companies developing chips sell their own compilers for their xpto chips, and don’t contribute do gcc instead.
I agree, the revenue they get from their own compilers must be miniscule compared to their hardware sales.
But I guess they see it mostly as a marketing tool for getting nice numbers in Spec and other benchmarks. Many optimisations aren’t platform-specific, so if they open-sourced them other companies could benefit too, thus giving away any advantage.
Also, gcc is rather difficult to develop for. C just isn’t a good language to write a compiler in, and then there’s a lot of ugly macro hackery in there as well.