From 63a4cad0255da156ea181f9a3e4093135ec8f970 Mon Sep 17 00:00:00 2001 From: Jonas Salling Date: Mon, 29 Jun 2026 00:30:56 +0200 Subject: [PATCH] Change loading method to loadUnaligned for words --- Sources/CharacterReader.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 }