|
@@ -238,65 +238,6 @@ memory_equal :: proc "contextless" (x, y: rawptr, n: int) -> bool {
|
|
|
}
|
|
|
}
|
|
|
return true
|
|
|
-
|
|
|
-/*
|
|
|
-
|
|
|
- when size_of(uint) == 8 {
|
|
|
- if word_length := length >> 3; word_length != 0 {
|
|
|
- for _ in 0..<word_length {
|
|
|
- if intrinsics.unaligned_load((^u64)(a)) != intrinsics.unaligned_load((^u64)(b)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- a = a[size_of(u64):]
|
|
|
- b = b[size_of(u64):]
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if length & 4 != 0 {
|
|
|
- if intrinsics.unaligned_load((^u32)(a)) != intrinsics.unaligned_load((^u32)(b)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- a = a[size_of(u32):]
|
|
|
- b = b[size_of(u32):]
|
|
|
- }
|
|
|
-
|
|
|
- if length & 2 != 0 {
|
|
|
- if intrinsics.unaligned_load((^u16)(a)) != intrinsics.unaligned_load((^u16)(b)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- a = a[size_of(u16):]
|
|
|
- b = b[size_of(u16):]
|
|
|
- }
|
|
|
-
|
|
|
- if length & 1 != 0 && a[0] != b[0] {
|
|
|
- return false
|
|
|
- }
|
|
|
- return true
|
|
|
- } else {
|
|
|
- if word_length := length >> 2; word_length != 0 {
|
|
|
- for _ in 0..<word_length {
|
|
|
- if intrinsics.unaligned_load((^u32)(a)) != intrinsics.unaligned_load((^u32)(b)) {
|
|
|
- return false
|
|
|
- }
|
|
|
- a = a[size_of(u32):]
|
|
|
- b = b[size_of(u32):]
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- length &= 3
|
|
|
-
|
|
|
- if length != 0 {
|
|
|
- for i in 0..<length {
|
|
|
- if a[i] != b[i] {
|
|
|
- return false
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return true
|
|
|
- }
|
|
|
-*/
|
|
|
-
|
|
|
}
|
|
|
memory_compare :: proc "contextless" (a, b: rawptr, n: int) -> int #no_bounds_check {
|
|
|
switch {
|