about summary refs log tree commit diff
path: root/Variables.zig
diff options
context:
space:
mode:
Diffstat (limited to 'Variables.zig')
-rw-r--r--Variables.zig21
1 files changed, 7 insertions, 14 deletions
diff --git a/Variables.zig b/Variables.zig
index c4c40de..99f7061 100644
--- a/Variables.zig
+++ b/Variables.zig
@@ -24,14 +24,10 @@ const cwd = std.fs.cwd;
 const divCeil = std.math.divCeil;
 const fields = std.meta.fields;
 const std = @import("std");
-const suggestVectorLength = std.simd.suggestVectorLength;
 
-pub const RegisterEnum = enum(u5) { // TODO: u4
-    rflags, // TODO: remove
-    r15, r14, r13, r12, r11, r10, r9, r8,
-    rdi, rsi, rbp, rbx, rdx, rcx, rax,
-    rsp, // TODO: remove
-    rip, // TODO: remove
+pub const RegisterEnum = enum(u4) {
+    rax, rbx, rcx, rdx, rsi, rdi, rsp, rbp,
+    r8, r9, r10, r11, r12, r13, r14, r15,
 
     pub fn format(tag: RegisterEnum, writer: *Writer) Writer.Error!void {
         try writer.print("{s}", .{ @tagName(tag) });
@@ -41,17 +37,14 @@ const Register = i64;
 const Registers = [fields(RegisterEnum).len]Register;
 
 pub const signed_integers = .{ i64, i32, i16, i8 };
-const len = suggestVectorLength(Register).?;
-const alignment = @alignOf(@Vector(len, Register));
+const alignment = @alignOf(Register);
 comptime {
-    for (signed_integers) |Int| {
-        assert(alignment == @alignOf(@Vector(len, Int)));
-        assert(alignment % @sizeOf(Int) == 0);
-    }
+    for (signed_integers) |Int|
+        assert(alignment >= @alignOf(Int));
 }
 
 fn alignedSize(T: type, count: usize) !usize {
-    return try divCeil(usize, @sizeOf(T) * count, alignment) * alignment;
+    return try divCeil(usize, @sizeOf(T) * count, @alignOf(T)) * @alignOf(T);
 }
 
 fn packedSize(T: type, container_size: usize, count: usize) !usize {