mirror of
https://github.com/VectorCamp/vectorscan.git
synced 2025-11-17 01:41:51 +03:00
Shuffle simd and SuperVector implementetions as well as their test realy fixed
This commit is contained in:
committed by
apostolos
parent
789f723814
commit
4f53ec6b08
@@ -849,15 +849,22 @@ TEST(SimdUtilsTest, pshufb_m128) {
|
||||
}
|
||||
u8 vec2[16];
|
||||
for (int i=0; i<16; i++) {
|
||||
vec2[i]=i + (rand() % 16 + 0);
|
||||
}
|
||||
vec2[i]=i + (rand() % 15 + 0);
|
||||
}
|
||||
|
||||
m128 v1 = loadu128(vec);
|
||||
m128 v2 = loadu128(vec2);
|
||||
m128 vres = pshufb_m128(v1, v2);
|
||||
m128 vres = pshufb_m128(v1, v2);
|
||||
|
||||
u8 res[16];
|
||||
store128(res, vres);
|
||||
storeu128(res, vres);
|
||||
|
||||
for (int i=0; i<16; i++) {
|
||||
ASSERT_EQ(vec[vec2[i] % 16 ], res[i]);
|
||||
if(vec2[i] & 0x80){
|
||||
ASSERT_EQ(res[i], 0);
|
||||
}else{
|
||||
ASSERT_EQ(vec[vec2[i] % 16 ], res[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user