aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-10-28 17:58:31 +0000
committerlloyd <[email protected]>2009-10-28 17:58:31 +0000
commitf5d4cf7509011669c25746e3b4c681b5ebfede79 (patch)
treee0e25d3e01afaa9ef55eac544685e13c559ee473 /src
parentcf41f3879a81691df613d9cde4dc2e9f14465ac5 (diff)
Define SSE rotate_right in terms of rotate left, and load_be in terms
of load_le + bswap
Diffstat (limited to 'src')
-rw-r--r--src/utils/simd_32/simd_sse.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/utils/simd_32/simd_sse.h b/src/utils/simd_32/simd_sse.h
index d2ef4b211..d32ffdc2e 100644
--- a/src/utils/simd_32/simd_sse.h
+++ b/src/utils/simd_32/simd_sse.h
@@ -35,7 +35,7 @@ class SIMD_SSE2
static SIMD_SSE2 load_be(const void* in)
{
- return SIMD_SSE2(_mm_loadu_si128((const __m128i*)in)).bswap();
+ return load_le(in).bswap();
}
void store_le(byte out[]) const
@@ -56,8 +56,7 @@ class SIMD_SSE2
void rotate_right(u32bit rot)
{
- reg = _mm_or_si128(_mm_srli_epi32(reg, rot),
- _mm_slli_epi32(reg, 32-rot));
+ rotate_left(32 - rot);
}
void operator+=(const SIMD_SSE2& other)