Add the following byte reverse functions in altivec.h
vector bool char vec_revb (vector bool char);
vector signed char vec_revb (vector signed char);
vector unsigned char vec_revb (vector unsigned char);
vector bool int vec_revb (vector bool int);
vector signed int vec_revb (vector signed int);
vector unsigned int vec_revb (vector unsigned int);
vector signed int128 vec_revb (vector signed int128);
vector unsigned int128 vec_revb (vector unsigned int128);
vector bool long long vec_revb (vector bool long long);
vector signed long long vec_revb (vector signed long long);
vector unsigned long long vec_revb (vector unsigned long long);
vector bool short vec_revb (vector bool short);
vector signed short vec_revb (vector signed short);
vector unsigned short vec_revb (vector unsigned short);
vector double vec_revb (vector double);
vector float vec_revb (vector float);
The return value is a vector where each element contains the corresponding byte-reversed vector element of the input vector.
This is minor and can just be done on the commit, but I don't think this regex portion is needed. I'd just make these check lines:
//CHECK-LE: xor <16 x i8>