More code is vectorized, got slower, sad :'(
This commit is contained in:
5
vec.cpp
5
vec.cpp
@@ -7,6 +7,7 @@ union Vec8{
|
||||
force_inline F32 &operator[](S64 i){ return e[i]; }
|
||||
};
|
||||
|
||||
Vec8 loadu8(void *m){ return {_mm256_loadu_ps((const float *)m)}; }
|
||||
Vec8 vec8(F32 x){return {_mm256_set1_ps(x)}; }
|
||||
Vec8 vec8(F32 a, F32 b, F32 c, F32 d, F32 e, F32 f, F32 g, F32 h){ return {_mm256_set_ps(h, g, f, e, d, c, b, a)}; }
|
||||
Vec8 operator+(Vec8 a, Vec8 b){ return {_mm256_add_ps(a.simd, b.simd)}; }
|
||||
@@ -17,8 +18,8 @@ Vec8 operator+=(Vec8 &a, Vec8 b){ a = a + b; return a; }
|
||||
Vec8 operator-=(Vec8 &a, Vec8 b){ a = a - b; return a; }
|
||||
Vec8 operator>=(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_GE_OQ)}; }
|
||||
Vec8 operator<=(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_LE_OQ)}; }
|
||||
// Vec8 operator<(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_LE)}; }
|
||||
// Vec8 operator>(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_GE)}; }
|
||||
Vec8 operator<(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_LT_OQ)}; }
|
||||
Vec8 operator>(Vec8 a, Vec8 b){ return {_mm256_cmp_ps(a.simd, b.simd, _CMP_GT_OQ)}; }
|
||||
Vec8 operator&(Vec8 a, Vec8 b){ return {_mm256_and_ps(a.simd, b.simd)}; }
|
||||
|
||||
union Vec8I{
|
||||
|
||||
Reference in New Issue
Block a user