mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
Remove unused packet op "palign".
Clean up a compiler warning in c++03 mode in AVX512/Complex.h.
This commit is contained in:
@@ -1524,176 +1524,6 @@ template<> EIGEN_STRONG_INLINE bool predux_any(const Packet4f& x)
|
||||
return vec_any_ne(x, pzero(x));
|
||||
}
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet4f>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet4f& first, const Packet4f& second)
|
||||
{
|
||||
#ifdef _BIG_ENDIAN
|
||||
switch (Offset % 4) {
|
||||
case 1:
|
||||
first = vec_sld(first, second, 4); break;
|
||||
case 2:
|
||||
first = vec_sld(first, second, 8); break;
|
||||
case 3:
|
||||
first = vec_sld(first, second, 12); break;
|
||||
}
|
||||
#else
|
||||
switch (Offset % 4) {
|
||||
case 1:
|
||||
first = vec_sld(second, first, 12); break;
|
||||
case 2:
|
||||
first = vec_sld(second, first, 8); break;
|
||||
case 3:
|
||||
first = vec_sld(second, first, 4); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet4i>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet4i& first, const Packet4i& second)
|
||||
{
|
||||
#ifdef _BIG_ENDIAN
|
||||
switch (Offset % 4) {
|
||||
case 1:
|
||||
first = vec_sld(first, second, 4); break;
|
||||
case 2:
|
||||
first = vec_sld(first, second, 8); break;
|
||||
case 3:
|
||||
first = vec_sld(first, second, 12); break;
|
||||
}
|
||||
#else
|
||||
switch (Offset % 4) {
|
||||
case 1:
|
||||
first = vec_sld(second, first, 12); break;
|
||||
case 2:
|
||||
first = vec_sld(second, first, 8); break;
|
||||
case 3:
|
||||
first = vec_sld(second, first, 4); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet8s>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet8s& first, const Packet8s& second)
|
||||
{
|
||||
#ifdef _BIG_ENDIAN
|
||||
switch (Offset % 8) {
|
||||
case 1:
|
||||
first = vec_sld(first, second, 2); break;
|
||||
case 2:
|
||||
first = vec_sld(first, second, 4); break;
|
||||
case 3:
|
||||
first = vec_sld(first, second, 6); break;
|
||||
case 4:
|
||||
first = vec_sld(first, second, 8); break;
|
||||
case 5:
|
||||
first = vec_sld(first, second, 10); break;
|
||||
case 6:
|
||||
first = vec_sld(first, second, 12); break;
|
||||
case 7:
|
||||
first = vec_sld(first, second, 14); break;
|
||||
}
|
||||
#else
|
||||
switch (Offset % 8) {
|
||||
case 1:
|
||||
first = vec_sld(second, first, 14); break;
|
||||
case 2:
|
||||
first = vec_sld(second, first, 12); break;
|
||||
case 3:
|
||||
first = vec_sld(second, first, 10); break;
|
||||
case 4:
|
||||
first = vec_sld(second, first, 8); break;
|
||||
case 5:
|
||||
first = vec_sld(second, first, 6); break;
|
||||
case 6:
|
||||
first = vec_sld(second, first, 4); break;
|
||||
case 7:
|
||||
first = vec_sld(second, first, 2); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet8us>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet8us& first, const Packet8us& second)
|
||||
{
|
||||
#ifdef _BIG_ENDIAN
|
||||
switch (Offset % 8) {
|
||||
case 1:
|
||||
first = vec_sld(first, second, 2); break;
|
||||
case 2:
|
||||
first = vec_sld(first, second, 4); break;
|
||||
case 3:
|
||||
first = vec_sld(first, second, 6); break;
|
||||
case 4:
|
||||
first = vec_sld(first, second, 8); break;
|
||||
case 5:
|
||||
first = vec_sld(first, second, 10); break;
|
||||
case 6:
|
||||
first = vec_sld(first, second, 12); break;
|
||||
case 7:
|
||||
first = vec_sld(first, second, 14); break;
|
||||
}
|
||||
#else
|
||||
switch (Offset % 8) {
|
||||
case 1:
|
||||
first = vec_sld(second, first, 14); break;
|
||||
case 2:
|
||||
first = vec_sld(second, first, 12); break;
|
||||
case 3:
|
||||
first = vec_sld(second, first, 10); break;
|
||||
case 4:
|
||||
first = vec_sld(second, first, 8); break;
|
||||
case 5:
|
||||
first = vec_sld(second, first, 6); break;
|
||||
case 6:
|
||||
first = vec_sld(second, first, 4); break;
|
||||
case 7:
|
||||
first = vec_sld(second, first, 2); break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet16c>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet16c& first, const Packet16c& second)
|
||||
{
|
||||
const int shift = Offset % 16;
|
||||
if ( shift == 0 ) return;
|
||||
#ifdef _BIG_ENDIAN
|
||||
first = vec_sld(first, second, shift);
|
||||
#else
|
||||
first = vec_sld(first, second, shift);
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet16uc>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet16uc& first, const Packet16uc& second)
|
||||
{
|
||||
const int shift = Offset % 16;
|
||||
if ( shift == 0 ) return;
|
||||
#ifdef _BIG_ENDIAN
|
||||
first = vec_sld(first, second, shift);
|
||||
#else
|
||||
first = vec_sld(first, second, shift);
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
EIGEN_DEVICE_FUNC inline void
|
||||
ptranspose(PacketBlock<Packet4f,4>& kernel) {
|
||||
Packet4f t0, t1, t2, t3;
|
||||
@@ -2362,20 +2192,6 @@ template<> EIGEN_STRONG_INLINE double predux_max<Packet2d>(const Packet2d& a)
|
||||
return pfirst(pmax(a, reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4ui>(a), reinterpret_cast<Packet4ui>(a), 8))));
|
||||
}
|
||||
|
||||
template<int Offset>
|
||||
struct palign_impl<Offset,Packet2d>
|
||||
{
|
||||
static EIGEN_STRONG_INLINE void run(Packet2d& first, const Packet2d& second)
|
||||
{
|
||||
if (Offset == 1)
|
||||
#ifdef _BIG_ENDIAN
|
||||
first = reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4ui>(first), reinterpret_cast<Packet4ui>(second), 8));
|
||||
#else
|
||||
first = reinterpret_cast<Packet2d>(vec_sld(reinterpret_cast<Packet4ui>(second), reinterpret_cast<Packet4ui>(first), 8));
|
||||
#endif
|
||||
}
|
||||
};
|
||||
|
||||
EIGEN_DEVICE_FUNC inline void
|
||||
ptranspose(PacketBlock<Packet2d,2>& kernel) {
|
||||
Packet2d t0, t1;
|
||||
|
||||
Reference in New Issue
Block a user