Commit df1cd62720

dweiller <4678790+dweiller@users.noreply.github.com>
2025-01-25 16:31:32
compiler-rt: ensure memcpy Element has no unused bytes
1 parent 92b20e4
Changed files (1)
lib
compiler_rt
lib/compiler_rt/memcpy.zig
@@ -18,16 +18,18 @@ comptime {
     }
 }
 
-const Element = if (std.simd.suggestVectorLength(u8)) |vec_size|
-    @Type(.{ .vector = .{
-        .child = u8,
-        .len = vec_size,
-    } })
-else
-    usize;
+const Element = Element: {
+    if (std.simd.suggestVectorLength(u8)) |vec_size| {
+        const Vec = @Vector(vec_size, u8);
+
+        if (@sizeOf(Vec) == vec_size and std.math.isPowerOfTwo(vec_size)) {
+            break :Element Vec;
+        }
+    }
+    break :Element usize;
+};
 
 comptime {
-    assert(@sizeOf(Element) >= @alignOf(Element));
     assert(std.math.isPowerOfTwo(@sizeOf(Element)));
 }