Commit 0ee24c00ceaea805c0c7222a13733e4030331ac5

Jeff Garzik 2010-12-18T16:29:07

sha256_4way: work around gcc 4.5.x bug by always inlining ROTR and SHR

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
diff --git a/sha256_4way.c b/sha256_4way.c
index 5ffe1c8..b196e8d 100644
--- a/sha256_4way.c
+++ b/sha256_4way.c
@@ -47,11 +47,11 @@ static inline __m128i Maj(const __m128i b, const __m128i c, const __m128i d) {
     return (b & c) ^ (b & d) ^ (c & d);
 }
 
-static inline __m128i ROTR(__m128i x, const int n) {
+static __attribute__((always_inline)) __m128i ROTR(__m128i x, const int n) {
     return _mm_srli_epi32(x, n) | _mm_slli_epi32(x, 32 - n);
 }
 
-static inline __m128i SHR(__m128i x, const int n) {
+static __attribute__((always_inline)) __m128i SHR(__m128i x, const int n) {
     return _mm_srli_epi32(x, n);
 }