[GCC 4.2 Project] Support for IA-64 speculation

Andrey Belevantsev abel@ispras.ru
Fri Sep 2 12:38:00 GMT 2005


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.




More information about the Gcc mailing list