From 6ece754edd7164d6629d0ea1aadc83a60ace5cb9 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Fri, 20 Feb 2026 18:05:54 -0800 Subject: [PATCH] max ops and max size for x64 inst --- src/base/base_core.c | 32 ++++++++++++++++++++++++++++++++ src/base/base_core.h | 2 ++ 2 files changed, 34 insertions(+) diff --git a/src/base/base_core.c b/src/base/base_core.c index 4dbcffcd..372fd6f3 100644 --- a/src/base/base_core.c +++ b/src/base/base_core.c @@ -459,6 +459,38 @@ byte_size_from_arch(Arch arch) return bit_size_from_arch(arch) / 8; } +internal U64 +max_ops_per_instruction_from_arch(Arch arch) +{ + U64 max_ops = 0; + switch (arch) + { + case Arch_Null: break; + case Arch_x64: max_ops = 1; break; + case Arch_x86: + case Arch_arm32: + case Arch_arm64: NotImplemented; break; + default: InvalidPath; + } + return max_ops; +} + +internal U64 +min_instruction_size_from_arch(Arch arch) +{ + U64 min_instruction_size = 0; + switch(arch) + { + case Arch_Null: break; + case Arch_x64: min_instruction_size = 1; break; + case Arch_x86: + case Arch_arm32: + case Arch_arm64: NotImplemented; break; + default: InvalidPath; + } + return min_instruction_size; +} + internal U64 max_instruction_size_from_arch(Arch arch) { diff --git a/src/base/base_core.h b/src/base/base_core.h index 2c43fcb7..cace62da 100644 --- a/src/base/base_core.h +++ b/src/base/base_core.h @@ -1035,6 +1035,8 @@ internal B32 txt_rng_contains(TxtRng r, TxtPt pt); internal U64 bit_size_from_arch(Arch arch); internal U64 byte_size_from_arch(Arch arch); +internal U64 max_ops_per_instruction_from_arch(Arch arch); +internal U64 min_instruction_size_from_arch(Arch arch); internal U64 max_instruction_size_from_arch(Arch arch); ////////////////////////////////