mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 19:29:02 +08:00
Fix big in vectorized casting of
{uint8, int8} -> {int16, uint16, int32, uint32, float} {uint16, int16} -> {int32, uint32, int64, uint64, float} for NEON. These conversions were advertised as vectorized, but not actually implemented.
This commit is contained in:
parent
b1aa07a8d3
commit
1d674003b2
@ -31,31 +31,31 @@ template<> struct type_casting_traits<float,numext::int64_t>
|
||||
template<> struct type_casting_traits<float,numext::uint64_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,float>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,numext::uint8_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,numext::int16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,numext::uint16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,numext::int32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int8_t,numext::uint32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,float>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,numext::int8_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,numext::int16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_cas0ing_traits<numext::uint8_t,numext::int16_t>
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,numext::uint16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,numext::int32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint8_t,numext::uint32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,float>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::int8_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::uint8_t>
|
||||
@ -63,15 +63,15 @@ template<> struct type_casting_traits<numext::int16_t,numext::uint8_t>
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::uint16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::int32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::uint32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::int64_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int16_t,numext::uint64_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,float>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::int8_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::uint8_t>
|
||||
@ -79,13 +79,13 @@ template<> struct type_casting_traits<numext::uint16_t,numext::uint8_t>
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::int16_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::int32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::uint32_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::int64_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::uint16_t,numext::uint64_t>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
{ enum { VectorizedCast = 0, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int32_t,float>
|
||||
{ enum { VectorizedCast = 1, SrcCoeffRatio = 1, TgtCoeffRatio = 1 }; };
|
||||
template<> struct type_casting_traits<numext::int32_t,numext::int8_t>
|
||||
|
Loading…
x
Reference in New Issue
Block a user