mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-15 14:16:07 -06:00
Core: SIMD Test renamed to AllTrue to avoid name clashes
git-svn-id: svn://ultimatepp.org/upp/trunk@14657 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
9bc2c7a81c
commit
8b751adbc3
2 changed files with 6 additions and 6 deletions
|
|
@ -313,7 +313,7 @@ bool memeq8__(const void *p, const void *q, size_t len)
|
|||
|
||||
auto Cmp128 = [&](size_t at) { return i16x8(s + at) == i16x8(t + at); };
|
||||
|
||||
if(!Test(Cmp128(len - 16) & Cmp128(0))) // tail & alignment, also <= 32
|
||||
if(!AllTrue(Cmp128(len - 16) & Cmp128(0))) // tail & alignment, also <= 32
|
||||
return false;
|
||||
|
||||
if(len <= 32)
|
||||
|
|
@ -327,13 +327,13 @@ bool memeq8__(const void *p, const void *q, size_t len)
|
|||
len = e - t;
|
||||
e -= 32;
|
||||
while(t <= e) {
|
||||
if(!Test(Cmp128(0) & Cmp128(1*16)))
|
||||
if(!AllTrue(Cmp128(0) & Cmp128(1*16)))
|
||||
return false;
|
||||
s += 32;
|
||||
t += 32;
|
||||
}
|
||||
if(len & 16)
|
||||
if(!Test(Cmp128(0)))
|
||||
if(!AllTrue(Cmp128(0)))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ force_inline f32x4 operator<(f32x4 a, f32x4 b) { return _mm_cmplt_ps(a.data,
|
|||
force_inline f32x4 operator>(f32x4 a, f32x4 b) { return _mm_cmpgt_ps(a.data, b.data); }
|
||||
force_inline f32x4 operator<=(f32x4 a, f32x4 b) { return _mm_cmple_ps(a.data, b.data); }
|
||||
force_inline f32x4 operator>=(f32x4 a, f32x4 b) { return _mm_cmpge_ps(a.data, b.data); }
|
||||
force_inline bool Test(f32x4 a) { return _mm_movemask_ps(a.data) == 0xf; }
|
||||
force_inline bool AllTrue(f32x4 a) { return _mm_movemask_ps(a.data) == 0xf; }
|
||||
|
||||
force_inline f32x4 min(f32x4 a, f32x4 b) { return _mm_min_ps(a.data, b.data); }
|
||||
force_inline f32x4 max(f32x4 a, f32x4 b) { return _mm_max_ps(a.data, b.data); }
|
||||
|
|
@ -94,7 +94,7 @@ force_inline i16x8& operator<<=(i16x8& a, int b) { return a = a << b; }
|
|||
force_inline i16x8 operator==(i16x8 a, i16x8 b) { return _mm_cmpeq_epi16(a.data, b.data); }
|
||||
force_inline i16x8 operator<(i16x8 a, i16x8 b) { return _mm_cmplt_epi16(a.data, b.data); }
|
||||
force_inline i16x8 operator>(i16x8 a, i16x8 b) { return _mm_cmpgt_epi16(a.data, b.data); }
|
||||
force_inline bool Test(i16x8 a) { return _mm_movemask_epi8(a.data) == 0xffff; }
|
||||
force_inline bool AllTrue(i16x8 a) { return _mm_movemask_epi8(a.data) == 0xffff; }
|
||||
|
||||
struct i32x4 : i16x8 { // 4xint32
|
||||
i32x4() {}
|
||||
|
|
@ -128,7 +128,7 @@ force_inline i32x4& operator<<=(i32x4& a, int b) { return a = a << b; }
|
|||
force_inline i32x4 operator==(i32x4 a, i32x4 b) { return _mm_cmpeq_epi32(a.data, b.data); }
|
||||
force_inline i32x4 operator<(i32x4 a, i32x4 b) { return _mm_cmplt_epi32(a.data, b.data); }
|
||||
force_inline i32x4 operator>(i32x4 a, i32x4 b) { return _mm_cmpgt_epi32(a.data, b.data); }
|
||||
force_inline bool Test(i32x4 a) { return _mm_movemask_epi8(a.data) == 0xffff; }
|
||||
force_inline bool AllTrue(i32x4 a) { return _mm_movemask_epi8(a.data) == 0xffff; }
|
||||
|
||||
struct i8x16 : i16x8 { // 16xint8
|
||||
i8x16() {}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue