diff options
author | lloyd <[email protected]> | 2009-10-28 17:58:31 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2009-10-28 17:58:31 +0000 |
commit | f5d4cf7509011669c25746e3b4c681b5ebfede79 (patch) | |
tree | e0e25d3e01afaa9ef55eac544685e13c559ee473 /src | |
parent | cf41f3879a81691df613d9cde4dc2e9f14465ac5 (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.h | 5 |
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) |