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.