diff options
author | 2011-02-24 00:22:10 +0300 | |
---|---|---|
committer | 2011-02-24 00:22:10 +0300 | |
commit | 4bfe38eda2c95a1294788b11df82231e7e9078eb (patch) | |
tree | f6eb3c716bb1aff6bc2e3818b5b6b2b70c44dae0 /test | |
parent | 23aae0d63edcfc883e0f3a4d037d51a2affc3985 (diff) |
extend testing of ploaddup
Diffstat (limited to 'test')
-rw-r--r-- | test/packetmath.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp index a804e8e73..48f80d9db 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -173,7 +173,7 @@ template<typename Scalar> void packetmath() CHECK_CWISE1(internal::negate, internal::pnegate); CHECK_CWISE1(internal::conj, internal::pconj); - for(int offset=0;offset<3) + for(int offset=0;offset<3;++offset) { for (int i=0; i<PacketSize; ++i) ref[i] = data1[offset]; @@ -185,10 +185,13 @@ template<typename Scalar> void packetmath() if(PacketSize>1) { - for(int i=0;i<PacketSize/2;++i) - ref[2*i+0] = ref[2*i+1] = data1[i]; - internal::pstore(data2,internal::ploaddup<Packet>(data1)); - VERIFY(areApprox(ref, data2, PacketSize) && "ploaddup"); + for(int offset=0;offset<4;++offset) + { + for(int i=0;i<PacketSize/2;++i) + ref[2*i+0] = ref[2*i+1] = data1[offset+i]; + internal::pstore(data2,internal::ploaddup<Packet>(data1+offset)); + VERIFY(areApprox(ref, data2, PacketSize) && "ploaddup"); + } } ref[0] = 0; |