Merge pull request #1404 from AtariDreams/or
Prefer OR over ADD for splicing numbers from byte-addressed memory
GitOrigin-RevId: 29cd102e09f1da4b672f5b87f9ff76a1deab69e8
Change-Id: I0cdc0b202cad91f56aef60f5b3660ec64abfa03a
diff --git a/lib/lz4.c b/lib/lz4.c
index aea8040..c6584d3 100644
--- a/lib/lz4.c
+++ b/lib/lz4.c
@@ -433,7 +433,7 @@
return LZ4_read16(memPtr);
} else {
const BYTE* p = (const BYTE*)memPtr;
- return (U16)((U16)p[0] + (p[1]<<8));
+ return (U16)((U16)p[0] | (p[1]<<8));
}
}
@@ -444,7 +444,7 @@
return LZ4_read32(memPtr);
} else {
const BYTE* p = (const BYTE*)memPtr;
- return (U32)p[0] + (p[1]<<8) + (p[2]<<16) + (p[3]<<24);
+ return (U32)p[0] | (p[1]<<8) | (p[2]<<16) | (p[3]<<24);
}
}
#endif
diff --git a/lib/lz4frame.c b/lib/lz4frame.c
index 4eb9713..aae5b35 100644
--- a/lib/lz4frame.c
+++ b/lib/lz4frame.c
@@ -187,9 +187,9 @@
{
const BYTE* const srcPtr = (const BYTE*)src;
U32 value32 = srcPtr[0];
- value32 += ((U32)srcPtr[1])<< 8;
- value32 += ((U32)srcPtr[2])<<16;
- value32 += ((U32)srcPtr[3])<<24;
+ value32 |= ((U32)srcPtr[1])<< 8;
+ value32 |= ((U32)srcPtr[2])<<16;
+ value32 |= ((U32)srcPtr[3])<<24;
return value32;
}
@@ -206,13 +206,13 @@
{
const BYTE* const srcPtr = (const BYTE*)src;
U64 value64 = srcPtr[0];
- value64 += ((U64)srcPtr[1]<<8);
- value64 += ((U64)srcPtr[2]<<16);
- value64 += ((U64)srcPtr[3]<<24);
- value64 += ((U64)srcPtr[4]<<32);
- value64 += ((U64)srcPtr[5]<<40);
- value64 += ((U64)srcPtr[6]<<48);
- value64 += ((U64)srcPtr[7]<<56);
+ value64 |= ((U64)srcPtr[1]<<8);
+ value64 |= ((U64)srcPtr[2]<<16);
+ value64 |= ((U64)srcPtr[3]<<24);
+ value64 |= ((U64)srcPtr[4]<<32);
+ value64 |= ((U64)srcPtr[5]<<40);
+ value64 |= ((U64)srcPtr[6]<<48);
+ value64 |= ((U64)srcPtr[7]<<56);
return value64;
}
diff --git a/lib/lz4hc.c b/lib/lz4hc.c
index a5bdbb5..4eb81dc 100644
--- a/lib/lz4hc.c
+++ b/lib/lz4hc.c
@@ -126,8 +126,8 @@
} else {
const BYTE* p = (const BYTE*)memPtr;
/* note: relies on the compiler to simplify this expression */
- return (U64)p[0] + ((U64)p[1]<<8) + ((U64)p[2]<<16) + ((U64)p[3]<<24)
- + ((U64)p[4]<<32) + ((U64)p[5]<<40) + ((U64)p[6]<<48) + ((U64)p[7]<<56);
+ return (U64)p[0] | ((U64)p[1]<<8) | ((U64)p[2]<<16) | ((U64)p[3]<<24)
+ | ((U64)p[4]<<32) | ((U64)p[5]<<40) | ((U64)p[6]<<48) | ((U64)p[7]<<56);
}
}