diff options
| author | Guillaume Chatelet <gchatelet@google.com> | 2023-11-06 14:59:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-06 14:59:26 +0100 |
| commit | bdac9720712aedae04ba96c53775d59e80aae69b (patch) | |
| tree | 8d4b2691fe32eaf5d7d0ea8c6b593c082d175dfb /libc/src/string/memory_utils/generic | |
| parent | 43e5f77500acd64fb2738ef2832691ad488048a8 (diff) | |
Fix load64_aligned (#71391)
Fix #64758 `load64_aligned` was missing a case for `alignment == 6`.
Diffstat (limited to 'libc/src/string/memory_utils/generic')
| -rw-r--r-- | libc/src/string/memory_utils/generic/aligned_access.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libc/src/string/memory_utils/generic/aligned_access.h b/libc/src/string/memory_utils/generic/aligned_access.h index 4238167e54d6..65bc63f6cbe5 100644 --- a/libc/src/string/memory_utils/generic/aligned_access.h +++ b/libc/src/string/memory_utils/generic/aligned_access.h @@ -28,7 +28,7 @@ namespace LIBC_NAMESPACE { return load32_aligned<uint32_t>(ptr, offset); else if (alignment == 2) return load32_aligned<uint16_t, uint16_t>(ptr, offset); - else + else // 1, 3 return load32_aligned<uint8_t, uint16_t, uint8_t>(ptr, offset); } @@ -38,9 +38,11 @@ namespace LIBC_NAMESPACE { return load64_aligned<uint64_t>(ptr, offset); else if (alignment == 4) return load64_aligned<uint32_t, uint32_t>(ptr, offset); + else if (alignment == 6) + return load64_aligned<uint16_t, uint32_t, uint16_t>(ptr, offset); else if (alignment == 2) return load64_aligned<uint16_t, uint16_t, uint16_t, uint16_t>(ptr, offset); - else + else // 1, 3, 5, 7 return load64_aligned<uint8_t, uint16_t, uint16_t, uint16_t, uint8_t>( ptr, offset); } |
