problems with vector code

That would probably be because you're compiling for x86-64 and the x86-64 ABI handling code canonicalizes vector types to <2 x double> for argument passing.

Nate

That would probably be because you're compiling for x86-64 and the x86-64 ABI handling code canonicalizes vector types to<2 x double> for argument passing.
   

but what happens to the rest of the elements?

-Jochen

In the example given, a <4 x float> was being passed as a <2 x double> . They are both 128 bits, and if the example had continued on, you’d have seen a bit convert from <2 x double> to <4 x float> in the entry block of the function, converting it back to its appropriate type without any loss of data.

Cheers,
Nate