If both X & Y are vectors, GCC will report error (at least on our port based on 
4.5)
as invalid operands to ==.  Not sure if it is extended for 4.7.

Bingfeng

-----Original Message-----
From: gcc-ow...@gcc.gnu.org [mailto:gcc-ow...@gcc.gnu.org] On Behalf Of Iyer, 
Balaji V
Sent: 17 May 2012 00:01
To: 'gcc@gcc.gnu.org'
Subject: Vectorizer question

Hello Everyone,
        I have a question regarding the vectorizer. In the following code 
below...

Int func (int x, int y)
{
        If (x==y)
                Return (x+y);
        Else
                Return (x-y);
}

If we force the x and y to be vectors of vectorlength 4, then will the 
if-statement get a vector of booleans or does it get 1 boolean that compares 2 
very large values? I guess another way to ask is that, will it logically break 
it up into 4 if-statements or just 1?

Any help is greatly appreciated!

Thanks,

Balaji V. Iyer.

PS. Please CC me in response  so that I can get to it quickly.


Reply via email to