add missing overloads for vec_orc:
vector double vec_orc (vector bool long long, vector double);
vector double vec_orc (vector double, vector bool long long);
vector float vec_orc (vector bool int, vector float);
vector float vec_orc (vector float, vector bool int);
and vec_nand:
vector double vec_nand (vector double, vector double);
vector float vec_nand (vector float, vector float);
@kbarton Using C-style cast here, violates strict aliasing. Is that correct? Could it lead to functional problems if someone compiles their code WITHOUT -fno-strict-aliasing while using this built-ins? For example if this built-in is used in a context where a and b are deferenced pointers? Note that this will be inlined.