1--- a/Eigen/src/Core/arch/NEON/PacketMath.h 2+++ b/Eigen/src/Core/arch/NEON/PacketMath.h 3@@ -1668,7 +1668,7 @@ 4 template<> EIGEN_STRONG_INLINE Packet4c pload<Packet4c>(const int8_t* from) 5 { 6 Packet4c res; 7- memcpy(&res, from, sizeof(Packet4c)); 8+ memcpy(static_cast<void *>(&res), from, sizeof(Packet4c)); 9 return res; 10 } 11 template<> EIGEN_STRONG_INLINE Packet8c pload<Packet8c>(const int8_t* from) 12@@ -1678,7 +1678,7 @@ 13 template<> EIGEN_STRONG_INLINE Packet4uc pload<Packet4uc>(const uint8_t* from) 14 { 15 Packet4uc res; 16- memcpy(&res, from, sizeof(Packet4uc)); 17+ memcpy(static_cast<void *>(&res), from, sizeof(Packet4uc)); 18 return res; 19 } 20 template<> EIGEN_STRONG_INLINE Packet8uc pload<Packet8uc>(const uint8_t* from) 21@@ -1713,7 +1713,7 @@ 22 template<> EIGEN_STRONG_INLINE Packet4c ploadu<Packet4c>(const int8_t* from) 23 { 24 Packet4c res; 25- memcpy(&res, from, sizeof(Packet4c)); 26+ memcpy(static_cast<void *>(&res), from, sizeof(Packet4c)); 27 return res; 28 } 29 template<> EIGEN_STRONG_INLINE Packet8c ploadu<Packet8c>(const int8_t* from) 30@@ -1723,7 +1723,7 @@ 31 template<> EIGEN_STRONG_INLINE Packet4uc ploadu<Packet4uc>(const uint8_t* from) 32 { 33 Packet4uc res; 34- memcpy(&res, from, sizeof(Packet4uc)); 35+ memcpy(static_cast<void *>(&res), from, sizeof(Packet4uc)); 36 return res; 37 } 38 template<> EIGEN_STRONG_INLINE Packet8uc ploadu<Packet8uc>(const uint8_t* from)