diff options
author | Chris Robinson <[email protected]> | 2018-11-17 17:32:32 -0800 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2018-11-17 17:35:52 -0800 |
commit | 2d4ff77410d4fe647950c4e06dbe1c5536235796 (patch) | |
tree | 94a6ac1114d2c35222c752c400778192e9254d18 /Alc/mixer/mixer_sse.c | |
parent | e5442db803b5ecac2bbbe45073e01de32431c0a5 (diff) |
Remove ASSUME_ALIGNED
It's become a liability with C++ since it returns void* instead of the input
pointer type, and it doesn't seem to help optimizations anyway (auto-
vectorization still produces unaligned loads and stores).
Diffstat (limited to 'Alc/mixer/mixer_sse.c')
-rw-r--r-- | Alc/mixer/mixer_sse.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Alc/mixer/mixer_sse.c b/Alc/mixer/mixer_sse.c index 34055001..d9ad2ed3 100644 --- a/Alc/mixer/mixer_sse.c +++ b/Alc/mixer/mixer_sse.c @@ -37,10 +37,10 @@ const ALfloat *Resample_bsinc_SSE(const InterpState *state, const ALfloat *RESTR #undef FRAC_PHASE_BITDIFF offset = m*pi*4; - fil = (const __m128*)ASSUME_ALIGNED(filter + offset, 16); offset += m; - scd = (const __m128*)ASSUME_ALIGNED(filter + offset, 16); offset += m; - phd = (const __m128*)ASSUME_ALIGNED(filter + offset, 16); offset += m; - spd = (const __m128*)ASSUME_ALIGNED(filter + offset, 16); + fil = (const __m128*)(filter + offset); offset += m; + scd = (const __m128*)(filter + offset); offset += m; + phd = (const __m128*)(filter + offset); offset += m; + spd = (const __m128*)(filter + offset); // Apply the scale and phase interpolated filter. r4 = _mm_setzero_ps(); @@ -85,8 +85,6 @@ static inline void ApplyCoeffs(ALsizei Offset, ALfloat (*RESTRICT Values)[2], __m128 coeffs; ALsizei i; - Values = ASSUME_ALIGNED(Values, 16); - Coeffs = ASSUME_ALIGNED(Coeffs, 16); if((Offset&1)) { const ALsizei o0 = Offset&HRIR_MASK; |