diff --git a/Sources/CharacterReader.swift b/Sources/CharacterReader.swift index 58f20c5..1ee570c 100644 --- a/Sources/CharacterReader.swift +++ b/Sources/CharacterReader.swift @@ -1094,7 +1094,7 @@ public final class CharacterReader { } let endWord = end &- 8 while i <= endWord { - let word = UnsafeRawPointer(basePtr.advanced(by: i)).load(as: UInt64.self) + let word = UnsafeRawPointer(basePtr.advanced(by: i)).loadUnaligned(as: UInt64.self) var hit = hasByte(word, aWord) if !hit && a != b { hit = hasByte(word, bWord) @@ -1156,7 +1156,7 @@ public final class CharacterReader { } let endWord = end &- 8 while i <= endWord { - let word = UnsafeRawPointer(basePtr.advanced(by: i)).load(as: UInt64.self) + let word = UnsafeRawPointer(basePtr.advanced(by: i)).loadUnaligned(as: UInt64.self) if hasByte(word, aWord) { break } i &+= 8 } @@ -1226,7 +1226,7 @@ public final class CharacterReader { } let endWord = end &- 8 while i <= endWord { - let word = UnsafeRawPointer(basePtr.advanced(by: i)).load(as: UInt64.self) + let word = UnsafeRawPointer(basePtr.advanced(by: i)).loadUnaligned(as: UInt64.self) var hit = hasByte(word, aWord) if !hit && a != b { hit = hasByte(word, bWord) @@ -1323,7 +1323,7 @@ public final class CharacterReader { } let endWord = end &- 8 while i <= endWord { - let word = UnsafeRawPointer(basePtr.advanced(by: i)).load(as: UInt64.self) + let word = UnsafeRawPointer(basePtr.advanced(by: i)).loadUnaligned(as: UInt64.self) var hit = hasByte(word, aWord) if !hit && a != b { hit = hasByte(word, bWord) @@ -1456,7 +1456,7 @@ public final class CharacterReader { } let endWord = end &- 8 while i <= endWord { - let word = UnsafeRawPointer(basePtr.advanced(by: i)).load(as: UInt64.self) + let word = UnsafeRawPointer(basePtr.advanced(by: i)).loadUnaligned(as: UInt64.self) if hasByte(word, aWord) || hasByte(word, bWord) || hasByte(word, cWord) { break } i &+= 8 }