Slashdot Mirror


Cygnus & Intel Donate ia32 gcc ia32 Backend

AT writes "Cygnus has released the source for a new x86 backend for gcc. The new code focuses on better PII optimization. Intel contracted the changes from Cygnus. The code isn't quite release quality yet, but it should be intergrated into gcc 2.9x source tree around August. " Hopefully this won't be an isolated incident considering the number of chips coming outta Intel in the not-so-distant-future.

1 of 74 comments (clear)

  1. Re:How fast is GCC these days by Mr+Z · · Score: 5

    This is true for GCC 2.8. There's a new Sparc back-end in EGCS which should bring GCC into the latter half of the 90's finally.

    One nice thing about the new back end is that it actually understands the Ultra-Sparc's scheduling requirements so that it can actually get four instructions issued each cycle. When you lump in the Haifa scheduler technology as well as the advanced pointer analysis and so on, I think 3.0 will shape up to be a much stronger contender.

    In the meantime, I'd expect EGCS's performance numbers to still lag Sun's SparcWorks compiler for a little while, based on the following reasons:

    • EGCS is still not widely deployed, and so there isn't alot of feedback available for tuning it.
    • EGCS is still a work-in-progress, and many new bits are being added. It'll be awhile before they're all well-adjusted to work together. (Optimizations are NOT as linearly independent of each other as many would wish.)
    • The SparcWorks compiler still has a few other features that are missing from EGCS, such as cache-based optimization. These can really help certain classes of programs.
    • Finally, the benchmarks will always be skewed if we only consider SPEC. The Sun compilers are very much SPEC-oriented compilers, from what I've seen. While Sun may have a large lead on SPEC benchmarks, the real-world difference is quite a bit smaller, I'm sure.

    So that's about it. I can't really comment on the C++ differences, except to say that I would imagine alot of the binary bloat comes from GCC having to "roll its own" exception handling and infrastructure, whereas Sun probably offloads alot of that to proprietary, platform-specific libraries.

    --Joe

    --