This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[GCC 4.2 Project] Support for IA-64 speculation


Hello,

I work on GCC for the Institute for System Programming in Russia. Below is a brief summary of the project aiming at adding support for ia64 speculation to the GCC instruction scheduler. I presented the project at the last GCC Summit.

This description doesn't have any implementation details, but rather refers to the summit paper. If needed, I'd be happy to provide longer summary on the wiki page.

I'll not be able to respond on your comments until next Tuesday.

Regards, Andrey

---
Support for IA-64 speculation

Speculation is one of the features of IA-64 architecture aimed to expose instruction-level parralelism. Using speculation allows for a compiler to overcome the dependencies by moving a load through the ambiguous store or across a branch (with data and control speculation, respectively). This technique helps to hide the latency of memory loads and reduce the execution time.

The patch adds support for both data and control speculation to the GCC instruction scheduler. Implementation issues of the patch are described in the paper 'Improving GCC instruction scheduler for IA-64', which can be found in the proceedings of GCC Summit 2005.

Personnel

Maxim Kuvyrkov, Andrey Belevantsev (Institute for System Programming, Russian Academy of Sciences)

Delivery Date

This project will be ready during the first stage of GCC 4.2.

Benefits

The patch improves SPEC FP on 2% (with -O2, as of May 2005). Aggressive inlining and loop unrolling help the patch to produce better results on SPEC INT. Detailed results are given in the abovementioned paper.

Dependencies

None.

Modifications Required

Target-independent parts of the patch modify the scheduler source files. A new flag and params are added for enabling and controlling speculation support. Target-dependent part includes new speculative instructions and pipeline descriptions in the ia64 backend, and ia64.c changes.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]