Transformations to increase parallelism

Jan Hoogerbrugge hoogerbrugge@hotmail.com
Mon Jul 21 13:43:00 GMT 2003


Hi,

Are there optimizations in gcc that increase instruction level parallelism? 
For example:

void foo(int *p, int a)
{
        a += 2;
        p[0] = a;
        a += 2;
        p[1] = a;
}

compiles to

        add a, 2 -> tmp1
        store p[0], tmp1
        add tmp1, 2 -> tmp2
        store p[1], tmp2

However, a more parallel translation would be:

        add a, 2 -> tmp1
        store p[0], tmp1
        add a, 4 -> tmp2
        store p[1], tmp2

In this case the two adds and the two stores can be executed in parallel.

Jan

_________________________________________________________________
Protect your PC - get McAfee.com VirusScan Online 
http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963



More information about the Gcc mailing list