Use vec_revb when POWER9 is available
parent
4020ba7058
commit
39aaec7c59
|
|
@ -123,8 +123,12 @@ inline uint32x4_p VecOne()
|
||||||
template <class T>
|
template <class T>
|
||||||
inline T VecReverse(const T data)
|
inline T VecReverse(const T data)
|
||||||
{
|
{
|
||||||
|
#if (_ARCH_PWR9)
|
||||||
|
return (T)vec_revb((uint8x16_p)data);
|
||||||
|
#else
|
||||||
const uint8x16_p mask = {15,14,13,12, 11,10,9,8, 7,6,5,4, 3,2,1,0};
|
const uint8x16_p mask = {15,14,13,12, 11,10,9,8, 7,6,5,4, 3,2,1,0};
|
||||||
return (T)vec_perm(data, data, mask);
|
return (T)vec_perm(data, data, mask);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////// Loads ////////////////////////
|
//////////////////////// Loads ////////////////////////
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue