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:
@@ -2708,147 +2708,6 @@ template<> EIGEN_STRONG_INLINE bool predux_any(const Packet4f& x)
|
||||
return vget_lane_u32(vpmax_u32(tmp, tmp), 0);
|
||||
}
|
||||
|
||||
// this PALIGN_NEON business is to work around a bug in LLVM Clang 3.0 causing incorrect compilation errors,
|
||||
// see bug 347 and this LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=11074
|
||||
#define PALIGN_NEON(Offset,Type,Command) \
|
||||
template<>\
|
||||
struct palign_impl<Offset,Type>\
|
||||
{\
|
||||
EIGEN_STRONG_INLINE static void run(Type& first, const Type& second)\
|
||||
{\
|
||||
if (Offset!=0)\
|
||||
first = Command(first, second, Offset);\
|
||||
}\
|
||||
};\
|
||||
|
||||
template<typename T>
|
||||
EIGEN_STRONG_INLINE T palign_4c(const T& first, const T &second, const int n)
|
||||
{
|
||||
return static_cast<T>((static_cast<uint32_t>(second) << (32 - n * 8)) | (static_cast<uint32_t>(first) >> (n * 8)));
|
||||
}
|
||||
|
||||
PALIGN_NEON(0, Packet2f, vext_f32)
|
||||
PALIGN_NEON(1, Packet2f, vext_f32)
|
||||
|
||||
PALIGN_NEON(0, Packet4f, vextq_f32)
|
||||
PALIGN_NEON(1, Packet4f, vextq_f32)
|
||||
PALIGN_NEON(2, Packet4f, vextq_f32)
|
||||
PALIGN_NEON(3, Packet4f, vextq_f32)
|
||||
|
||||
PALIGN_NEON(0, Packet4c, palign_4c)
|
||||
PALIGN_NEON(1, Packet4c, palign_4c)
|
||||
PALIGN_NEON(2, Packet4c, palign_4c)
|
||||
PALIGN_NEON(3, Packet4c, palign_4c)
|
||||
|
||||
PALIGN_NEON(0, Packet8c, vext_s8)
|
||||
PALIGN_NEON(1, Packet8c, vext_s8)
|
||||
PALIGN_NEON(2, Packet8c, vext_s8)
|
||||
PALIGN_NEON(3, Packet8c, vext_s8)
|
||||
PALIGN_NEON(4, Packet8c, vext_s8)
|
||||
PALIGN_NEON(5, Packet8c, vext_s8)
|
||||
PALIGN_NEON(6, Packet8c, vext_s8)
|
||||
PALIGN_NEON(7, Packet8c, vext_s8)
|
||||
|
||||
PALIGN_NEON(0, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(1, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(2, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(3, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(4, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(5, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(6, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(7, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(8, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(9, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(10, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(11, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(12, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(13, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(14, Packet16c, vextq_s8)
|
||||
PALIGN_NEON(15, Packet16c, vextq_s8)
|
||||
|
||||
PALIGN_NEON(0, Packet4uc, palign_4c)
|
||||
PALIGN_NEON(1, Packet4uc, palign_4c)
|
||||
PALIGN_NEON(2, Packet4uc, palign_4c)
|
||||
PALIGN_NEON(3, Packet4uc, palign_4c)
|
||||
|
||||
PALIGN_NEON(0, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(1, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(2, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(3, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(4, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(5, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(6, Packet8uc, vext_u8)
|
||||
PALIGN_NEON(7, Packet8uc, vext_u8)
|
||||
|
||||
PALIGN_NEON(0, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(1, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(2, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(3, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(4, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(5, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(6, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(7, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(8, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(9, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(10, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(11, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(12, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(13, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(14, Packet16uc, vextq_u8)
|
||||
PALIGN_NEON(15, Packet16uc, vextq_u8)
|
||||
|
||||
PALIGN_NEON(0, Packet4s, vext_s16)
|
||||
PALIGN_NEON(1, Packet4s, vext_s16)
|
||||
PALIGN_NEON(2, Packet4s, vext_s16)
|
||||
PALIGN_NEON(3, Packet4s, vext_s16)
|
||||
|
||||
PALIGN_NEON(0, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(1, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(2, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(3, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(4, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(5, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(6, Packet8s, vextq_s16)
|
||||
PALIGN_NEON(7, Packet8s, vextq_s16)
|
||||
|
||||
PALIGN_NEON(0, Packet4us, vext_u16)
|
||||
PALIGN_NEON(1, Packet4us, vext_u16)
|
||||
PALIGN_NEON(2, Packet4us, vext_u16)
|
||||
PALIGN_NEON(3, Packet4us, vext_u16)
|
||||
|
||||
PALIGN_NEON(0, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(1, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(2, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(3, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(4, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(5, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(6, Packet8us, vextq_u16)
|
||||
PALIGN_NEON(7, Packet8us, vextq_u16)
|
||||
|
||||
PALIGN_NEON(0, Packet2i, vext_s32)
|
||||
PALIGN_NEON(1, Packet2i, vext_s32)
|
||||
|
||||
PALIGN_NEON(0, Packet4i, vextq_s32)
|
||||
PALIGN_NEON(1, Packet4i, vextq_s32)
|
||||
PALIGN_NEON(2, Packet4i, vextq_s32)
|
||||
PALIGN_NEON(3, Packet4i, vextq_s32)
|
||||
|
||||
PALIGN_NEON(0, Packet2ui, vext_u32)
|
||||
PALIGN_NEON(1, Packet2ui, vext_u32)
|
||||
|
||||
PALIGN_NEON(0, Packet4ui, vextq_u32)
|
||||
PALIGN_NEON(1, Packet4ui, vextq_u32)
|
||||
PALIGN_NEON(2, Packet4ui, vextq_u32)
|
||||
PALIGN_NEON(3, Packet4ui, vextq_u32)
|
||||
|
||||
PALIGN_NEON(0, Packet2l, vextq_s64)
|
||||
PALIGN_NEON(1, Packet2l, vextq_s64)
|
||||
|
||||
PALIGN_NEON(0, Packet2ul, vextq_u64)
|
||||
PALIGN_NEON(1, Packet2ul, vextq_u64)
|
||||
|
||||
#undef PALIGN_NEON
|
||||
|
||||
EIGEN_DEVICE_FUNC inline void ptranspose(PacketBlock<Packet2f, 2>& kernel)
|
||||
{
|
||||
const float32x2x2_t z = vzip_f32(kernel.packet[0], kernel.packet[1]);
|
||||
@@ -3563,22 +3422,6 @@ template<> EIGEN_STRONG_INLINE double predux_min<Packet2d>(const Packet2d& a)
|
||||
template<> EIGEN_STRONG_INLINE double predux_max<Packet2d>(const Packet2d& a)
|
||||
{ return vgetq_lane_f64(vpmaxq_f64(a,a), 0); }
|
||||
|
||||
// this PALIGN_NEON business is to work around a bug in LLVM Clang 3.0 causing incorrect compilation errors,
|
||||
// see bug 347 and this LLVM bug: http://llvm.org/bugs/show_bug.cgi?id=11074
|
||||
#define PALIGN_NEON(Offset,Type,Command) \
|
||||
template<>\
|
||||
struct palign_impl<Offset,Type>\
|
||||
{\
|
||||
EIGEN_STRONG_INLINE static void run(Type& first, const Type& second)\
|
||||
{\
|
||||
if (Offset!=0)\
|
||||
first = Command(first, second, Offset);\
|
||||
}\
|
||||
};\
|
||||
|
||||
PALIGN_NEON(0, Packet2d, vextq_f64)
|
||||
PALIGN_NEON(1, Packet2d, vextq_f64)
|
||||
#undef PALIGN_NEON
|
||||
|
||||
EIGEN_DEVICE_FUNC inline void
|
||||
ptranspose(PacketBlock<Packet2d, 2>& kernel)
|
||||
|
||||
Reference in New Issue
Block a user