Simd improvement

- Add simd aligned_vec3 (and sse aligned_dvec3 - 2 x xmm)
- Fast packed_vec3 <=> aligned_vec3 and packed_vec4 <=> aligned_vec4 conversion
- Fast aligned_vec3 <=> aligned_vec4 conversion
- Optimized aligned_mat x aligned_mat and aligned_mat x aligned_vec
- Inverse aligned_mat3 simd version (actually slower than ssid on my computer even it has 30% less instruction ?)
This commit is contained in:
Laurent Caumont
2023-12-22 17:24:37 +01:00
committed by Christophe
parent 88a6ed6ee1
commit 7f2a5b89b3
35 changed files with 3296 additions and 1544 deletions

View File

@@ -3,7 +3,7 @@
#if GLM_CONFIG_ANONYMOUS_STRUCT == GLM_ENABLE
struct vec2;
struct _swizzle
struct swizzleStruct
{
char _buffer[1];
};
@@ -27,7 +27,7 @@ struct vec2
union
{
struct { float x, y; };
struct { _swizzle xx; };
struct { swizzleStruct xx; };
};
#if GLM_COMPILER & GLM_COMPILER_CLANG