Vectorizer question
Tim Prince
n8tm@aol.com
Thu May 17 04:09:00 GMT 2012
On 5/16/2012 4:01 PM, Iyer, Balaji V wrote:
> 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.
Is this about vector extensions to C, or about other languages such as
C++ or Fortran? In Fortran, it's definitely an array of logical, in the
case where the compiler can't optimize it away. This would more likely
be written
return x==y ? x+y : x-y;
--
Tim Prince
More information about the Gcc
mailing list