Hi James, LLVM converts 128 bit vector types into 2x64 bit types (and vice versa) for the sake of function argument passing. That's the reason behind these bit conversions. I don't see any benefit in handling other types of vector conversions. Thanks, Christian http://reviews.llvm.org/D3424