https://issues.dlang.org/show_bug.cgi?id=24125
--- Comment #2 from Walter Bright <bugzi...@digitalmars.com> --- Looks like there are two problems. The first is: typedef float __m128 __attribute__ ((__vector_size__ (16), __may_alias__)); This doesn't recognize __m128 as a vector. But this works: typedef float __attribute__ ((__vector_size__ (16), __may_alias__)) __m128; Now __m128 is recognized as a vector. Then it goes on to fail with: Error: cannot implicitly convert expression `[0.0F, 0.0F, 0.0F, 0.0F]` of type `float*` to `__vector(float[4])` --