@@ -1015,11 +1015,14 @@ fn estimateInstructionLength(prefix: Prefix, encoding: Encoding, ops: []const Op
1015
1015
1016
1016
const mnemonic_to_encodings_map = init : {
1017
1017
@setEvalBranchQuota (5_800 );
1018
+ const ModrmExt = u3 ;
1019
+ const Entry = struct { Mnemonic , OpEn , []const Op , []const u8 , ModrmExt , Mode , Feature };
1020
+ const encodings : []const Entry = @import ("encodings.zon" );
1021
+
1018
1022
const mnemonic_count = @typeInfo (Mnemonic ).@"enum" .fields .len ;
1019
1023
var mnemonic_map : [mnemonic_count ][]Data = @splat (&.{});
1020
- const encodings = @import ("encodings.zig" );
1021
- for (encodings .table ) | entry | mnemonic_map [@intFromEnum (entry [0 ])].len += 1 ;
1022
- var data_storage : [encodings .table .len ]Data = undefined ;
1024
+ for (encodings ) | entry | mnemonic_map [@intFromEnum (entry [0 ])].len += 1 ;
1025
+ var data_storage : [encodings .len ]Data = undefined ;
1023
1026
var storage_i : usize = 0 ;
1024
1027
for (& mnemonic_map ) | * value | {
1025
1028
value .ptr = data_storage [storage_i .. ].ptr ;
@@ -1028,7 +1031,7 @@ const mnemonic_to_encodings_map = init: {
1028
1031
var mnemonic_i : [mnemonic_count ]usize = @splat (0 );
1029
1032
const ops_len = @typeInfo (std .meta .FieldType (Data , .ops )).array .len ;
1030
1033
const opc_len = @typeInfo (std .meta .FieldType (Data , .opc )).array .len ;
1031
- for (encodings . table ) | entry | {
1034
+ for (encodings ) | entry | {
1032
1035
const i = & mnemonic_i [@intFromEnum (entry [0 ])];
1033
1036
mnemonic_map [@intFromEnum (entry [0 ])][i .* ] = .{
1034
1037
.op_en = entry [1 ],
0 commit comments