aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/mixer/mixer_sse.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2018-11-17 17:32:32 -0800
committerChris Robinson <[email protected]>2018-11-17 17:35:52 -0800
commit2d4ff77410d4fe647950c4e06dbe1c5536235796 (patch)
tree94a6ac1114d2c35222c752c400778192e9254d18 /Alc/mixer/mixer_sse.c
parente5442db803b5ecac2bbbe45073e01de32431c0a5 (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.c10
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;