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);
     }
 }