Not as if it gives noticeable changes render-time, but it's just weird to convert float4 to float 3 to just access individual x/y/z components. Plus some compilers might be more stupid than GCC and don't optimize this out well.