diff options
author | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-03-27 17:05:39 +0000 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-03-27 17:05:39 +0000 |
commit | 4fd5d1477b221fc7daf2b7f1c7e4ee4f04ceaced (patch) | |
tree | 09bb777aaf76e667272dfe7594fd852904ae5b7f /test/packetmath.cpp | |
parent | 393dbd8ee9454f2d43a4cf654eb4fe1988e68cc8 (diff) |
Fix packetmath test build for AVX.
Diffstat (limited to 'test/packetmath.cpp')
-rw-r--r-- | test/packetmath.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 96aeb8e29..5d38ce6b4 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -50,17 +50,19 @@ struct test_cast_helper<FromScalar, FromPacket, ToScalar, ToPacket, true> { template<typename FromPacket, typename ToScalar> void test_cast() { + typedef typename internal::unpacket_traits<FromPacket>::type FromScalar; + typedef typename internal::packet_traits<FromScalar> FromPacketTraits; typedef typename internal::packet_traits<ToScalar>::type Full; typedef typename internal::unpacket_traits<Full>::half Half; typedef typename internal::unpacket_traits<typename internal::unpacket_traits<Full>::half>::half Quarter; static const int PacketSize = internal::unpacket_traits<FromPacket>::size; static const bool CanCast = - PacketSize == internal::unpacket_traits<Full>::size || + FromPacketTraits::HasCast && + (PacketSize == internal::unpacket_traits<Full>::size || PacketSize == internal::unpacket_traits<Half>::size || - PacketSize == internal::unpacket_traits<Quarter>::size; + PacketSize == internal::unpacket_traits<Quarter>::size); - typedef typename internal::unpacket_traits<FromPacket>::type FromScalar; typedef typename internal::conditional<internal::unpacket_traits<Quarter>::size == PacketSize, Quarter, typename internal::conditional<internal::unpacket_traits<Half>::size == PacketSize, Half, Full>::type>::type ToPacket; |