Fix errors on older compilers (gcc 7.5 - lack of vec_neg, clang10 - can not use const pointers with vec_xl).

This commit is contained in:
ChipKerchner 2021-08-10 15:03:18 -05:00
parent e3e74001f7
commit 413bc491f1
2 changed files with 5 additions and 5 deletions

View File

@ -74,7 +74,7 @@ struct Packet2cf
return Packet2cf(*this) -= b;
}
EIGEN_STRONG_INLINE Packet2cf operator-(void) const {
return Packet2cf(vec_neg(v));
return Packet2cf(-v);
}
Packet4f v;
@ -291,7 +291,7 @@ struct Packet1cd
return Packet1cd(*this) -= b;
}
EIGEN_STRONG_INLINE Packet1cd operator-(void) const {
return Packet1cd(vec_neg(v));
return Packet1cd(-v);
}
Packet2d v;

View File

@ -433,7 +433,7 @@ EIGEN_STRONG_INLINE Packet pload_common(const __UNPACK_TYPE__(Packet)* from)
EIGEN_UNUSED_VARIABLE(from);
EIGEN_DEBUG_ALIGNED_LOAD
#ifdef __VSX__
return vec_xl(0, from);
return vec_xl(0, const_cast<__UNPACK_TYPE__(Packet)*>(from));
#else
return vec_ld(0, from);
#endif
@ -952,7 +952,7 @@ template<typename Packet> EIGEN_STRONG_INLINE Packet ploadu_common(const __UNPAC
return (Packet) vec_perm(MSQ, LSQ, mask); // align the data
#else
EIGEN_DEBUG_UNALIGNED_LOAD
return vec_xl(0, from);
return vec_xl(0, const_cast<__UNPACK_TYPE__(Packet)*>(from));
#endif
}
@ -2453,7 +2453,7 @@ template<> EIGEN_STRONG_INLINE Packet2d print<Packet2d>(const Packet2d& a)
template<> EIGEN_STRONG_INLINE Packet2d ploadu<Packet2d>(const double* from)
{
EIGEN_DEBUG_UNALIGNED_LOAD
return vec_xl(0, from);
return vec_xl(0, const_cast<double*>(from));
}
template<> EIGEN_STRONG_INLINE Packet2d ploaddup<Packet2d>(const double* from)