Gcc for the IA-64.
Anonymous Coward writes "Cygnus will port the gcc compiler (egcs, soon to be renamed gcc3) to the IA-64 architecture, notably for the Linux OS and applications. Check the press release here.
" Essentially, Cygns is working with Intel to port GNUPro Software to IA-64 is the gist of deal. GOod to see people planning ahead, I s'pose.
How complex is "extremely complex?" Nowhere near the level of IA-64, I would guess. I found it odd that Taschek would bash HP for their compiler support. I think they have the best chance of producing a decent VLIW-style compiler, given all the research that has come out of HP labs.
What's interesting is that Digital/Compaq hasn't jumped on the Merced bandwagon, nor have they announced a VLIW architecture of their own. Hmm...
Having GCC working well on IA-64 will go a long way to further the impact of Linux, especially if GCC works much better than any compiler out of Redmond. Even if Windows 2000 runs on IA-64, if the applications crawl, not too many people are going to choose that OS over another.
I disagree with this and the meat of Taschek's article. If businesses choose Windows, they will choose Windows. I don't think a compiler will make or break an operating system. Established use and ingrained practices are much larger factors. If a good compiler targeting Windows on IA-64 is not available, Merced will be relegated to a niche market. If the free software community is counting on Merced being the end of proprietary operating systems, we've lost.
It's also interesting that people assume Microsoft will be providing the IA-64 compiler for Windows. Intel is producing their own compiler. They're having problems, but chances are there will be more than one IA-64 compiler for Windows.
John Taschek over at PCWeek has an interesting editorial about just how important getting a good compiler will be for all OS's, not just Linux. He suggests that MS is going to have serious problems with the port, since the EPIC architecture is vastly different from the traditional Intel CISC architecture that MS is used to. For RISC vendors, they are used to dealing with extremely complex compilers.
Having GCC working well on IA-64 will go a long way to further the impact of Linux, especially if GCC works much better than any compiler out of Redmond. Even if Windows 2000 runs on IA-64, if the applications crawl, not too many people are going to choose that OS over another.
egcs is a fairly good C/C++ compiler, especially considering the range of architecture it works on.
Specialized products can beat it. For instance, KAI C++ is known to be much better for heavy numerical templates (check Blitz++).
egcs is getting better at handling x86. It's definitely not perfect, especially since egcs aims at architectures with a wide range of general registers, and this is definitely not the case with x86...
Considering its architecture, finding when to spill registers out to the stack or how to keep stuff in registers is sometimes a bit hard. Current snapshots are much better at that game than the egcs-1.1 series.
The article also mentions that HP has run "successful tests of the Oracle 8i database on an HP-UX based IA-64 simulator."
At least regarding the compiler (and 64-bit kernel / memory model, I would think), Linux is not far behind. I believe that these vendors are hoping that IA-64 will allow them to place some more distance between their products and Linux. I also think that they have another thing coming.
Let the code run free.
Intel has a history of supporting GCC for new chips. I was involved with a 1989 project where Intel gave money and machines to RMS to get GCC running well on the 386 as part of a plan to get Mach ported (when SystemV and Xenix were the only games in town). Intel's position was simple: all the 386 compilers suck - maybe with a small dose of cash (especially compared with what they paid Green Hills) these longhairs will come up with something.
The concept of "porting" GCC to something so different from current 32-bit machines as IA64 is going to be a major strain on the backend. Getting performance to even the current GCC standard (ie good but not best-in-class) will take at least a couple o years once hardware is available.
You can't fight in here - this is the war room!