Commit 515c97065a

Alex Rønne Petersen <alex@alexrp.com>
2025-01-18 12:45:27
Revert "work around llvm failing to lower memcpy"
This reverts commit acf70439551fc3f49b2d292ff93ee519901cdf42. Fixed as of ec768b7fa2f9c7dea6b92651bef59a7eea3299f2.
1 parent 9758371
Changed files (1)
lib
compiler_rt
lib/compiler_rt/memcpy.zig
@@ -9,36 +9,12 @@ comptime {
     }
 }
 
-const llvm_cannot_lower = switch (builtin.cpu.arch) {
-    .arm, .armeb, .thumb, .thumbeb => builtin.zig_backend == .stage2_llvm,
-    else => false,
-};
-
 fn memcpy(noalias opt_dest: ?[*]u8, noalias opt_src: ?[*]const u8, len: usize) callconv(.C) ?[*]u8 {
-    if (llvm_cannot_lower) {
-        for (0..len) |i| opt_dest.?[i] = opt_src.?[i];
-        return opt_dest;
-    } else {
-        return memmove(opt_dest, opt_src, len);
-    }
+    return memmove(opt_dest, opt_src, len);
 }
 
-/// A port of https://github.com/facebook/folly/blob/1c8bc50e88804e2a7361a57cd9b551dd10f6c5fd/folly/memcpy.S
 fn memmove(opt_dest: ?[*]u8, opt_src: ?[*]const u8, len: usize) callconv(.C) ?[*]u8 {
-    if (llvm_cannot_lower) {
-        if (@intFromPtr(opt_dest) < @intFromPtr(opt_src)) {
-            for (0..len) |i| opt_dest.?[i] = opt_src.?[i];
-            return opt_dest;
-        } else {
-            var index = len;
-            while (index != 0) {
-                index -= 1;
-                opt_dest.?[index] = opt_src.?[index];
-            }
-            return opt_dest;
-        }
-    }
-
+    // a port of https://github.com/facebook/folly/blob/1c8bc50e88804e2a7361a57cd9b551dd10f6c5fd/folly/memcpy.S
     if (len == 0) {
         @branchHint(.unlikely);
         return opt_dest;