pbroadcast4/2 assume aligned memory

This commit is contained in:
Gael Guennebaud 2014-04-25 02:46:22 -07:00
parent c9788d55b9
commit 7388fdf560

View File

@ -171,12 +171,11 @@ template<typename Scalar> void packetmath()
VERIFY(areApprox(ref, data2, PacketSize) && "internal::pset1");
}
for(int offset=0;offset<3;++offset)
{
for (int i=0; i<PacketSize*4; ++i)
ref[i] = data1[offset+i/PacketSize];
ref[i] = data1[i/PacketSize];
Packet A0, A1, A2, A3;
internal::pbroadcast4<Packet>(&data1[offset], A0, A1, A2, A3);
internal::pbroadcast4<Packet>(data1, A0, A1, A2, A3);
internal::pstore(data2+0*PacketSize, A0);
internal::pstore(data2+1*PacketSize, A1);
internal::pstore(data2+2*PacketSize, A2);
@ -184,12 +183,11 @@ template<typename Scalar> void packetmath()
VERIFY(areApprox(ref, data2, 4*PacketSize) && "internal::pbroadcast4");
}
for(int offset=0;offset<3;++offset)
{
for (int i=0; i<PacketSize*2; ++i)
ref[i] = data1[offset+i/PacketSize];
ref[i] = data1[i/PacketSize];
Packet A0, A1, A2, A3;
internal::pbroadcast2<Packet>(&data1[offset], A0, A1);
internal::pbroadcast2<Packet>(data1, A0, A1);
internal::pstore(data2+0*PacketSize, A0);
internal::pstore(data2+1*PacketSize, A1);
VERIFY(areApprox(ref, data2, 2*PacketSize) && "internal::pbroadcast2");