Is the code actually compiled with -fno-strict-aliasing (which IME is rare for userspace code, but I don't work with numerical code very much), or are you saying this is because of the types involved in the cast? I didn't see anything in [0] about a change in pointer semantics from using the vector extensions in the compilation unit?
[0]: https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html#Ve...