diff options
| author | Nguyễn Gia Phong <cnx@loang.net> | 2025-10-17 07:41:10 +0900 |
|---|---|---|
| committer | Nguyễn Gia Phong <cnx@loang.net> | 2025-10-17 07:41:10 +0900 |
| commit | 3a2e8fd0b06ebb738d9d4677659249e05b09e7cb (patch) | |
| tree | 46e7ab24161958d60fb980dd1e28096c0fb28dd6 /Variables.zig | |
| parent | 663ea12374e958fa83ac7e1b439dd6ab22bb59ed (diff) | |
| download | taosc-3a2e8fd0b06ebb738d9d4677659249e05b09e7cb.tar.gz | |
Give up fancy things 0.0.3.dev1
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 { |
