From 828ac637b2703bfd3e40316a28e1f6b8315c6ed1 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Tue, 3 Jan 2023 00:29:31 -0500 Subject: MultiArrayList: delete pessimizing vector usage By factoring out the comptime parts of this computation, vectors are no longer useful in this function. --- lib/std/multi_array_list.zig | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'lib/std/multi_array_list.zig') diff --git a/lib/std/multi_array_list.zig b/lib/std/multi_array_list.zig index afdd6a5a8d..56b36aaa81 100644 --- a/lib/std/multi_array_list.zig +++ b/lib/std/multi_array_list.zig @@ -433,15 +433,9 @@ pub fn MultiArrayList(comptime S: type) type { } fn capacityInBytes(capacity: usize) usize { - if (builtin.zig_backend == .stage2_c) { - var bytes: usize = 0; - for (sizes.bytes) |size| bytes += size * capacity; - return bytes; - } else { - const sizes_vector: @Vector(sizes.bytes.len, usize) = sizes.bytes; - const capacity_vector = @splat(sizes.bytes.len, capacity); - return @reduce(.Add, capacity_vector * sizes_vector); - } + comptime var elem_bytes: usize = 0; + inline for (sizes.bytes) |size| elem_bytes += size; + return elem_bytes * capacity; } fn allocatedBytes(self: Self) []align(@alignOf(S)) u8 { -- cgit v1.2.3