mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
pbroadcast4/2 assume aligned memory
This commit is contained in:
parent
c9788d55b9
commit
7388fdf560
@ -171,12 +171,11 @@ template<typename Scalar> void packetmath()
|
|||||||
VERIFY(areApprox(ref, data2, PacketSize) && "internal::pset1");
|
VERIFY(areApprox(ref, data2, PacketSize) && "internal::pset1");
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int offset=0;offset<3;++offset)
|
|
||||||
{
|
{
|
||||||
for (int i=0; i<PacketSize*4; ++i)
|
for (int i=0; i<PacketSize*4; ++i)
|
||||||
ref[i] = data1[offset+i/PacketSize];
|
ref[i] = data1[i/PacketSize];
|
||||||
Packet A0, A1, A2, A3;
|
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+0*PacketSize, A0);
|
||||||
internal::pstore(data2+1*PacketSize, A1);
|
internal::pstore(data2+1*PacketSize, A1);
|
||||||
internal::pstore(data2+2*PacketSize, A2);
|
internal::pstore(data2+2*PacketSize, A2);
|
||||||
@ -184,12 +183,11 @@ template<typename Scalar> void packetmath()
|
|||||||
VERIFY(areApprox(ref, data2, 4*PacketSize) && "internal::pbroadcast4");
|
VERIFY(areApprox(ref, data2, 4*PacketSize) && "internal::pbroadcast4");
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int offset=0;offset<3;++offset)
|
|
||||||
{
|
{
|
||||||
for (int i=0; i<PacketSize*2; ++i)
|
for (int i=0; i<PacketSize*2; ++i)
|
||||||
ref[i] = data1[offset+i/PacketSize];
|
ref[i] = data1[i/PacketSize];
|
||||||
Packet A0, A1, A2, A3;
|
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+0*PacketSize, A0);
|
||||||
internal::pstore(data2+1*PacketSize, A1);
|
internal::pstore(data2+1*PacketSize, A1);
|
||||||
VERIFY(areApprox(ref, data2, 2*PacketSize) && "internal::pbroadcast2");
|
VERIFY(areApprox(ref, data2, 2*PacketSize) && "internal::pbroadcast2");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user