fix bad rdi opcode tables!

This commit is contained in:
Ryan Fleury
2026-06-12 15:30:30 -07:00
parent 083a843bf7
commit 58c17c2bc3
3 changed files with 10 additions and 4 deletions
+3 -1
View File
@@ -58,7 +58,7 @@ sizeof(RDI_NameMapNode),
sizeof(RDI_U8),
};
RDI_U16 rdi_eval_op_ctrlbits_table[52] =
RDI_U16 rdi_eval_op_ctrlbits_table[54] =
{
RDI_EVAL_CTRLBITS(0, 0, 0),
RDI_EVAL_CTRLBITS(0, 0, 0),
@@ -66,6 +66,7 @@ RDI_EVAL_CTRLBITS(2, 1, 0),
RDI_EVAL_CTRLBITS(2, 0, 0),
RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(0, 0, 1),
RDI_EVAL_CTRLBITS(8, 0, 1),
RDI_EVAL_CTRLBITS(4, 0, 1),
RDI_EVAL_CTRLBITS(4, 0, 1),
@@ -104,6 +105,7 @@ RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(2, 1, 1),
RDI_EVAL_CTRLBITS(1, 0, 1),
RDI_EVAL_CTRLBITS(0, 1, 0),
RDI_EVAL_CTRLBITS(0, 0, 1),
RDI_EVAL_CTRLBITS(1, 2, 1),
RDI_EVAL_CTRLBITS(1, 1, 1),
RDI_EVAL_CTRLBITS(4, 0, 0),
+5 -1
View File
@@ -423,6 +423,7 @@ RDI_EvalOp_Cond = 2,
RDI_EvalOp_Skip = 3,
RDI_EvalOp_MemRead = 4,
RDI_EvalOp_RegRead = 5,
RDI_EvalOp_Unused0 = 6,
RDI_EvalOp_FrameOff = 7,
RDI_EvalOp_ModuleOff = 8,
RDI_EvalOp_TLSOff = 9,
@@ -461,6 +462,7 @@ RDI_EvalOp_TruncSigned = 41,
RDI_EvalOp_Convert = 42,
RDI_EvalOp_Pick = 43,
RDI_EvalOp_Pop = 44,
RDI_EvalOp_Unused1 = 45,
RDI_EvalOp_ValueRead = 46,
RDI_EvalOp_ByteSwap = 47,
RDI_EvalOp_CallSiteValue = 48,
@@ -937,6 +939,7 @@ X(Cond)\
X(Skip)\
X(MemRead)\
X(RegRead)\
X(Unused0)\
X(FrameOff)\
X(ModuleOff)\
X(TLSOff)\
@@ -975,6 +978,7 @@ X(TruncSigned)\
X(Convert)\
X(Pick)\
X(Pop)\
X(Unused1)\
X(ValueRead)\
X(ByteSwap)\
X(CallSiteValue)\
@@ -1476,6 +1480,6 @@ RDI_PROC RDI_S32 rdi_eval_op_typegroup_are_compatible(RDI_EvalOp op, RDI_EvalTyp
RDI_PROC RDI_U8 *rdi_explanation_string_from_eval_conversion_kind(RDI_EvalConversionKind kind, RDI_U64 *size_out);
extern RDI_U16 rdi_section_element_size_table[44];
extern RDI_U16 rdi_eval_op_ctrlbits_table[52];
extern RDI_U16 rdi_eval_op_ctrlbits_table[54];
#endif // RDI_H
+2 -2
View File
@@ -1202,7 +1202,7 @@ RDI_EvalOpTable:
{Skip 3 2 0 0}
{MemRead 4 1 1 1}
{RegRead 5 4 0 1}
// NOTE(rjf): 6 is free
{Unused0 6 0 0 1}
{FrameOff 7 8 0 1}
{ModuleOff 8 4 0 1}
{TLSOff 9 4 0 1}
@@ -1241,7 +1241,7 @@ RDI_EvalOpTable:
{Convert 42 2 1 1}
{Pick 43 1 0 1}
{Pop 44 0 1 0}
// NOTE(rjf): 45 is free
{Unused1 45 0 0 1}
{ValueRead 46 1 2 1}
{ByteSwap 47 1 1 1}
{CallSiteValue 48 4 0 0}