https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96912
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> --- With consistent types, we recognize a VEC_COND_EXPR. With inconsistent types, I guess we would need to reinterpret x and y as v16i8, and reinterpret the result back to v2i64. (please keep #include <stdint.h> in your testcases so we can just copy-paste and compile them, or use long long instead of int64_t)