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