Fix incorrect NEON native fp16 multiplication.

This commit is contained in:
Antonio Sánchez
2022-12-19 20:46:44 +00:00
committed by Rasmus Munk Larsen
parent dd85d26946
commit bb6675caf7
3 changed files with 40 additions and 4 deletions

View File

@@ -2,7 +2,7 @@
namespace Eigen {
namespace internal {
#if EIGEN_ARCH_ARM && EIGEN_COMP_CLANG
// Clang seems to excessively spill registers in the GEBP kernel on 32-bit arm.
@@ -218,7 +218,9 @@ struct gebp_traits <half,half,false,false,Architecture::NEON>
EIGEN_STRONG_INLINE void loadRhsQuad(const RhsScalar* b, RhsPacket& dest) const
{
loadRhs(b,dest);
// If LHS is a Packet8h, we cannot correctly mimic a ploadquad of the RHS
// using a single scalar value.
eigen_assert(false && "Cannot loadRhsQuad for a scalar RHS.");
}
EIGEN_STRONG_INLINE void madd(const LhsPacket& a, const RhsPacket& b, AccPacket& c, RhsPacket& /*tmp*/, const FixedInt<0>&) const