diff options
Diffstat (limited to 'Variables.zig')
| -rw-r--r-- | Variables.zig | 21 |
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 { |
